summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/dma/ti-dma-crossbar.txt
blob: 63a48928f3a8cc254340b7a6979371118aa779e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Texas Instruments DMA Crossbar (DMA request router)

Required properties:
- compatible:	"ti,dra7-dma-crossbar" for DRA7xx DMA crossbar
- reg:		Memory map for accessing module
- #dma-cells:	Should be set to <1>.
		Clients should use the crossbar request number (input)
- dma-requests:	Number of DMA requests the crossbar can receive
- dma-masters:	phandle pointing to the DMA controller

The DMA controller node need to have the following poroperties:
- dma-requests:	Number of DMA requests the controller can handle

Optional properties:
- ti,dma-safe-map: Safe routing value for unused request lines

Example:

/* DMA controller */
sdma: dma-controller@4a056000 {
	compatible = "ti,omap4430-sdma";
	reg = <0x4a056000 0x1000>;
	interrupts =	<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
	#dma-cells = <1>;
	dma-channels = <32>;
	dma-requests = <127>;
};

/* DMA crossbar */
sdma_xbar: dma-router@4a002b78 {
	compatible = "ti,dra7-dma-crossbar";
	reg = <0x4a002b78 0xfc>;
	#dma-cells = <1>;
	dma-requests = <205>;
	ti,dma-safe-map = <0>;
	dma-masters = <&sdma>;
};

/* DMA client */
uart1: serial@4806a000 {
	compatible = "ti,omap4-uart";
	reg = <0x4806a000 0x100>;
	interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
	ti,hwmods = "uart1";
	clock-frequency = <48000000>;
	status = "disabled";
	dmas = <&sdma_xbar 49>, <&sdma_xbar 50>;
	dma-names = "tx", "rx";
};