Hi Rob, On 19/06/21 2:15 am, Rob Herring wrote: > On Tue, Jun 08, 2021 at 10:50:09AM +0530, Aswath Govindraju wrote: >> Convert omap-spi dt-binding documentation from txt to yaml format. >> >> Signed-off-by: Aswath Govindraju <a-govindraju@xxxxxx> >> --- >> >> changes since v1: >> - split the series according to their respective trees >> >> link to v1: >> https://lore.kernel.org/patchwork/project/lkml/list/?series=502255 >> >> .../devicetree/bindings/spi/omap-spi.txt | 48 ------- >> .../devicetree/bindings/spi/omap-spi.yaml | 126 ++++++++++++++++++ >> 2 files changed, 126 insertions(+), 48 deletions(-) >> delete mode 100644 Documentation/devicetree/bindings/spi/omap-spi.txt >> create mode 100644 Documentation/devicetree/bindings/spi/omap-spi.yaml >> >> diff --git a/Documentation/devicetree/bindings/spi/omap-spi.txt b/Documentation/devicetree/bindings/spi/omap-spi.txt >> deleted file mode 100644 >> index 487208c256c0..000000000000 >> --- a/Documentation/devicetree/bindings/spi/omap-spi.txt >> +++ /dev/null >> @@ -1,48 +0,0 @@ >> -OMAP2+ McSPI device >> - >> -Required properties: >> -- compatible : >> - - "ti,am654-mcspi" for AM654. >> - - "ti,omap2-mcspi" for OMAP2 & OMAP3. >> - - "ti,omap4-mcspi" for OMAP4+. >> -- ti,spi-num-cs : Number of chipselect supported by the instance. >> -- ti,hwmods: Name of the hwmod associated to the McSPI >> -- ti,pindir-d0-out-d1-in: Select the D0 pin as output and D1 as >> - input. The default is D0 as input and >> - D1 as output. >> - >> -Optional properties: >> -- dmas: List of DMA specifiers with the controller specific format >> - as described in the generic DMA client binding. A tx and rx >> - specifier is required for each chip select. >> -- dma-names: List of DMA request names. These strings correspond >> - 1:1 with the DMA specifiers listed in dmas. The string naming >> - is to be "rxN" and "txN" for RX and TX requests, >> - respectively, where N equals the chip select number. >> - >> -Examples: >> - >> -[hwmod populated DMA resources] >> - >> -mcspi1: mcspi@1 { >> - #address-cells = <1>; >> - #size-cells = <0>; >> - compatible = "ti,omap4-mcspi"; >> - ti,hwmods = "mcspi1"; >> - ti,spi-num-cs = <4>; >> -}; >> - >> -[generic DMA request binding] >> - >> -mcspi1: mcspi@1 { >> - #address-cells = <1>; >> - #size-cells = <0>; >> - compatible = "ti,omap4-mcspi"; >> - ti,hwmods = "mcspi1"; >> - ti,spi-num-cs = <2>; >> - dmas = <&edma 42 >> - &edma 43 >> - &edma 44 >> - &edma 45>; >> - dma-names = "tx0", "rx0", "tx1", "rx1"; >> -}; >> diff --git a/Documentation/devicetree/bindings/spi/omap-spi.yaml b/Documentation/devicetree/bindings/spi/omap-spi.yaml >> new file mode 100644 >> index 000000000000..cd20704f2edc >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/spi/omap-spi.yaml >> @@ -0,0 +1,126 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/spi/omap-spi.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: SPI controller bindings for OMAP and K3 SoCs >> + >> +maintainers: >> + - Mark Brown <broonie@xxxxxxxxxx> > > A TI person here please. > Added myself as the reviewer in v3. Thank you for the review and comments. I have posted a respin(v3) of this patch after addressing all the comments. Thanks, Aswath > You need a ref to spi-controller.yaml > >> + >> +properties: >> + compatible: >> + oneOf: >> + - items: >> + - enum: >> + - ti,am654-mcspi >> + - ti,am4372-mcspi >> + - const: ti,omap4-mcspi >> + - items: >> + - enum: >> + - ti,omap2-mcspi >> + - ti,omap4-mcspi >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + clocks: >> + maxItems: 1 >> + > >> + '#address-cells': >> + const: 1 >> + >> + '#size-cells': >> + const: 0 > > Don't need these, covered by spi-controller.yaml. > >> + >> + power-domains: >> + maxItems: 1 >> + >> + ti,spi-num-cs: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: Number of chipselect supported by the instance. >> + minimum: 1 >> + maximum: 4 >> + >> + ti,hwmods: >> + $ref: /schemas/types.yaml#/definitions/string >> + description: >> + Must be "mcspi<n>", n being the instance number (1-based). >> + This property is applicable only on legacy platforms mainly omap2/3 >> + and ti81xx and should not be used on other platforms. >> + deprecated: true >> + >> + ti,pindir-d0-out-d1-in: >> + description: >> + Select the D0 pin as output and D1 as input. The default is D0 >> + as input and D1 as output. >> + type: boolean >> + >> + dmas: >> + description: >> + List of DMA specifiers with the controller specific format as >> + described in the generic DMA client binding. A tx and rx >> + specifier is required for each chip select. >> + minItems: 1 >> + maxItems: 8 >> + >> + dma-names: >> + description: >> + List of DMA request names. These strings correspond 1:1 with >> + the DMA sepecifiers listed in dmas. The string names is to be >> + "rxN" and "txN" for RX and TX requests, respectively. Where N >> + is the chip select number. >> + minItems: 1 >> + maxItems: 8 >> + >> +patternProperties: >> + "@[0-9a-f]+$": >> + type: object >> + description: >> + Flash devices are defined as a sub-node of the spi controller > > Covered by spi-controller.yaml. > >> + >> +required: >> + - compatible >> + - reg >> + - interrupts >> + >> +additionalProperties: false >> + >> +if: >> + properties: >> + compatible: >> + oneOf: >> + - const: ti,omap2-mcspi >> + - const: ti,omap4-mcspi >> + >> +then: >> + properties: >> + ti,hwmods: >> + items: >> + - pattern: "^mcspi([1-9])$" >> + >> +else: >> + properties: >> + ti,hwmods: false >> + >> +examples: >> + - | >> + #include <dt-bindings/interrupt-controller/irq.h> >> + #include <dt-bindings/interrupt-controller/arm-gic.h> >> + #include <dt-bindings/soc/ti,sci_pm_domain.h> >> + >> + main_spi0: spi@2100000 { > > Drop unused labels. > >> + compatible = "ti,am654-mcspi","ti,omap4-mcspi"; >> + reg = <0x2100000 0x400>; >> + interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; >> + clocks = <&k3_clks 137 1>; >> + power-domains = <&k3_pds 137 TI_SCI_PD_EXCLUSIVE>; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + dmas = <&main_udmap 0xc500>, <&main_udmap 0x4500>; >> + dma-names = "tx0", "rx0"; >> + }; >> -- >> 2.17.1 >> >>