Message ID | 20230329154235.615349-2-brenda.streiff@ni.com |
---|---|
State | New |
Headers | show |
Series | serial: Add driver for National Instruments UARTs | expand |
On 29/03/2023 17:42, 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> > --- > .../bindings/serial/ni,ni16550.yaml | 53 +++++++++++++++++++ > 1 file changed, 53 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..4ac1c96726f8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/serial/ni,ni16550.yaml > @@ -0,0 +1,53 @@ > +# 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: > + items: You have one item, so remove item. > + - enum: > + - ni,ni16550 As Rob pointed out - you did not test it at all. > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clock-frequency: true > + > + transceiver: Missing description, type and maybe vendor prefix if this is not a common property. Explain what's this. > + items: Not a list. > + - enum: > + - RS-232 > + - RS-485 > + > +required: > + - compatible > + - reg > + - interrupts > + - clock-frequency > + > +unevaluatedProperties: false > + > +examples: > + - | > + serial@80000000 { Broken indentation. Use 4 spaces for example indentation. > + compatible = "ni,ni16550", "ns16550a"; > + reg = <0x80000000 0x8>; > + interrupts = <0 30 4>; > + clock-frequency = <58824000>; > + transceiver = "RS-485"; > + }; > + > +... Best regards, Krzysztof
On 3/30/23 02:28, Krzysztof Kozlowski wrote >> + - enum: >> + - ni,ni16550 > > As Rob pointed out - you did not test it at all. > I did, with dt-schema 2023.1 and the 'make dt_binding_check' command as described in Documentation/devicetree/bindings/writing-schema.rst (with no DT_CHECKER_FLAGS, because I was unaware of it until Rob's post) Is this a documentation gap, or is the DT_CHECKER_FLAGS option slated to become the default for 'make dt_binding_check' in the future?
On 31/03/2023 19:59, Brenda Streiff wrote: > > > On 3/30/23 02:28, Krzysztof Kozlowski wrote >>> + - enum: >>> + - ni,ni16550 >> >> As Rob pointed out - you did not test it at all. >> > > I did, with dt-schema 2023.1 and the 'make dt_binding_check' command as > described in Documentation/devicetree/bindings/writing-schema.rst > (with no DT_CHECKER_FLAGS, because I was unaware of it until Rob's post) No need to use it... > > Is this a documentation gap, or is the DT_CHECKER_FLAGS option slated to > become the default for 'make dt_binding_check' in the future? You shouldn't need any flags. Regular testing shows errors: ni,ni16550.example.dtb: serial@80000000: compatible: 'oneOf' conditional failed, one must be fixed: ['ni,ni16550', 'ns16550a'] is too long ['ni,ni16550', 'ns16550a'] is too short Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/serial/ni,ni16550.yaml b/Documentation/devicetree/bindings/serial/ni,ni16550.yaml new file mode 100644 index 000000000000..4ac1c96726f8 --- /dev/null +++ b/Documentation/devicetree/bindings/serial/ni,ni16550.yaml @@ -0,0 +1,53 @@ +# 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: + items: + - enum: + - ni,ni16550 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clock-frequency: true + + transceiver: + items: + - enum: + - RS-232 + - RS-485 + +required: + - compatible + - reg + - interrupts + - clock-frequency + +unevaluatedProperties: false + +examples: + - | + serial@80000000 { + compatible = "ni,ni16550", "ns16550a"; + reg = <0x80000000 0x8>; + interrupts = <0 30 4>; + clock-frequency = <58824000>; + transceiver = "RS-485"; + }; + +...
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> --- .../bindings/serial/ni,ni16550.yaml | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Documentation/devicetree/bindings/serial/ni,ni16550.yaml