Message ID | e39713deed69735e5c02c4273bf84572aa589736.1557236840.git-series.maxime.ripard@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/4] dt-bindings: spi: Add YAML schemas for the generic SPI options | expand |
On Tue, May 7, 2019 at 8:48 AM Maxime Ripard <maxime.ripard@bootlin.com> wrote: > > Switch the DT binding to a YAML schema to enable the DT validation. > > Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> > --- > Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- > Documentation/devicetree/bindings/spi/spi-sun6i.txt | 44 +------------------------------ > 2 files changed, 106 insertions(+), 44 deletions(-) > create mode 100644 Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml > delete mode 100644 Documentation/devicetree/bindings/spi/spi-sun6i.txt > > diff --git a/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml b/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml > new file mode 100644 > index 000000000000..0cd7244653a8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml > @@ -0,0 +1,106 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/spi/allwinner,sun6i-a31-spi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Allwinner A31 SPI Controller Device Tree Bindings > + > +allOf: > + - $ref: "spi-controller.yaml" > + > +maintainers: > + - Chen-Yu Tsai <wens@csie.org> > + - Maxime Ripard <maxime.ripard@bootlin.com> > + > +properties: > + "#address-cells": true > + "#size-cells": true > + > + compatible: > + enum: > + - allwinner,sun6i-a31-spi > + - allwinner,sun8i-h3-spi > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + items: > + - description: Bus Clock > + - description: Module Clock > + > + clock-names: > + items: > + - const: ahb > + - const: mod > + > + resets: > + maxItems: 1 > + > + dmas: > + items: > + - description: RX DMA Channel > + - description: TX DMA Channel > + > + dma-names: > + items: > + - const: rx > + - const: tx > + > + num-cs: true > + > +patternProperties: > + "^[a-z]+@[0-9]+$": Same issues here as patch 1. > + properties: > + reg: > + items: > + minimum: 0 > + maximum: 4 > + > + spi-rx-bus-width: > + const: 1 > + > + spi-tx-bus-width: > + const: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + > +additionalProperties: false > + > +examples: > + - | > + spi1: spi@1c69000 { > + compatible = "allwinner,sun6i-a31-spi"; > + reg = <0x01c69000 0x1000>; > + interrupts = <0 66 4>; > + clocks = <&ahb1_gates 21>, <&spi1_clk>; > + clock-names = "ahb", "mod"; > + resets = <&ahb1_rst 21>; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + > + - | > + spi0: spi@1c68000 { > + compatible = "allwinner,sun8i-h3-spi"; > + reg = <0x01c68000 0x1000>; > + interrupts = <0 65 4>; > + clocks = <&ccu 30>, <&ccu 82>; > + clock-names = "ahb", "mod"; > + dmas = <&dma 23>, <&dma 23>; > + dma-names = "rx", "tx"; > + resets = <&ccu 15>; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + > +... > diff --git a/Documentation/devicetree/bindings/spi/spi-sun6i.txt b/Documentation/devicetree/bindings/spi/spi-sun6i.txt > deleted file mode 100644 > index 435a8e0731ac..000000000000 > --- a/Documentation/devicetree/bindings/spi/spi-sun6i.txt > +++ /dev/null > @@ -1,44 +0,0 @@ > -Allwinner A31/H3 SPI controller > - > -Required properties: > -- compatible: Should be "allwinner,sun6i-a31-spi" or "allwinner,sun8i-h3-spi". > -- reg: Should contain register location and length. > -- interrupts: Should contain interrupt. > -- clocks: phandle to the clocks feeding the SPI controller. Two are > - needed: > - - "ahb": the gated AHB parent clock > - - "mod": the parent module clock > -- clock-names: Must contain the clock names described just above > -- resets: phandle to the reset controller asserting this device in > - reset > - > -Optional properties: > -- dmas: DMA specifiers for rx and tx dma. See the DMA client binding, > - Documentation/devicetree/bindings/dma/dma.txt > -- dma-names: DMA request names should include "rx" and "tx" if present. > - > -Example: > - > -spi1: spi@1c69000 { > - compatible = "allwinner,sun6i-a31-spi"; > - reg = <0x01c69000 0x1000>; > - interrupts = <0 66 4>; > - clocks = <&ahb1_gates 21>, <&spi1_clk>; > - clock-names = "ahb", "mod"; > - resets = <&ahb1_rst 21>; > -}; > - > -spi0: spi@1c68000 { > - compatible = "allwinner,sun8i-h3-spi"; > - reg = <0x01c68000 0x1000>; > - interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; > - clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; > - clock-names = "ahb", "mod"; > - dmas = <&dma 23>, <&dma 23>; > - dma-names = "rx", "tx"; > - pinctrl-names = "default"; > - pinctrl-0 = <&spi0_pins>; > - resets = <&ccu RST_BUS_SPI0>; > - #address-cells = <1>; > - #size-cells = <0>; > -}; > -- > git-series 0.9.1
diff --git a/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml b/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml new file mode 100644 index 000000000000..0cd7244653a8 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml @@ -0,0 +1,106 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/spi/allwinner,sun6i-a31-spi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Allwinner A31 SPI Controller Device Tree Bindings + +allOf: + - $ref: "spi-controller.yaml" + +maintainers: + - Chen-Yu Tsai <wens@csie.org> + - Maxime Ripard <maxime.ripard@bootlin.com> + +properties: + "#address-cells": true + "#size-cells": true + + compatible: + enum: + - allwinner,sun6i-a31-spi + - allwinner,sun8i-h3-spi + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + items: + - description: Bus Clock + - description: Module Clock + + clock-names: + items: + - const: ahb + - const: mod + + resets: + maxItems: 1 + + dmas: + items: + - description: RX DMA Channel + - description: TX DMA Channel + + dma-names: + items: + - const: rx + - const: tx + + num-cs: true + +patternProperties: + "^[a-z]+@[0-9]+$": + properties: + reg: + items: + minimum: 0 + maximum: 4 + + spi-rx-bus-width: + const: 1 + + spi-tx-bus-width: + const: 1 + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + +additionalProperties: false + +examples: + - | + spi1: spi@1c69000 { + compatible = "allwinner,sun6i-a31-spi"; + reg = <0x01c69000 0x1000>; + interrupts = <0 66 4>; + clocks = <&ahb1_gates 21>, <&spi1_clk>; + clock-names = "ahb", "mod"; + resets = <&ahb1_rst 21>; + #address-cells = <1>; + #size-cells = <0>; + }; + + - | + spi0: spi@1c68000 { + compatible = "allwinner,sun8i-h3-spi"; + reg = <0x01c68000 0x1000>; + interrupts = <0 65 4>; + clocks = <&ccu 30>, <&ccu 82>; + clock-names = "ahb", "mod"; + dmas = <&dma 23>, <&dma 23>; + dma-names = "rx", "tx"; + resets = <&ccu 15>; + #address-cells = <1>; + #size-cells = <0>; + }; + +... diff --git a/Documentation/devicetree/bindings/spi/spi-sun6i.txt b/Documentation/devicetree/bindings/spi/spi-sun6i.txt deleted file mode 100644 index 435a8e0731ac..000000000000 --- a/Documentation/devicetree/bindings/spi/spi-sun6i.txt +++ /dev/null @@ -1,44 +0,0 @@ -Allwinner A31/H3 SPI controller - -Required properties: -- compatible: Should be "allwinner,sun6i-a31-spi" or "allwinner,sun8i-h3-spi". -- reg: Should contain register location and length. -- interrupts: Should contain interrupt. -- clocks: phandle to the clocks feeding the SPI controller. Two are - needed: - - "ahb": the gated AHB parent clock - - "mod": the parent module clock -- clock-names: Must contain the clock names described just above -- resets: phandle to the reset controller asserting this device in - reset - -Optional properties: -- dmas: DMA specifiers for rx and tx dma. See the DMA client binding, - Documentation/devicetree/bindings/dma/dma.txt -- dma-names: DMA request names should include "rx" and "tx" if present. - -Example: - -spi1: spi@1c69000 { - compatible = "allwinner,sun6i-a31-spi"; - reg = <0x01c69000 0x1000>; - interrupts = <0 66 4>; - clocks = <&ahb1_gates 21>, <&spi1_clk>; - clock-names = "ahb", "mod"; - resets = <&ahb1_rst 21>; -}; - -spi0: spi@1c68000 { - compatible = "allwinner,sun8i-h3-spi"; - reg = <0x01c68000 0x1000>; - interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; - clock-names = "ahb", "mod"; - dmas = <&dma 23>, <&dma 23>; - dma-names = "rx", "tx"; - pinctrl-names = "default"; - pinctrl-0 = <&spi0_pins>; - resets = <&ccu RST_BUS_SPI0>; - #address-cells = <1>; - #size-cells = <0>; -};
Switch the DT binding to a YAML schema to enable the DT validation. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> --- Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- Documentation/devicetree/bindings/spi/spi-sun6i.txt | 44 +------------------------------ 2 files changed, 106 insertions(+), 44 deletions(-) create mode 100644 Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml delete mode 100644 Documentation/devicetree/bindings/spi/spi-sun6i.txt