145 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2p.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Cirrus Logic ep93xx SoC M2P DMA controller8 9maintainers:10 - Alexander Sverdlin <alexander.sverdlin@gmail.com>11 - Nikita Shubin <nikita.shubin@maquefel.me>12 13allOf:14 - $ref: dma-controller.yaml#15 16properties:17 compatible:18 oneOf:19 - const: cirrus,ep9301-dma-m2p20 - items:21 - enum:22 - cirrus,ep9302-dma-m2p23 - cirrus,ep9307-dma-m2p24 - cirrus,ep9312-dma-m2p25 - cirrus,ep9315-dma-m2p26 - const: cirrus,ep9301-dma-m2p27 28 reg:29 items:30 - description: m2p0 channel registers31 - description: m2p1 channel registers32 - description: m2p2 channel registers33 - description: m2p3 channel registers34 - description: m2p4 channel registers35 - description: m2p5 channel registers36 - description: m2p6 channel registers37 - description: m2p7 channel registers38 - description: m2p8 channel registers39 - description: m2p9 channel registers40 41 clocks:42 items:43 - description: m2p0 channel gate clock44 - description: m2p1 channel gate clock45 - description: m2p2 channel gate clock46 - description: m2p3 channel gate clock47 - description: m2p4 channel gate clock48 - description: m2p5 channel gate clock49 - description: m2p6 channel gate clock50 - description: m2p7 channel gate clock51 - description: m2p8 channel gate clock52 - description: m2p9 channel gate clock53 54 clock-names:55 items:56 - const: m2p057 - const: m2p158 - const: m2p259 - const: m2p360 - const: m2p461 - const: m2p562 - const: m2p663 - const: m2p764 - const: m2p865 - const: m2p966 67 interrupts:68 items:69 - description: m2p0 channel interrupt70 - description: m2p1 channel interrupt71 - description: m2p2 channel interrupt72 - description: m2p3 channel interrupt73 - description: m2p4 channel interrupt74 - description: m2p5 channel interrupt75 - description: m2p6 channel interrupt76 - description: m2p7 channel interrupt77 - description: m2p8 channel interrupt78 - description: m2p9 channel interrupt79 80 '#dma-cells':81 const: 282 description: |83 The first cell is the unique device channel number as indicated by this84 table for ep93xx:85 86 0: I2S channel 187 1: I2S channel 2 (unused)88 2: AC97 channel 1 (unused)89 3: AC97 channel 2 (unused)90 4: AC97 channel 3 (unused)91 5: I2S channel 3 (unused)92 6: UART1 (unused)93 7: UART2 (unused)94 8: UART3 (unused)95 9: IRDA (unused)96 97 The second cell is the DMA direction line number:98 99 1: Memory to device100 2: Device to memory101 102required:103 - compatible104 - reg105 - clocks106 - clock-names107 - interrupts108 109additionalProperties: false110 111examples:112 - |113 #include <dt-bindings/clock/cirrus,ep9301-syscon.h>114 dma-controller@80000000 {115 compatible = "cirrus,ep9301-dma-m2p";116 reg = <0x80000000 0x0040>,117 <0x80000040 0x0040>,118 <0x80000080 0x0040>,119 <0x800000c0 0x0040>,120 <0x80000240 0x0040>,121 <0x80000200 0x0040>,122 <0x800002c0 0x0040>,123 <0x80000280 0x0040>,124 <0x80000340 0x0040>,125 <0x80000300 0x0040>;126 clocks = <&syscon EP93XX_CLK_M2P0>,127 <&syscon EP93XX_CLK_M2P1>,128 <&syscon EP93XX_CLK_M2P2>,129 <&syscon EP93XX_CLK_M2P3>,130 <&syscon EP93XX_CLK_M2P4>,131 <&syscon EP93XX_CLK_M2P5>,132 <&syscon EP93XX_CLK_M2P6>,133 <&syscon EP93XX_CLK_M2P7>,134 <&syscon EP93XX_CLK_M2P8>,135 <&syscon EP93XX_CLK_M2P9>;136 clock-names = "m2p0", "m2p1",137 "m2p2", "m2p3",138 "m2p4", "m2p5",139 "m2p6", "m2p7",140 "m2p8", "m2p9";141 interrupt-parent = <&vic0>;142 interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>;143 #dma-cells = <2>;144 };145