Staging
v0.5.1
https://github.com/torvalds/linux
Raw File
Tip revision: 92d21ac74a9e3c09b0b01c764e530657e4c85c49 authored by Linus Torvalds on 11 July 2016, 03:24:59 UTC
Linux 4.7-rc7
Tip revision: 92d21ac
shdma.txt
* 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";
back to top