On Thu, Aug 1, 2019 at 7:56 AM Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote: > > Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> > --- > .../bindings/serial/amlogic,meson-uart.txt | 38 ---------- > .../bindings/serial/amlogic,meson-uart.yaml | 75 +++++++++++++++++++ > 2 files changed, 75 insertions(+), 38 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/serial/amlogic,meson-uart.txt > create mode 100644 Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml > > diff --git a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.txt b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.txt > deleted file mode 100644 > index c06c045126fc..000000000000 > --- a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.txt > +++ /dev/null > @@ -1,38 +0,0 @@ > -Amlogic Meson SoC UART Serial Interface > -======================================= > - > -The Amlogic Meson SoC UART Serial Interface is present on a large range > -of SoCs, and can be present either in the "Always-On" power domain or the > -"Everything-Else" power domain. > - > -The particularity of the "Always-On" Serial Interface is that the hardware > -is active since power-on and does not need any clock gating and is usable > -as very early serial console. > - > -Required properties: > -- compatible : compatible: value should be different for each SoC family as : > - - Meson6 : "amlogic,meson6-uart" > - - Meson8 : "amlogic,meson8-uart" > - - Meson8b : "amlogic,meson8b-uart" > - - GX (GXBB, GXL, GXM) : "amlogic,meson-gx-uart" > - eventually followed by : "amlogic,meson-ao-uart" if this UART interface > - is in the "Always-On" power domain. > -- reg : offset and length of the register set for the device. > -- interrupts : identifier to the device interrupt > -- clocks : a list of phandle + clock-specifier pairs, one for each > - entry in clock names. > -- clock-names : > - * "xtal" for external xtal clock identifier > - * "pclk" for the bus core clock, either the clk81 clock or the gate clock > - * "baud" for the source of the baudrate generator, can be either the xtal > - or the pclk. > - > -e.g. > -uart_A: serial@84c0 { > - compatible = "amlogic,meson-gx-uart"; > - reg = <0x0 0x84c0 0x0 0x14>; > - interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; > - /* Use xtal as baud rate clock source */ > - clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; > - clock-names = "xtal", "pclk", "baud"; > -}; > diff --git a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml > new file mode 100644 > index 000000000000..e150e3504fa0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml > @@ -0,0 +1,75 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright 2019 BayLibre, SAS > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/serial/amlogic,meson-uart.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Amlogic Meson SoC UART Serial Interface > + > +maintainers: > + - Neil Armstrong <narmstrong@xxxxxxxxxxxx> > + > +description: | > + The Amlogic Meson SoC UART Serial Interface is present on a large range > + of SoCs, and can be present either in the "Always-On" power domain or the > + "Everything-Else" power domain. > + > + The particularity of the "Always-On" Serial Interface is that the hardware > + is active since power-on and does not need any clock gating and is usable > + as very early serial console. > + > +properties: > + compatible: > + oneOf: > + - description: Allways-on power domain UART controller > + items: > + - enum: > + - amlogic,meson6-uart > + - amlogic,meson8-uart > + - amlogic,meson8b-uart > + - amlogic,meson-gx-uart > + - const: amlogic,meson-ao-uart > + - description: Everything-Else power domain UART controller > + enum: > + - amlogic,meson6-uart > + - amlogic,meson8-uart > + - amlogic,meson8b-uart > + - amlogic,meson-gx-uart > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + minItems: 3 > + maxItems: 3 Should list out what each clock is. items: - description: external xtal clock identifier - description: the bus core clock, either the clk81 clock or the gate clock - description: the source of the baudrate generator, can be either the xtal or the pclk This makes minItems/maxItems implicit. > + > + clock-names: > + description: | > + "xtal" for external xtal clock identifier > + "pclk" for the bus core clock, either the clk81 clock or the gate clock > + "baud" for the source of the baudrate generator, can be either the xtal > + or the pclk. Then this description can be dropped. > + items: > + - const: xtal > + - const: pclk > + - const: baud > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names interrupts? If the old binding was wrong, it's fine to fix here. Just mention what you're fixing in the commit message. > + > +examples: > + - | > + serial@84c0 { > + compatible = "amlogic,meson-gx-uart"; > + reg = <0x84c0 0x14>; > + interrupts = <26>; > + clocks = <&xtal>, <&pclk>, <&xtal>; > + clock-names = "xtal", "pclk", "baud"; > + }; > -- > 2.22.0 >