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

title: Cirrus Logic ep93xx SoC M2P DMA controller

maintainers:
  - Alexander Sverdlin <alexander.sverdlin@gmail.com>
  - Nikita Shubin <nikita.shubin@maquefel.me>

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

properties:
  compatible:
    oneOf:
      - const: cirrus,ep9301-dma-m2p
      - items:
          - enum:
              - cirrus,ep9302-dma-m2p
              - cirrus,ep9307-dma-m2p
              - cirrus,ep9312-dma-m2p
              - cirrus,ep9315-dma-m2p
          - const: cirrus,ep9301-dma-m2p

  reg:
    items:
      - description: m2p0 channel registers
      - description: m2p1 channel registers
      - description: m2p2 channel registers
      - description: m2p3 channel registers
      - description: m2p4 channel registers
      - description: m2p5 channel registers
      - description: m2p6 channel registers
      - description: m2p7 channel registers
      - description: m2p8 channel registers
      - description: m2p9 channel registers

  clocks:
    items:
      - description: m2p0 channel gate clock
      - description: m2p1 channel gate clock
      - description: m2p2 channel gate clock
      - description: m2p3 channel gate clock
      - description: m2p4 channel gate clock
      - description: m2p5 channel gate clock
      - description: m2p6 channel gate clock
      - description: m2p7 channel gate clock
      - description: m2p8 channel gate clock
      - description: m2p9 channel gate clock

  clock-names:
    items:
      - const: m2p0
      - const: m2p1
      - const: m2p2
      - const: m2p3
      - const: m2p4
      - const: m2p5
      - const: m2p6
      - const: m2p7
      - const: m2p8
      - const: m2p9

  interrupts:
    items:
      - description: m2p0 channel interrupt
      - description: m2p1 channel interrupt
      - description: m2p2 channel interrupt
      - description: m2p3 channel interrupt
      - description: m2p4 channel interrupt
      - description: m2p5 channel interrupt
      - description: m2p6 channel interrupt
      - description: m2p7 channel interrupt
      - description: m2p8 channel interrupt
      - description: m2p9 channel interrupt

  '#dma-cells':
    const: 2
    description: |
      The first cell is the unique device channel number as indicated by this
      table for ep93xx:

      0: I2S channel 1
      1: I2S channel 2 (unused)
      2: AC97 channel 1 (unused)
      3: AC97 channel 2 (unused)
      4: AC97 channel 3 (unused)
      5: I2S channel 3 (unused)
      6: UART1 (unused)
      7: UART2 (unused)
      8: UART3 (unused)
      9: IRDA (unused)

      The second cell is the DMA direction line number:

      1: Memory to device
      2: Device to memory

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/cirrus,ep9301-syscon.h>
    dma-controller@80000000 {
        compatible = "cirrus,ep9301-dma-m2p";
        reg = <0x80000000 0x0040>,
              <0x80000040 0x0040>,
              <0x80000080 0x0040>,
              <0x800000c0 0x0040>,
              <0x80000240 0x0040>,
              <0x80000200 0x0040>,
              <0x800002c0 0x0040>,
              <0x80000280 0x0040>,
              <0x80000340 0x0040>,
              <0x80000300 0x0040>;
        clocks = <&syscon EP93XX_CLK_M2P0>,
                 <&syscon EP93XX_CLK_M2P1>,
                 <&syscon EP93XX_CLK_M2P2>,
                 <&syscon EP93XX_CLK_M2P3>,
                 <&syscon EP93XX_CLK_M2P4>,
                 <&syscon EP93XX_CLK_M2P5>,
                 <&syscon EP93XX_CLK_M2P6>,
                 <&syscon EP93XX_CLK_M2P7>,
                 <&syscon EP93XX_CLK_M2P8>,
                 <&syscon EP93XX_CLK_M2P9>;
        clock-names = "m2p0", "m2p1",
                      "m2p2", "m2p3",
                      "m2p4", "m2p5",
                      "m2p6", "m2p7",
                      "m2p8", "m2p9";
        interrupt-parent = <&vic0>;
        interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>;
        #dma-cells = <2>;
    };
