1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*b2d2a78aSEmmanuel Vadot%YAML 1.2 3*b2d2a78aSEmmanuel Vadot--- 4*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2p.yaml# 5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b2d2a78aSEmmanuel Vadot 7*b2d2a78aSEmmanuel Vadottitle: Cirrus Logic ep93xx SoC M2P DMA controller 8*b2d2a78aSEmmanuel Vadot 9*b2d2a78aSEmmanuel Vadotmaintainers: 10*b2d2a78aSEmmanuel Vadot - Alexander Sverdlin <alexander.sverdlin@gmail.com> 11*b2d2a78aSEmmanuel Vadot - Nikita Shubin <nikita.shubin@maquefel.me> 12*b2d2a78aSEmmanuel Vadot 13*b2d2a78aSEmmanuel VadotallOf: 14*b2d2a78aSEmmanuel Vadot - $ref: dma-controller.yaml# 15*b2d2a78aSEmmanuel Vadot 16*b2d2a78aSEmmanuel Vadotproperties: 17*b2d2a78aSEmmanuel Vadot compatible: 18*b2d2a78aSEmmanuel Vadot oneOf: 19*b2d2a78aSEmmanuel Vadot - const: cirrus,ep9301-dma-m2p 20*b2d2a78aSEmmanuel Vadot - items: 21*b2d2a78aSEmmanuel Vadot - enum: 22*b2d2a78aSEmmanuel Vadot - cirrus,ep9302-dma-m2p 23*b2d2a78aSEmmanuel Vadot - cirrus,ep9307-dma-m2p 24*b2d2a78aSEmmanuel Vadot - cirrus,ep9312-dma-m2p 25*b2d2a78aSEmmanuel Vadot - cirrus,ep9315-dma-m2p 26*b2d2a78aSEmmanuel Vadot - const: cirrus,ep9301-dma-m2p 27*b2d2a78aSEmmanuel Vadot 28*b2d2a78aSEmmanuel Vadot reg: 29*b2d2a78aSEmmanuel Vadot items: 30*b2d2a78aSEmmanuel Vadot - description: m2p0 channel registers 31*b2d2a78aSEmmanuel Vadot - description: m2p1 channel registers 32*b2d2a78aSEmmanuel Vadot - description: m2p2 channel registers 33*b2d2a78aSEmmanuel Vadot - description: m2p3 channel registers 34*b2d2a78aSEmmanuel Vadot - description: m2p4 channel registers 35*b2d2a78aSEmmanuel Vadot - description: m2p5 channel registers 36*b2d2a78aSEmmanuel Vadot - description: m2p6 channel registers 37*b2d2a78aSEmmanuel Vadot - description: m2p7 channel registers 38*b2d2a78aSEmmanuel Vadot - description: m2p8 channel registers 39*b2d2a78aSEmmanuel Vadot - description: m2p9 channel registers 40*b2d2a78aSEmmanuel Vadot 41*b2d2a78aSEmmanuel Vadot clocks: 42*b2d2a78aSEmmanuel Vadot items: 43*b2d2a78aSEmmanuel Vadot - description: m2p0 channel gate clock 44*b2d2a78aSEmmanuel Vadot - description: m2p1 channel gate clock 45*b2d2a78aSEmmanuel Vadot - description: m2p2 channel gate clock 46*b2d2a78aSEmmanuel Vadot - description: m2p3 channel gate clock 47*b2d2a78aSEmmanuel Vadot - description: m2p4 channel gate clock 48*b2d2a78aSEmmanuel Vadot - description: m2p5 channel gate clock 49*b2d2a78aSEmmanuel Vadot - description: m2p6 channel gate clock 50*b2d2a78aSEmmanuel Vadot - description: m2p7 channel gate clock 51*b2d2a78aSEmmanuel Vadot - description: m2p8 channel gate clock 52*b2d2a78aSEmmanuel Vadot - description: m2p9 channel gate clock 53*b2d2a78aSEmmanuel Vadot 54*b2d2a78aSEmmanuel Vadot clock-names: 55*b2d2a78aSEmmanuel Vadot items: 56*b2d2a78aSEmmanuel Vadot - const: m2p0 57*b2d2a78aSEmmanuel Vadot - const: m2p1 58*b2d2a78aSEmmanuel Vadot - const: m2p2 59*b2d2a78aSEmmanuel Vadot - const: m2p3 60*b2d2a78aSEmmanuel Vadot - const: m2p4 61*b2d2a78aSEmmanuel Vadot - const: m2p5 62*b2d2a78aSEmmanuel Vadot - const: m2p6 63*b2d2a78aSEmmanuel Vadot - const: m2p7 64*b2d2a78aSEmmanuel Vadot - const: m2p8 65*b2d2a78aSEmmanuel Vadot - const: m2p9 66*b2d2a78aSEmmanuel Vadot 67*b2d2a78aSEmmanuel Vadot interrupts: 68*b2d2a78aSEmmanuel Vadot items: 69*b2d2a78aSEmmanuel Vadot - description: m2p0 channel interrupt 70*b2d2a78aSEmmanuel Vadot - description: m2p1 channel interrupt 71*b2d2a78aSEmmanuel Vadot - description: m2p2 channel interrupt 72*b2d2a78aSEmmanuel Vadot - description: m2p3 channel interrupt 73*b2d2a78aSEmmanuel Vadot - description: m2p4 channel interrupt 74*b2d2a78aSEmmanuel Vadot - description: m2p5 channel interrupt 75*b2d2a78aSEmmanuel Vadot - description: m2p6 channel interrupt 76*b2d2a78aSEmmanuel Vadot - description: m2p7 channel interrupt 77*b2d2a78aSEmmanuel Vadot - description: m2p8 channel interrupt 78*b2d2a78aSEmmanuel Vadot - description: m2p9 channel interrupt 79*b2d2a78aSEmmanuel Vadot 80*b2d2a78aSEmmanuel Vadot '#dma-cells': 81*b2d2a78aSEmmanuel Vadot const: 2 82*b2d2a78aSEmmanuel Vadot description: | 83*b2d2a78aSEmmanuel Vadot The first cell is the unique device channel number as indicated by this 84*b2d2a78aSEmmanuel Vadot table for ep93xx: 85*b2d2a78aSEmmanuel Vadot 86*b2d2a78aSEmmanuel Vadot 0: I2S channel 1 87*b2d2a78aSEmmanuel Vadot 1: I2S channel 2 (unused) 88*b2d2a78aSEmmanuel Vadot 2: AC97 channel 1 (unused) 89*b2d2a78aSEmmanuel Vadot 3: AC97 channel 2 (unused) 90*b2d2a78aSEmmanuel Vadot 4: AC97 channel 3 (unused) 91*b2d2a78aSEmmanuel Vadot 5: I2S channel 3 (unused) 92*b2d2a78aSEmmanuel Vadot 6: UART1 (unused) 93*b2d2a78aSEmmanuel Vadot 7: UART2 (unused) 94*b2d2a78aSEmmanuel Vadot 8: UART3 (unused) 95*b2d2a78aSEmmanuel Vadot 9: IRDA (unused) 96*b2d2a78aSEmmanuel Vadot 97*b2d2a78aSEmmanuel Vadot The second cell is the DMA direction line number: 98*b2d2a78aSEmmanuel Vadot 99*b2d2a78aSEmmanuel Vadot 1: Memory to device 100*b2d2a78aSEmmanuel Vadot 2: Device to memory 101*b2d2a78aSEmmanuel Vadot 102*b2d2a78aSEmmanuel Vadotrequired: 103*b2d2a78aSEmmanuel Vadot - compatible 104*b2d2a78aSEmmanuel Vadot - reg 105*b2d2a78aSEmmanuel Vadot - clocks 106*b2d2a78aSEmmanuel Vadot - clock-names 107*b2d2a78aSEmmanuel Vadot - interrupts 108*b2d2a78aSEmmanuel Vadot 109*b2d2a78aSEmmanuel VadotadditionalProperties: false 110*b2d2a78aSEmmanuel Vadot 111*b2d2a78aSEmmanuel Vadotexamples: 112*b2d2a78aSEmmanuel Vadot - | 113*b2d2a78aSEmmanuel Vadot #include <dt-bindings/clock/cirrus,ep9301-syscon.h> 114*b2d2a78aSEmmanuel Vadot dma-controller@80000000 { 115*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-dma-m2p"; 116*b2d2a78aSEmmanuel Vadot reg = <0x80000000 0x0040>, 117*b2d2a78aSEmmanuel Vadot <0x80000040 0x0040>, 118*b2d2a78aSEmmanuel Vadot <0x80000080 0x0040>, 119*b2d2a78aSEmmanuel Vadot <0x800000c0 0x0040>, 120*b2d2a78aSEmmanuel Vadot <0x80000240 0x0040>, 121*b2d2a78aSEmmanuel Vadot <0x80000200 0x0040>, 122*b2d2a78aSEmmanuel Vadot <0x800002c0 0x0040>, 123*b2d2a78aSEmmanuel Vadot <0x80000280 0x0040>, 124*b2d2a78aSEmmanuel Vadot <0x80000340 0x0040>, 125*b2d2a78aSEmmanuel Vadot <0x80000300 0x0040>; 126*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_M2P0>, 127*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P1>, 128*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P2>, 129*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P3>, 130*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P4>, 131*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P5>, 132*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P6>, 133*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P7>, 134*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P8>, 135*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2P9>; 136*b2d2a78aSEmmanuel Vadot clock-names = "m2p0", "m2p1", 137*b2d2a78aSEmmanuel Vadot "m2p2", "m2p3", 138*b2d2a78aSEmmanuel Vadot "m2p4", "m2p5", 139*b2d2a78aSEmmanuel Vadot "m2p6", "m2p7", 140*b2d2a78aSEmmanuel Vadot "m2p8", "m2p9"; 141*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic0>; 142*b2d2a78aSEmmanuel Vadot interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>; 143*b2d2a78aSEmmanuel Vadot #dma-cells = <2>; 144*b2d2a78aSEmmanuel Vadot }; 145