# 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 - Nikita Shubin 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 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>; };