1* SHDMA Device Tree bindings 2 3Sh-/r-mobile and R-Car systems often have multiple identical DMA controller 4instances, capable of serving any of a common set of DMA slave devices, using 5the same configuration. To describe this topology we require all compatible 6SHDMA DT nodes to be placed under a DMA multiplexer node. All such compatible 7DMAC instances have the same number of channels and use the same DMA 8descriptors. Therefore respective DMA DT bindings can also all be placed in the 9multiplexer node. Even if there is only one such DMAC instance on a system, it 10still has to be placed under such a multiplexer node. 11 12* DMA multiplexer 13 14Required properties: 15- compatible: should be "renesas,shdma-mux" 16- #dma-cells: should be <1>, see "dmas" property below 17 18Optional properties (currently unused): 19- dma-channels: number of DMA channels 20- dma-requests: number of DMA request signals 21 22* DMA controller 23 24Required properties: 25- compatible: should be of the form "renesas,shdma-<soc>", where <soc> should 26 be replaced with the desired SoC model, e.g. 27 "renesas,shdma-r8a73a4" for the system DMAC on r8a73a4 SoC 28 29Example: 30 dmac: dma-multiplexer@0 { 31 compatible = "renesas,shdma-mux"; 32 #dma-cells = <1>; 33 dma-channels = <20>; 34 dma-requests = <256>; 35 #address-cells = <2>; 36 #size-cells = <2>; 37 ranges; 38 39 dma0: dma-controller@e6700020 { 40 compatible = "renesas,shdma-r8a73a4"; 41 reg = <0 0xe6700020 0 0x89e0>; 42 interrupt-parent = <&gic>; 43 interrupts = <0 220 4 44 0 200 4 45 0 201 4 46 0 202 4 47 0 203 4 48 0 204 4 49 0 205 4 50 0 206 4 51 0 207 4 52 0 208 4 53 0 209 4 54 0 210 4 55 0 211 4 56 0 212 4 57 0 213 4 58 0 214 4 59 0 215 4 60 0 216 4 61 0 217 4 62 0 218 4 63 0 219 4>; 64 interrupt-names = "error", 65 "ch0", "ch1", "ch2", "ch3", 66 "ch4", "ch5", "ch6", "ch7", 67 "ch8", "ch9", "ch10", "ch11", 68 "ch12", "ch13", "ch14", "ch15", 69 "ch16", "ch17", "ch18", "ch19"; 70 }; 71 }; 72 73* DMA client 74 75Required properties: 76- dmas: a list of <[DMA multiplexer phandle] [MID/RID value]> pairs, 77 where MID/RID values are fixed handles, specified in the SoC 78 manual 79- dma-names: a list of DMA channel names, one per "dmas" entry 80 81Example: 82 dmas = <&dmac 0xd1 83 &dmac 0xd2>; 84 dma-names = "tx", "rx"; 85