# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/fsl,edma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale enhanced Direct Memory Access(eDMA) Controller

description: |
  The eDMA channels have multiplex capability by programmable
  memory-mapped registers. channels are split into two groups, called
  DMAMUX0 and DMAMUX1, specific DMA request source can only be multiplexed
  by any channel of certain group, DMAMUX0 or DMAMUX1, but not both.

maintainers:
  - Peng Fan <peng.fan@nxp.com>

properties:
  compatible:
    oneOf:
      - enum:
          - fsl,vf610-edma
          - fsl,imx7ulp-edma
          - fsl,imx8qm-adma
          - fsl,imx8qm-edma
          - fsl,imx93-edma3
          - fsl,imx93-edma4
          - fsl,imx95-edma5
      - items:
          - const: fsl,ls1028a-edma
          - const: fsl,vf610-edma

  reg:
    minItems: 1
    maxItems: 3

  interrupts:
    minItems: 1
    maxItems: 64

  interrupt-names:
    minItems: 1
    maxItems: 64

  "#dma-cells":
    enum:
      - 2
      - 3

  dma-channels:
    minItems: 1
    maxItems: 64

  clocks:
    minItems: 1
    maxItems: 2

  clock-names:
    minItems: 1
    maxItems: 2

  big-endian:
    description: |
      If present registers and hardware scatter/gather descriptors of the
      eDMA are implemented in big endian mode, otherwise in little mode.
    type: boolean

required:
  - "#dma-cells"
  - compatible
  - reg
  - interrupts
  - clocks
  - dma-channels

allOf:
  - $ref: dma-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - fsl,imx8qm-adma
              - fsl,imx8qm-edma
              - fsl,imx93-edma3
              - fsl,imx93-edma4
              - fsl,imx95-edma5
    then:
      properties:
        "#dma-cells":
          const: 3
        # It is not necessary to write the interrupt name for each channel.
        # instead, you can simply maintain the sequential IRQ numbers as
        # defined for the DMA channels.
        interrupt-names: false
        clock-names:
          items:
            - const: dma
        clocks:
          maxItems: 1

  - if:
      properties:
        compatible:
          contains:
            const: fsl,vf610-edma
    then:
      properties:
        clocks:
          minItems: 2
        clock-names:
          items:
            - const: dmamux0
            - const: dmamux1
        interrupts:
          minItems: 2
          maxItems: 2
        interrupt-names:
          items:
            - const: edma-tx
            - const: edma-err
        reg:
          minItems: 2
          maxItems: 3
        "#dma-cells":
          const: 2
        dma-channels:
          const: 32

  - if:
      properties:
        compatible:
          contains:
            const: fsl,imx7ulp-edma
    then:
      properties:
        clock:
          minItems: 2
        clock-names:
          items:
            - const: dma
            - const: dmamux0
        interrupts:
          minItems: 2
          maxItems: 17
        reg:
          minItems: 2
          maxItems: 2
        "#dma-cells":
          const: 2
        dma-channels:
          const: 32

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/vf610-clock.h>

    edma0: dma-controller@40018000 {
      #dma-cells = <2>;
      compatible = "fsl,vf610-edma";
      reg = <0x40018000 0x2000>,
            <0x40024000 0x1000>,
            <0x40025000 0x1000>;
      interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>,
                   <0 9 IRQ_TYPE_LEVEL_HIGH>;
      interrupt-names = "edma-tx", "edma-err";
      dma-channels = <32>;
      clock-names = "dmamux0", "dmamux1";
      clocks = <&clks VF610_CLK_DMAMUX0>, <&clks VF610_CLK_DMAMUX1>;
    };

  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/imx7ulp-clock.h>

    edma1: dma-controller@40080000 {
      #dma-cells = <2>;
      compatible = "fsl,imx7ulp-edma";
      reg = <0x40080000 0x2000>,
            <0x40210000 0x1000>;
      dma-channels = <32>;
      interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
                   /* last is eDMA2-ERR interrupt */
                   <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
       clock-names = "dma", "dmamux0";
       clocks = <&pcc2 IMX7ULP_CLK_DMA1>, <&pcc2 IMX7ULP_CLK_DMA_MUX1>;
    };

  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/imx93-clock.h>

    dma-controller@44000000 {
      compatible = "fsl,imx93-edma3";
      reg = <0x44000000 0x200000>;
      #dma-cells = <3>;
      dma-channels = <31>;
      interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
                   <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&clk IMX93_CLK_EDMA1_GATE>;
        clock-names = "dma";
    };
