1Texas Instruments DMA Crossbar (DMA request router)
2
3Required properties:
4- compatible:	"ti,dra7-dma-crossbar" for DRA7xx DMA crossbar
5		"ti,am335x-edma-crossbar" for AM335x and AM437x
6- reg:		Memory map for accessing module
7- #dma-cells:	Should be set to to match with the DMA controller's dma-cells
8		for ti,dra7-dma-crossbar and <3> for ti,am335x-edma-crossbar.
9- dma-requests:	Number of DMA requests the crossbar can receive
10- dma-masters:	phandle pointing to the DMA controller
11
12The DMA controller node need to have the following poroperties:
13- dma-requests:	Number of DMA requests the controller can handle
14
15Optional properties:
16- ti,dma-safe-map: Safe routing value for unused request lines
17
18Notes:
19When requesting channel via ti,dra7-dma-crossbar, the DMA clinet must request
20the DMA event number as crossbar ID (input to the DMA crossbar).
21
22For ti,am335x-edma-crossbar: the meaning of parameters of dmas for clients:
23dmas = <&edma_xbar 12 0 1>; where <12> is the DMA request number, <0> is the TC
24the event should be assigned and <1> is the mux selection for in the crossbar.
25When mux 0 is used the DMA channel can be requested directly from edma node.
26
27Example:
28
29/* DMA controller */
30sdma: dma-controller@4a056000 {
31	compatible = "ti,omap4430-sdma";
32	reg = <0x4a056000 0x1000>;
33	interrupts =	<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
34			<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
35			<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
36			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
37	#dma-cells = <1>;
38	dma-channels = <32>;
39	dma-requests = <127>;
40};
41
42/* DMA crossbar */
43sdma_xbar: dma-router@4a002b78 {
44	compatible = "ti,dra7-dma-crossbar";
45	reg = <0x4a002b78 0xfc>;
46	#dma-cells = <1>;
47	dma-requests = <205>;
48	ti,dma-safe-map = <0>;
49	dma-masters = <&sdma>;
50};
51
52/* DMA client */
53uart1: serial@4806a000 {
54	compatible = "ti,omap4-uart";
55	reg = <0x4806a000 0x100>;
56	interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
57	ti,hwmods = "uart1";
58	clock-frequency = <48000000>;
59	status = "disabled";
60	/* Requesting crossbar input 49 and 50 */
61	dmas = <&sdma_xbar 49>, <&sdma_xbar 50>;
62	dma-names = "tx", "rx";
63};
64