# 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
      - 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
    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";
    };
