|  | * SHDMA Device Tree bindings | 
|  |  | 
|  | Sh-/r-mobile and r-car systems often have multiple identical DMA controller | 
|  | instances, capable of serving any of a common set of DMA slave devices, using | 
|  | the same configuration. To describe this topology we require all compatible | 
|  | SHDMA DT nodes to be placed under a DMA multiplexer node. All such compatible | 
|  | DMAC instances have the same number of channels and use the same DMA | 
|  | descriptors. Therefore respective DMA DT bindings can also all be placed in the | 
|  | multiplexer node. Even if there is only one such DMAC instance on a system, it | 
|  | still has to be placed under such a multiplexer node. | 
|  |  | 
|  | * DMA multiplexer | 
|  |  | 
|  | Required properties: | 
|  | - compatible:	should be "renesas,shdma-mux" | 
|  | - #dma-cells:	should be <1>, see "dmas" property below | 
|  |  | 
|  | Optional properties (currently unused): | 
|  | - dma-channels:	number of DMA channels | 
|  | - dma-requests:	number of DMA request signals | 
|  |  | 
|  | * DMA controller | 
|  |  | 
|  | Required properties: | 
|  | - compatible:	should be of the form "renesas,shdma-<soc>", where <soc> should | 
|  | be replaced with the desired SoC model, e.g. | 
|  | "renesas,shdma-r8a73a4" for the system DMAC on r8a73a4 SoC | 
|  |  | 
|  | Example: | 
|  | dmac: dma-multiplexer@0 { | 
|  | compatible = "renesas,shdma-mux"; | 
|  | #dma-cells = <1>; | 
|  | dma-channels = <20>; | 
|  | dma-requests = <256>; | 
|  | #address-cells = <2>; | 
|  | #size-cells = <2>; | 
|  | ranges; | 
|  |  | 
|  | dma0: dma-controller@e6700020 { | 
|  | compatible = "renesas,shdma-r8a73a4"; | 
|  | reg = <0 0xe6700020 0 0x89e0>; | 
|  | interrupt-parent = <&gic>; | 
|  | interrupts = <0 220 4 | 
|  | 0 200 4 | 
|  | 0 201 4 | 
|  | 0 202 4 | 
|  | 0 203 4 | 
|  | 0 204 4 | 
|  | 0 205 4 | 
|  | 0 206 4 | 
|  | 0 207 4 | 
|  | 0 208 4 | 
|  | 0 209 4 | 
|  | 0 210 4 | 
|  | 0 211 4 | 
|  | 0 212 4 | 
|  | 0 213 4 | 
|  | 0 214 4 | 
|  | 0 215 4 | 
|  | 0 216 4 | 
|  | 0 217 4 | 
|  | 0 218 4 | 
|  | 0 219 4>; | 
|  | interrupt-names = "error", | 
|  | "ch0", "ch1", "ch2", "ch3", | 
|  | "ch4", "ch5", "ch6", "ch7", | 
|  | "ch8", "ch9", "ch10", "ch11", | 
|  | "ch12", "ch13", "ch14", "ch15", | 
|  | "ch16", "ch17", "ch18", "ch19"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | * DMA client | 
|  |  | 
|  | Required properties: | 
|  | - dmas:		a list of <[DMA multiplexer phandle] [MID/RID value]> pairs, | 
|  | where MID/RID values are fixed handles, specified in the SoC | 
|  | manual | 
|  | - dma-names:	a list of DMA channel names, one per "dmas" entry | 
|  |  | 
|  | Example: | 
|  | dmas = <&dmac 0xd1 | 
|  | &dmac 0xd2>; | 
|  | dma-names = "tx", "rx"; |