Add bindings for the NI 16550 UART.
Signed-off-by: Brenda Streiff <brenda.streiff@ni.com>
Cc: Gratian Crisan <gratian.crisan@ni.com>
Cc: Jason Smith <jason.smith@ni.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
.../bindings/serial/ni,ni16550.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/serial/ni,ni16550.yaml
diff --git a/Documentation/devicetree/bindings/serial/ni,ni16550.yaml b/Documentation/devicetree/bindings/serial/ni,ni16550.yaml
new file mode 100644
index 000000000000..72ab125dd892
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/ni,ni16550.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/serial/ni,ni16550.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NI 16550 asynchronous serial interface (UART)
+
+maintainers:
+ - Brenda Streiff <brenda.streiff@ni.com>
+
+allOf:
+ - $ref: serial.yaml#
+
+properties:
+ compatible:
+ const: ni,ni16550
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ ni,serial-port-mode:
+ description: Indicates whether this is an RS-232 or RS-485 serial port.
+ $ref: /schemas/types.yaml#/definitions/string
+ enum: [ RS-232, RS-485 ]
+ default: RS-485
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ serial@80000000 {
+ compatible = "ni,ni16550";
+ reg = <0x80000000 0x8>;
+ interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk_uart>;
+ ni,serial-port-mode = "RS-232";
+ };
+...
--
2.30.2
On Mon, Oct 23, 2023 at 04:04:56PM -0500, Brenda Streiff wrote: > Add bindings for the NI 16550 UART. > > Signed-off-by: Brenda Streiff <brenda.streiff@ni.com> > Cc: Gratian Crisan <gratian.crisan@ni.com> > Cc: Jason Smith <jason.smith@ni.com> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > .../bindings/serial/ni,ni16550.yaml | 51 +++++++++++++++++++ > 1 file changed, 51 insertions(+) > create mode 100644 Documentation/devicetree/bindings/serial/ni,ni16550.yaml > > diff --git a/Documentation/devicetree/bindings/serial/ni,ni16550.yaml b/Documentation/devicetree/bindings/serial/ni,ni16550.yaml > new file mode 100644 > index 000000000000..72ab125dd892 > --- /dev/null > +++ b/Documentation/devicetree/bindings/serial/ni,ni16550.yaml > @@ -0,0 +1,51 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/serial/ni,ni16550.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NI 16550 asynchronous serial interface (UART) Is this significantly different than all the other 8250 compatible UARTs in 8250.yaml? > + > +maintainers: > + - Brenda Streiff <brenda.streiff@ni.com> > + > +allOf: > + - $ref: serial.yaml# > + > +properties: > + compatible: > + const: ni,ni16550 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + ni,serial-port-mode: > + description: Indicates whether this is an RS-232 or RS-485 serial port. > + $ref: /schemas/types.yaml#/definitions/string > + enum: [ RS-232, RS-485 ] > + default: RS-485 We already have 'linux,rs485-enabled-at-boot-time' which seems similar purpose. It also tells me this is not a fixed in hardware setting. If that property doesn't work for you, come up with something common and explain why. Or explain why this is completely unique to this UART. Rob
© 2016 - 2025 Red Hat, Inc.