On Tue, May 7, 2019 at 8:48 AM Maxime Ripard <maxime.ripard@xxxxxxxxxxx> wrote: > > Switch the DT binding to a YAML schema to enable the DT validation. > > Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > --- > 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@xxxxxxxx> > + - Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > + > +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