]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - Documentation/devicetree/bindings/dma/ti-dma-crossbar.txt
Merge remote-tracking branch 'y2038/y2038'
[karo-tx-linux.git] / Documentation / devicetree / bindings / dma / ti-dma-crossbar.txt
1 Texas Instruments DMA Crossbar (DMA request router)
2
3 Required 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
12 The DMA controller node need to have the following poroperties:
13 - dma-requests: Number of DMA requests the controller can handle
14
15 Optional properties:
16 - ti,dma-safe-map: Safe routing value for unused request lines
17
18 Notes:
19 When requesting channel via ti,dra7-dma-crossbar, the DMA clinet must request
20 the DMA event number as crossbar ID (input to the DMA crossbar).
21
22 For ti,am335x-edma-crossbar: the meaning of parameters of dmas for clients:
23 dmas = <&edma_xbar 12 0 1>; where <12> is the DMA request number, <0> is the TC
24 the event should be assigned and <1> is the mux selection for in the crossbar.
25 When mux 0 is used the DMA channel can be requested directly from edma node.
26
27 Example:
28
29 /* DMA controller */
30 sdma: 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 */
43 sdma_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 */
53 uart1: 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 };