Message ID | 20200521091356.2211020-2-lkundrak@v3.sk |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | DT: Improve validation for Marvell SoCs | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | warning | total: 0 errors, 3 warnings, 103 lines checked |
robh/dt-meta-schema | success |
On Thu, 21 May 2020 at 11:14, Lubomir Rintel <lkundrak@v3.sk> wrote: > > Convert the sdhci-pxa binding to DT schema format using json-schema. > > At the same time, fix a couple of issues with the examples discovered by > the validation tool -- a semicolon instead of a comma and wrong node names. > > Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Rob, are you fine with this v2? I am intending to queue it up via my mmc tree, unless you want to pick it? Kind regards Uffe > > --- > Changes since v1: > - move reg-names items: from the conditional to main properties:, only > specify maxItems and minItems in conditional branches > - Specify minItems and maxItems in properties/reg instad of on > conditional branchs > - Add default GPL-2.0-only license tag > - Fill in maintainers from MAINTAINERS file > > .../devicetree/bindings/mmc/sdhci-pxa.txt | 50 --------- > .../devicetree/bindings/mmc/sdhci-pxa.yaml | 103 ++++++++++++++++++ > 2 files changed, 103 insertions(+), 50 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/mmc/sdhci-pxa.txt > create mode 100644 Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml > > diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt > deleted file mode 100644 > index 3d1b449d6097..000000000000 > --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt > +++ /dev/null > @@ -1,50 +0,0 @@ > -* Marvell sdhci-pxa v2/v3 controller > - > -This file documents differences between the core properties in mmc.txt > -and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers. > - > -Required properties: > -- compatible: Should be "mrvl,pxav2-mmc", "mrvl,pxav3-mmc" or > - "marvell,armada-380-sdhci". > -- reg: > - * for "mrvl,pxav2-mmc" and "mrvl,pxav3-mmc", one register area for > - the SDHCI registers. > - > - * for "marvell,armada-380-sdhci", three register areas. The first > - one for the SDHCI registers themselves, the second one for the > - AXI/Mbus bridge registers of the SDHCI unit, the third one for the > - SDIO3 Configuration register > -- reg names: should be "sdhci", "mbus", "conf-sdio3". only mandatory > - for "marvell,armada-380-sdhci" > -- clocks: Array of clocks required for SDHCI; requires at least one for > - I/O clock. > -- clock-names: Array of names corresponding to clocks property; shall be > - "io" for I/O clock and "core" for optional core clock. > - > -Optional properties: > -- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning. > - > -Example: > - > -sdhci@d4280800 { > - compatible = "mrvl,pxav3-mmc"; > - reg = <0xd4280800 0x800>; > - bus-width = <8>; > - interrupts = <27>; > - clocks = <&chip CLKID_SDIO1XIN>, <&chip CLKID_SDIO1>; > - clock-names = "io", "core"; > - non-removable; > - mrvl,clk-delay-cycles = <31>; > -}; > - > -sdhci@d8000 { > - compatible = "marvell,armada-380-sdhci"; > - reg-names = "sdhci", "mbus", "conf-sdio3"; > - reg = <0xd8000 0x1000>, > - <0xdc000 0x100>; > - <0x18454 0x4>; > - interrupts = <0 25 0x4>; > - clocks = <&gateclk 17>; > - clock-names = "io"; > - mrvl,clk-delay-cycles = <0x1F>; > -}; > diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml > new file mode 100644 > index 000000000000..27ea069aa5fc > --- /dev/null > +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml > @@ -0,0 +1,103 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mmc/sdhci-pxa.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Marvell PXA SDHCI v2/v3 bindings > + > +maintainers: > + - Ulf Hansson <ulf.hansson@linaro.org> > + - Rob Herring <robh+dt@kernel.org> > + > +allOf: > + - $ref: mmc-controller.yaml# > + - if: > + properties: > + compatible: > + contains: > + const: marvell,armada-380-sdhci > + then: > + properties: > + regs: > + minItems: 3 > + reg-names: > + minItems: 3 > + required: > + - reg-names > + else: > + properties: > + regs: > + maxItems: 1 > + reg-names: > + maxItems: 1 > + > +properties: > + compatible: > + enum: > + - mrvl,pxav2-mmc > + - mrvl,pxav3-mmc > + - marvell,armada-380-sdhci > + > + reg: > + minItems: 1 > + maxItems: 3 > + > + reg-names: > + items: > + - const: sdhci > + - const: mbus > + - const: conf-sdio3 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + minItems: 1 > + maxItems: 2 > + > + clock-names: > + minItems: 1 > + maxItems: 2 > + items: > + - const: io > + - const: core > + > + mrvl,clk-delay-cycles: > + description: Specify a number of cycles to delay for tuning. > + $ref: /schemas/types.yaml#/definitions/uint32 > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + > +examples: > + - | > + #include <dt-bindings/clock/berlin2.h> > + mmc@d4280800 { > + compatible = "mrvl,pxav3-mmc"; > + reg = <0xd4280800 0x800>; > + bus-width = <8>; > + interrupts = <27>; > + clocks = <&chip CLKID_SDIO1XIN>, <&chip CLKID_SDIO1>; > + clock-names = "io", "core"; > + non-removable; > + mrvl,clk-delay-cycles = <31>; > + }; > + - | > + mmc@d8000 { > + compatible = "marvell,armada-380-sdhci"; > + reg-names = "sdhci", "mbus", "conf-sdio3"; > + reg = <0xd8000 0x1000>, > + <0xdc000 0x100>, > + <0x18454 0x4>; > + interrupts = <0 25 0x4>; > + clocks = <&gateclk 17>; > + clock-names = "io"; > + mrvl,clk-delay-cycles = <0x1F>; > + }; > + > +... > -- > 2.26.2 >
On Wed, May 27, 2020 at 09:59:10AM +0200, Ulf Hansson wrote: > On Thu, 21 May 2020 at 11:14, Lubomir Rintel <lkundrak@v3.sk> wrote: > > > > Convert the sdhci-pxa binding to DT schema format using json-schema. > > > > At the same time, fix a couple of issues with the examples discovered by > > the validation tool -- a semicolon instead of a comma and wrong node names. > > > > Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> > > Rob, are you fine with this v2? I am intending to queue it up via my > mmc tree, unless you want to pick it? You can take it if you drop my name from 'maintainers'. Ideally, it shouldn't be your name either (should have called it 'owners' instead...). Reviewed-by: Rob Herring <robh@kernel.org>
On Fri, 29 May 2020 at 00:54, Rob Herring <robh@kernel.org> wrote: > > On Wed, May 27, 2020 at 09:59:10AM +0200, Ulf Hansson wrote: > > On Thu, 21 May 2020 at 11:14, Lubomir Rintel <lkundrak@v3.sk> wrote: > > > > > > Convert the sdhci-pxa binding to DT schema format using json-schema. > > > > > > At the same time, fix a couple of issues with the examples discovered by > > > the validation tool -- a semicolon instead of a comma and wrong node names. > > > > > > Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> > > > > Rob, are you fine with this v2? I am intending to queue it up via my > > mmc tree, unless you want to pick it? > > You can take it if you drop my name from 'maintainers'. Ideally, it > shouldn't be your name either (should have called it 'owners' > instead...). Patch amended! > > Reviewed-by: Rob Herring <robh@kernel.org> Thanks, applied to my next branch! Kind regards Uffe
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt deleted file mode 100644 index 3d1b449d6097..000000000000 --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt +++ /dev/null @@ -1,50 +0,0 @@ -* Marvell sdhci-pxa v2/v3 controller - -This file documents differences between the core properties in mmc.txt -and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers. - -Required properties: -- compatible: Should be "mrvl,pxav2-mmc", "mrvl,pxav3-mmc" or - "marvell,armada-380-sdhci". -- reg: - * for "mrvl,pxav2-mmc" and "mrvl,pxav3-mmc", one register area for - the SDHCI registers. - - * for "marvell,armada-380-sdhci", three register areas. The first - one for the SDHCI registers themselves, the second one for the - AXI/Mbus bridge registers of the SDHCI unit, the third one for the - SDIO3 Configuration register -- reg names: should be "sdhci", "mbus", "conf-sdio3". only mandatory - for "marvell,armada-380-sdhci" -- clocks: Array of clocks required for SDHCI; requires at least one for - I/O clock. -- clock-names: Array of names corresponding to clocks property; shall be - "io" for I/O clock and "core" for optional core clock. - -Optional properties: -- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning. - -Example: - -sdhci@d4280800 { - compatible = "mrvl,pxav3-mmc"; - reg = <0xd4280800 0x800>; - bus-width = <8>; - interrupts = <27>; - clocks = <&chip CLKID_SDIO1XIN>, <&chip CLKID_SDIO1>; - clock-names = "io", "core"; - non-removable; - mrvl,clk-delay-cycles = <31>; -}; - -sdhci@d8000 { - compatible = "marvell,armada-380-sdhci"; - reg-names = "sdhci", "mbus", "conf-sdio3"; - reg = <0xd8000 0x1000>, - <0xdc000 0x100>; - <0x18454 0x4>; - interrupts = <0 25 0x4>; - clocks = <&gateclk 17>; - clock-names = "io"; - mrvl,clk-delay-cycles = <0x1F>; -}; diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml new file mode 100644 index 000000000000..27ea069aa5fc --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml @@ -0,0 +1,103 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mmc/sdhci-pxa.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Marvell PXA SDHCI v2/v3 bindings + +maintainers: + - Ulf Hansson <ulf.hansson@linaro.org> + - Rob Herring <robh+dt@kernel.org> + +allOf: + - $ref: mmc-controller.yaml# + - if: + properties: + compatible: + contains: + const: marvell,armada-380-sdhci + then: + properties: + regs: + minItems: 3 + reg-names: + minItems: 3 + required: + - reg-names + else: + properties: + regs: + maxItems: 1 + reg-names: + maxItems: 1 + +properties: + compatible: + enum: + - mrvl,pxav2-mmc + - mrvl,pxav3-mmc + - marvell,armada-380-sdhci + + reg: + minItems: 1 + maxItems: 3 + + reg-names: + items: + - const: sdhci + - const: mbus + - const: conf-sdio3 + + interrupts: + maxItems: 1 + + clocks: + minItems: 1 + maxItems: 2 + + clock-names: + minItems: 1 + maxItems: 2 + items: + - const: io + - const: core + + mrvl,clk-delay-cycles: + description: Specify a number of cycles to delay for tuning. + $ref: /schemas/types.yaml#/definitions/uint32 + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + +examples: + - | + #include <dt-bindings/clock/berlin2.h> + mmc@d4280800 { + compatible = "mrvl,pxav3-mmc"; + reg = <0xd4280800 0x800>; + bus-width = <8>; + interrupts = <27>; + clocks = <&chip CLKID_SDIO1XIN>, <&chip CLKID_SDIO1>; + clock-names = "io", "core"; + non-removable; + mrvl,clk-delay-cycles = <31>; + }; + - | + mmc@d8000 { + compatible = "marvell,armada-380-sdhci"; + reg-names = "sdhci", "mbus", "conf-sdio3"; + reg = <0xd8000 0x1000>, + <0xdc000 0x100>, + <0x18454 0x4>; + interrupts = <0 25 0x4>; + clocks = <&gateclk 17>; + clock-names = "io"; + mrvl,clk-delay-cycles = <0x1F>; + }; + +...
Convert the sdhci-pxa binding to DT schema format using json-schema. At the same time, fix a couple of issues with the examples discovered by the validation tool -- a semicolon instead of a comma and wrong node names. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> --- Changes since v1: - move reg-names items: from the conditional to main properties:, only specify maxItems and minItems in conditional branches - Specify minItems and maxItems in properties/reg instad of on conditional branchs - Add default GPL-2.0-only license tag - Fill in maintainers from MAINTAINERS file .../devicetree/bindings/mmc/sdhci-pxa.txt | 50 --------- .../devicetree/bindings/mmc/sdhci-pxa.yaml | 103 ++++++++++++++++++ 2 files changed, 103 insertions(+), 50 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mmc/sdhci-pxa.txt create mode 100644 Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml