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

title: Freescale Direct Memory Access (DMA) Controller for i.MX

maintainers:
  - Animesh Agarwal <animeshagarwal28@gmail.com>

allOf:
  - $ref: dma-controller.yaml#

properties:
  compatible:
    enum:
      - fsl,imx1-dma
      - fsl,imx21-dma
      - fsl,imx27-dma

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: DMA complete interrupt
      - description: DMA Error interrupt
    minItems: 1

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: ipg
      - const: ahb

  "#dma-cells":
    const: 1

  dma-channels:
    const: 16

  dma-requests:
    description: Number of DMA requests supported.

required:
  - compatible
  - reg
  - interrupts
  - "#dma-cells"
  - clocks
  - clock-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx27-clock.h>

    dma-controller@10001000 {
      compatible = "fsl,imx27-dma";
      reg = <0x10001000 0x1000>;
      interrupts = <32 33>;
      #dma-cells = <1>;
      dma-channels = <16>;
      clocks = <&clks IMX27_CLK_DMA_IPG_GATE>, <&clks IMX27_CLK_DMA_AHB_GATE>;
      clock-names = "ipg", "ahb";
    };
