Commit 6d912c49 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Miquel Raynal
Browse files

dt-bindings: mtd: gpmi-nand: Fix matching of clocks on different SoCs



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: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20201029162021.80839-1-krzk@kernel.org
parent 5ece78de
Loading
Loading
Loading
Loading
+61 −15
Original line number Diff line number Diff line
@@ -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 {