Commit b14f56be authored by Joy Zou's avatar Joy Zou Committed by Vinod Koul
Browse files

dt-bindings: dma: fsl-edma: add fsl,imx8ulp-edma compatible string



Introduce the compatible string 'fsl,imx8ulp-edma' to enable support for
the i.MX8ULP's eDMA, alongside adjusting the clock numbering. The i.MX8ULP
eDMA architecture features one clock for each DMA channel and an additional
clock for the core controller. Given a maximum of 32 DMA channels, the
maximum clock number consequently increases to 33.

Signed-off-by: default avatarJoy Zou <joy.zou@nxp.com>
Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20240323-8ulp_edma-v3-4-c0e981027c05@nxp.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 9a5000cf
Loading
Loading
Loading
Loading
+38 −2
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ properties:
          - fsl,imx7ulp-edma
          - fsl,imx8qm-adma
          - fsl,imx8qm-edma
          - fsl,imx8ulp-edma
          - fsl,imx93-edma3
          - fsl,imx93-edma4
          - fsl,imx95-edma5
@@ -43,6 +44,17 @@ properties:
    maxItems: 64

  "#dma-cells":
    description: |
      Specifies the number of cells needed to encode an DMA channel.

      Encode for cells number 2:
        cell 0: index of dma channel mux instance.
        cell 1: peripheral dma request id.

      Encode for cells number 3:
        cell 0: peripheral dma request id.
        cell 1: dma channel priority.
        cell 2: bitmask, defined at include/dt-bindings/dma/fsl-edma.h
    enum:
      - 2
      - 3
@@ -53,11 +65,11 @@ properties:

  clocks:
    minItems: 1
    maxItems: 2
    maxItems: 33

  clock-names:
    minItems: 1
    maxItems: 2
    maxItems: 33

  big-endian:
    description: |
@@ -108,6 +120,7 @@ allOf:
      properties:
        clocks:
          minItems: 2
          maxItems: 2
        clock-names:
          items:
            - const: dmamux0
@@ -136,6 +149,7 @@ allOf:
      properties:
        clock:
          minItems: 2
          maxItems: 2
        clock-names:
          items:
            - const: dma
@@ -151,6 +165,28 @@ allOf:
        dma-channels:
          const: 32

  - if:
      properties:
        compatible:
          contains:
            const: fsl,imx8ulp-edma
    then:
      properties:
        clocks:
          minItems: 33
        clock-names:
          minItems: 33
          items:
            oneOf:
              - const: dma
              - pattern: "^ch(0[0-9]|[1-2][0-9]|3[01])$"

        interrupt-names: false
        interrupts:
          minItems: 32
        "#dma-cells":
          const: 3

unevaluatedProperties: false

examples: