On Thu, 21 Sep 2023 14:45:06 +0100 Conor Dooley <conor@xxxxxxxxxx> wrote: > Hey, > > On Wed, Sep 20, 2023 at 11:20:15AM -0400, Hugo Villeneuve wrote: > > From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx> > > > > Convert binding from text format to YAML. > > > > Additions to original text binding: > > - add rs485 reference. > > > > Signed-off-by: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx> > > --- > > .../bindings/serial/nxp,sc16is7xx.txt | 118 ---------------- > > .../bindings/serial/nxp,sc16is7xx.yaml | 126 ++++++++++++++++++ > > 2 files changed, 126 insertions(+), 118 deletions(-) > > delete mode 100644 Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt > > create mode 100644 Documentation/devicetree/bindings/serial/nxp,sc16is7xx.yaml > > > diff --git a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.yaml b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.yaml > > new file mode 100644 > > index 000000000000..508639e09e06 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.yaml > > @@ -0,0 +1,126 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/serial/nxp,sc16is7xx.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: NXP SC16IS7xx advanced Universal Asynchronous Receiver-Transmitter (UART) > > nit, but my OCD was triggered - capitalise the a in "advanced"? Hi Conor, no problem, I like that :) Will fix it for V2. > > + > > +maintainers: > > + - Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx> > > + > > +properties: > > + compatible: > > + enum: > > + - nxp,sc16is740 > > + - nxp,sc16is741 > > + - nxp,sc16is750 > > + - nxp,sc16is752 > > + - nxp,sc16is760 > > + - nxp,sc16is762 > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + maxItems: 1 > > + > > + clocks: > > + maxItems: 1 > > + description: Reference to the IC source clock. > > You could probably drop this, if it only has one clock it's a bit > redundant. I don't understand, because there is already a 'clocks' property in the examples (and also in my real board DTS file) and if I remove it here it will cause a warning: serial@51: Unevaluated properties are not allowed ('clocks' was unexpected) > > + clock-frequency: > > + description: | > > This | should not be needed here, there's no formatting to preserve. Done. > > > + When there is no clock provider visible to the platform, this > > + is the source crystal or external clock frequency for the IC in Hz. > > + $ref: /schemas/types.yaml#/definitions/uint32 > > + minimum: 1 > > + maximum: 80000000 > > + > > + gpio-controller: > > + description: Marks the device node as a GPIO controller. > > + type: boolean > > + > > + "#gpio-cells": > > + const: 2 > > + > > + gpio-line-names: > > + minItems: 1 > > + maxItems: 8 > > + > > + nxp,irda-mode-ports: > > + description: | > > + An array that lists the indices of the port that should operate in IrDA > > + mode: > > + 0: port A > > + 1: port B > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + minItems: 1 > > + maxItems: 2 > > + items: > > + minimum: 0 > > + maximum: 1 > > + > > + nxp,modem-control-line-ports: > > + description: | > > + An array that lists the indices of the port that should have shared GPIO > > + lines configured as modem control lines: > > + 0: port A > > + 1: port B > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > + minItems: 1 > > + maxItems: 2 > > + items: > > + minimum: 0 > > + maximum: 1 > > + > > +allOf: > > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > > + - $ref: /schemas/serial/serial.yaml# > > + - $ref: /schemas/serial/rs485.yaml# > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + > > +oneOf: > > + - required: > > + - clocks > > + - required: > > + - clock-frequency > > + > > +unevaluatedProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/interrupt-controller/irq.h> > > + serial0: serial@51 { > > These labels are not used and should be removed. Done. Thank you, Hugo. > Otherwise, conversion looks aight to me. > > Thanks, > Conor. > > > + compatible = "nxp,sc16is750"; > > + reg = <0x51>; > > + clocks = <&clk20m>; > > + interrupt-parent = <&gpio3>; > > + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; > > + gpio-controller; > > + #gpio-cells = <2>; > > + }; > > + > > + serial1: serial@53 { > > + compatible = "nxp,sc16is752"; > > + reg = <0x53>; > > + clocks = <&clk20m>; > > + interrupt-parent = <&gpio3>; > > + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; > > + nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */ > > + gpio-controller; /* Port 0 as GPIOs */ > > + #gpio-cells = <2>; > > + }; > > + > > + serial2: serial@54 { > > + compatible = "nxp,sc16is752"; > > + reg = <0x54>; > > + clocks = <&clk20m>; > > + interrupt-parent = <&gpio3>; > > + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; > > + nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */ > > + }; > > -- > > 2.30.2 > >