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-m2m.yaml# 5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b2d2a78aSEmmanuel Vadot 7*b2d2a78aSEmmanuel Vadottitle: Cirrus Logic ep93xx SoC 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-m2m 20*b2d2a78aSEmmanuel Vadot - items: 21*b2d2a78aSEmmanuel Vadot - enum: 22*b2d2a78aSEmmanuel Vadot - cirrus,ep9302-dma-m2m 23*b2d2a78aSEmmanuel Vadot - cirrus,ep9307-dma-m2m 24*b2d2a78aSEmmanuel Vadot - cirrus,ep9312-dma-m2m 25*b2d2a78aSEmmanuel Vadot - cirrus,ep9315-dma-m2m 26*b2d2a78aSEmmanuel Vadot - const: cirrus,ep9301-dma-m2m 27*b2d2a78aSEmmanuel Vadot 28*b2d2a78aSEmmanuel Vadot reg: 29*b2d2a78aSEmmanuel Vadot items: 30*b2d2a78aSEmmanuel Vadot - description: m2m0 channel registers 31*b2d2a78aSEmmanuel Vadot - description: m2m1 channel registers 32*b2d2a78aSEmmanuel Vadot 33*b2d2a78aSEmmanuel Vadot clocks: 34*b2d2a78aSEmmanuel Vadot items: 35*b2d2a78aSEmmanuel Vadot - description: m2m0 channel gate clock 36*b2d2a78aSEmmanuel Vadot - description: m2m1 channel gate clock 37*b2d2a78aSEmmanuel Vadot 38*b2d2a78aSEmmanuel Vadot clock-names: 39*b2d2a78aSEmmanuel Vadot items: 40*b2d2a78aSEmmanuel Vadot - const: m2m0 41*b2d2a78aSEmmanuel Vadot - const: m2m1 42*b2d2a78aSEmmanuel Vadot 43*b2d2a78aSEmmanuel Vadot interrupts: 44*b2d2a78aSEmmanuel Vadot items: 45*b2d2a78aSEmmanuel Vadot - description: m2m0 channel interrupt 46*b2d2a78aSEmmanuel Vadot - description: m2m1 channel interrupt 47*b2d2a78aSEmmanuel Vadot 48*b2d2a78aSEmmanuel Vadot '#dma-cells': 49*b2d2a78aSEmmanuel Vadot const: 2 50*b2d2a78aSEmmanuel Vadot description: | 51*b2d2a78aSEmmanuel Vadot The first cell is the unique device channel number as indicated by this 52*b2d2a78aSEmmanuel Vadot table for ep93xx: 53*b2d2a78aSEmmanuel Vadot 54*b2d2a78aSEmmanuel Vadot 10: SPI controller 55*b2d2a78aSEmmanuel Vadot 11: IDE controller 56*b2d2a78aSEmmanuel Vadot 57*b2d2a78aSEmmanuel Vadot The second cell is the DMA direction line number: 58*b2d2a78aSEmmanuel Vadot 59*b2d2a78aSEmmanuel Vadot 1: Memory to device 60*b2d2a78aSEmmanuel Vadot 2: Device to memory 61*b2d2a78aSEmmanuel Vadot 62*b2d2a78aSEmmanuel Vadotrequired: 63*b2d2a78aSEmmanuel Vadot - compatible 64*b2d2a78aSEmmanuel Vadot - reg 65*b2d2a78aSEmmanuel Vadot - clocks 66*b2d2a78aSEmmanuel Vadot - clock-names 67*b2d2a78aSEmmanuel Vadot - interrupts 68*b2d2a78aSEmmanuel Vadot 69*b2d2a78aSEmmanuel VadotadditionalProperties: false 70*b2d2a78aSEmmanuel Vadot 71*b2d2a78aSEmmanuel Vadotexamples: 72*b2d2a78aSEmmanuel Vadot - | 73*b2d2a78aSEmmanuel Vadot #include <dt-bindings/clock/cirrus,ep9301-syscon.h> 74*b2d2a78aSEmmanuel Vadot dma-controller@80000100 { 75*b2d2a78aSEmmanuel Vadot compatible = "cirrus,ep9301-dma-m2m"; 76*b2d2a78aSEmmanuel Vadot reg = <0x80000100 0x0040>, 77*b2d2a78aSEmmanuel Vadot <0x80000140 0x0040>; 78*b2d2a78aSEmmanuel Vadot clocks = <&syscon EP93XX_CLK_M2M0>, 79*b2d2a78aSEmmanuel Vadot <&syscon EP93XX_CLK_M2M1>; 80*b2d2a78aSEmmanuel Vadot clock-names = "m2m0", "m2m1"; 81*b2d2a78aSEmmanuel Vadot interrupt-parent = <&vic0>; 82*b2d2a78aSEmmanuel Vadot interrupts = <17>, <18>; 83*b2d2a78aSEmmanuel Vadot #dma-cells = <2>; 84*b2d2a78aSEmmanuel Vadot }; 85