xref: /linux/Documentation/devicetree/bindings/dma/ti-dma-crossbar.txt (revision 93df8a1ed6231727c5db94a80b1a6bd5ee67cec3)
1Texas Instruments DMA Crossbar (DMA request router)
2
3Required properties:
4- compatible:	"ti,dra7-dma-crossbar" for DRA7xx DMA crossbar
5- reg:		Memory map for accessing module
6- #dma-cells:	Should be set to <1>.
7		Clients should use the crossbar request number (input)
8- dma-requests:	Number of DMA requests the crossbar can receive
9- dma-masters:	phandle pointing to the DMA controller
10
11The DMA controller node need to have the following poroperties:
12- dma-requests:	Number of DMA requests the controller can handle
13
14Optional properties:
15- ti,dma-safe-map: Safe routing value for unused request lines
16
17Example:
18
19/* DMA controller */
20sdma: dma-controller@4a056000 {
21	compatible = "ti,omap4430-sdma";
22	reg = <0x4a056000 0x1000>;
23	interrupts =	<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
24			<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
25			<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
26			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
27	#dma-cells = <1>;
28	dma-channels = <32>;
29	dma-requests = <127>;
30};
31
32/* DMA crossbar */
33sdma_xbar: dma-router@4a002b78 {
34	compatible = "ti,dra7-dma-crossbar";
35	reg = <0x4a002b78 0xfc>;
36	#dma-cells = <1>;
37	dma-requests = <205>;
38	ti,dma-safe-map = <0>;
39	dma-masters = <&sdma>;
40};
41
42/* DMA client */
43uart1: serial@4806a000 {
44	compatible = "ti,omap4-uart";
45	reg = <0x4806a000 0x100>;
46	interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
47	ti,hwmods = "uart1";
48	clock-frequency = <48000000>;
49	status = "disabled";
50	dmas = <&sdma_xbar 49>, <&sdma_xbar 50>;
51	dma-names = "tx", "rx";
52};
53