Message ID | 20200824190701.8447-2-krzk@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/16] dt-bindings: mfd: rohm, bd71847-pmic: Correct clock properties requirements | expand |
On Mon, Aug 24, 2020 at 09:06:47PM +0200, Krzysztof Kozlowski wrote: > Driver requires different amount of clocks for different SoCs. Describe > these requirements properly to fix dtbs_check warnings like: > > arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dt.yaml: nand-controller@33002000: clock-names:1: 'gpmi_apb' was expected > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > --- > .../devicetree/bindings/mtd/gpmi-nand.yaml | 76 +++++++++++++++---- > 1 file changed, 61 insertions(+), 15 deletions(-) > > diff --git a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml > index 28ff8c581837..9d764e654e1d 100644 > --- a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml > +++ b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml > + - if: > + properties: > + compatible: > + contains: > + enum: > + - fsl,imx6q-gpmi-nand > + - fsl,imx6sx-gpmi-nand > + then: > + properties: > + clocks: > + items: > + - description: SoC gpmi io clock > + - description: SoC gpmi apb clock > + - description: SoC gpmi bch clock > + - description: SoC gpmi bch apb clock > + - description: SoC per1 bch clock > + clock-names: > + items: > + - const: gpmi_io > + - const: gpmi_apb > + - const: gpmi_bch > + - const: gpmi_bch_apb > + - const: per1_bch This enforces this specific order of the clocks given in the dts. The clock binding itself doesn't require any specific order, that's what we have the names array for. Is this really what we want? Sascha
On Tue, Aug 25, 2020 at 08:40:20AM +0200, Sascha Hauer wrote: > On Mon, Aug 24, 2020 at 09:06:47PM +0200, Krzysztof Kozlowski wrote: > > Driver requires different amount of clocks for different SoCs. Describe > > these requirements properly to fix dtbs_check warnings like: > > > > arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dt.yaml: nand-controller@33002000: clock-names:1: 'gpmi_apb' was expected > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > --- > > .../devicetree/bindings/mtd/gpmi-nand.yaml | 76 +++++++++++++++---- > > 1 file changed, 61 insertions(+), 15 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml > > index 28ff8c581837..9d764e654e1d 100644 > > --- a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml > > +++ b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - fsl,imx6q-gpmi-nand > > + - fsl,imx6sx-gpmi-nand > > + then: > > + properties: > > + clocks: > > + items: > > + - description: SoC gpmi io clock > > + - description: SoC gpmi apb clock > > + - description: SoC gpmi bch clock > > + - description: SoC gpmi bch apb clock > > + - description: SoC per1 bch clock > > + clock-names: > > + items: > > + - const: gpmi_io > > + - const: gpmi_apb > > + - const: gpmi_bch > > + - const: gpmi_bch_apb > > + - const: per1_bch > > This enforces this specific order of the clocks given in the dts. The > clock binding itself doesn't require any specific order, that's what we > have the names array for. > > Is this really what we want? Indeed but have in mind that the specific order was there already. This patch does not address that part, only number of clocks. Fixing this for any order could be done with patterns. I can work on that. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml index 28ff8c581837..9d764e654e1d 100644 --- a/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml +++ b/Documentation/devicetree/bindings/mtd/gpmi-nand.yaml @@ -9,9 +9,6 @@ title: Freescale General-Purpose Media Interface (GPMI) binding maintainers: - Han Xu <han.xu@nxp.com> -allOf: - - $ref: "nand-controller.yaml" - description: | The GPMI nand controller provides an interface to control the NAND flash chips. The device tree may optionally contain sub-nodes @@ -58,22 +55,10 @@ properties: clocks: minItems: 1 maxItems: 5 - items: - - description: SoC gpmi io clock - - description: SoC gpmi apb clock - - description: SoC gpmi bch clock - - description: SoC gpmi bch apb clock - - description: SoC per1 bch clock clock-names: minItems: 1 maxItems: 5 - items: - - const: gpmi_io - - const: gpmi_apb - - const: gpmi_bch - - const: gpmi_bch_apb - - const: per1_bch fsl,use-minimum-ecc: type: boolean @@ -107,6 +92,67 @@ required: unevaluatedProperties: false +allOf: + - $ref: "nand-controller.yaml" + + - if: + properties: + compatible: + contains: + enum: + - fsl,imx23-gpmi-nand + - fsl,imx28-gpmi-nand + then: + properties: + clocks: + items: + - description: SoC gpmi io clock + clock-names: + items: + - const: gpmi_io + + - if: + properties: + compatible: + contains: + enum: + - fsl,imx6q-gpmi-nand + - fsl,imx6sx-gpmi-nand + then: + properties: + clocks: + items: + - description: SoC gpmi io clock + - description: SoC gpmi apb clock + - description: SoC gpmi bch clock + - description: SoC gpmi bch apb clock + - description: SoC per1 bch clock + clock-names: + items: + - const: gpmi_io + - const: gpmi_apb + - const: gpmi_bch + - const: gpmi_bch_apb + - const: per1_bch + + - if: + properties: + compatible: + contains: + const: fsl,imx7d-gpmi-nand + then: + properties: + clocks: + items: + - description: SoC gpmi io clock + - description: SoC gpmi bch apb clock + clock-names: + minItems: 2 + maxItems: 2 + items: + - const: gpmi_io + - const: gpmi_bch_apb + examples: - | nand-controller@8000c000 {
Driver requires different amount of clocks for different SoCs. Describe these requirements properly to fix dtbs_check warnings like: arch/arm64/boot/dts/freescale/imx8mm-beacon-kit.dt.yaml: nand-controller@33002000: clock-names:1: 'gpmi_apb' was expected Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> --- .../devicetree/bindings/mtd/gpmi-nand.yaml | 76 +++++++++++++++---- 1 file changed, 61 insertions(+), 15 deletions(-)