aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/dma
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/dma')
-rw-r--r--Documentation/devicetree/bindings/dma/atmel-dma.txt7
-rw-r--r--Documentation/devicetree/bindings/dma/fsl-imx-dma.txt48
-rw-r--r--Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt56
-rw-r--r--Documentation/devicetree/bindings/dma/shdma.txt75
4 files changed, 184 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/dma/atmel-dma.txt b/Documentation/devicetree/bindings/dma/atmel-dma.txt
index c80e8a3402f0..c280a0e6f42d 100644
--- a/Documentation/devicetree/bindings/dma/atmel-dma.txt
+++ b/Documentation/devicetree/bindings/dma/atmel-dma.txt
@@ -24,8 +24,11 @@ The three cells in order are:
241. A phandle pointing to the DMA controller. 241. A phandle pointing to the DMA controller.
252. The memory interface (16 most significant bits), the peripheral interface 252. The memory interface (16 most significant bits), the peripheral interface
26(16 less significant bits). 26(16 less significant bits).
273. The peripheral identifier for the hardware handshaking interface. The 273. Parameters for the at91 DMA configuration register which are device
28identifier can be different for tx and rx. 28dependant:
29 - bit 7-0: peripheral identifier for the hardware handshaking interface. The
30 identifier can be different for tx and rx.
31 - bit 11-8: FIFO configuration. 0 for half FIFO, 1 for ALAP, 1 for ASAP.
29 32
30Example: 33Example:
31 34
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt
new file mode 100644
index 000000000000..2717ecb47db9
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt
@@ -0,0 +1,48 @@
1* Freescale Direct Memory Access (DMA) Controller for i.MX
2
3This document will only describe differences to the generic DMA Controller and
4DMA request bindings as described in dma/dma.txt .
5
6* DMA controller
7
8Required properties:
9- compatible : Should be "fsl,<chip>-dma". chip can be imx1, imx21 or imx27
10- reg : Should contain DMA registers location and length
11- interrupts : First item should be DMA interrupt, second one is optional and
12 should contain DMA Error interrupt
13- #dma-cells : Has to be 1. imx-dma does not support anything else.
14
15Optional properties:
16- #dma-channels : Number of DMA channels supported. Should be 16.
17- #dma-requests : Number of DMA requests supported.
18
19Example:
20
21 dma: dma@10001000 {
22 compatible = "fsl,imx27-dma";
23 reg = <0x10001000 0x1000>;
24 interrupts = <32 33>;
25 #dma-cells = <1>;
26 #dma-channels = <16>;
27 };
28
29
30* DMA client
31
32Clients have to specify the DMA requests with phandles in a list.
33
34Required properties:
35- dmas: List of one or more DMA request specifiers. One DMA request specifier
36 consists of a phandle to the DMA controller followed by the integer
37 specifiying the request line.
38- dma-names: List of string identifiers for the DMA requests. For the correct
39 names, have a look at the specific client driver.
40
41Example:
42
43 sdhci1: sdhci@10013000 {
44 ...
45 dmas = <&dma 7>;
46 dma-names = "rx-tx";
47 ...
48 };
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
index d1e3f443e205..68cee4f5539f 100644
--- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
@@ -4,14 +4,70 @@ Required properties:
4- compatible : Should be "fsl,<chip>-sdma" 4- compatible : Should be "fsl,<chip>-sdma"
5- reg : Should contain SDMA registers location and length 5- reg : Should contain SDMA registers location and length
6- interrupts : Should contain SDMA interrupt 6- interrupts : Should contain SDMA interrupt
7- #dma-cells : Must be <3>.
8 The first cell specifies the DMA request/event ID. See details below
9 about the second and third cell.
7- fsl,sdma-ram-script-name : Should contain the full path of SDMA RAM 10- fsl,sdma-ram-script-name : Should contain the full path of SDMA RAM
8 scripts firmware 11 scripts firmware
9 12
13The second cell of dma phandle specifies the peripheral type of DMA transfer.
14The full ID of peripheral types can be found below.
15
16 ID transfer type
17 ---------------------
18 0 MCU domain SSI
19 1 Shared SSI
20 2 MMC
21 3 SDHC
22 4 MCU domain UART
23 5 Shared UART
24 6 FIRI
25 7 MCU domain CSPI
26 8 Shared CSPI
27 9 SIM
28 10 ATA
29 11 CCM
30 12 External peripheral
31 13 Memory Stick Host Controller
32 14 Shared Memory Stick Host Controller
33 15 DSP
34 16 Memory
35 17 FIFO type Memory
36 18 SPDIF
37 19 IPU Memory
38 20 ASRC
39 21 ESAI
40
41The third cell specifies the transfer priority as below.
42
43 ID transfer priority
44 -------------------------
45 0 High
46 1 Medium
47 2 Low
48
10Examples: 49Examples:
11 50
12sdma@83fb0000 { 51sdma@83fb0000 {
13 compatible = "fsl,imx51-sdma", "fsl,imx35-sdma"; 52 compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
14 reg = <0x83fb0000 0x4000>; 53 reg = <0x83fb0000 0x4000>;
15 interrupts = <6>; 54 interrupts = <6>;
55 #dma-cells = <3>;
16 fsl,sdma-ram-script-name = "sdma-imx51.bin"; 56 fsl,sdma-ram-script-name = "sdma-imx51.bin";
17}; 57};
58
59DMA clients connected to the i.MX SDMA controller must use the format
60described in the dma.txt file.
61
62Examples:
63
64ssi2: ssi@70014000 {
65 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
66 reg = <0x70014000 0x4000>;
67 interrupts = <30>;
68 clocks = <&clks 49>;
69 dmas = <&sdma 24 1 0>,
70 <&sdma 25 1 0>;
71 dma-names = "rx", "tx";
72 fsl,fifo-depth = <15>;
73};
diff --git a/Documentation/devicetree/bindings/dma/shdma.txt b/Documentation/devicetree/bindings/dma/shdma.txt
new file mode 100644
index 000000000000..c15994aa1939
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/shdma.txt
@@ -0,0 +1,75 @@
1* SHDMA Device Tree bindings
2
3Sh-/r-mobile and r-car systems often have multiple identical DMA controller
4instances, capable of serving any of a common set of DMA slave devices, using
5the same configuration. To describe this topology we require all compatible
6SHDMA DT nodes to be placed under a DMA multiplexer node. All such compatible
7DMAC instances have the same number of channels and use the same DMA
8descriptors. Therefore respective DMA DT bindings can also all be placed in the
9multiplexer node. Even if there is only one such DMAC instance on a system, it
10still has to be placed under such a multiplexer node.
11
12* DMA multiplexer
13
14Required properties:
15- compatible: should be "renesas,shdma-mux"
16- #dma-cells: should be <1>, see "dmas" property below
17
18Optional properties (currently unused):
19- dma-channels: number of DMA channels
20- dma-requests: number of DMA request signals
21
22* DMA controller
23
24Required properties:
25- compatible: should be "renesas,shdma"
26
27Example:
28 dmac: dma-mux0 {
29 compatible = "renesas,shdma-mux";
30 #dma-cells = <1>;
31 dma-channels = <6>;
32 dma-requests = <256>;
33 reg = <0 0>; /* Needed for AUXDATA */
34 #address-cells = <1>;
35 #size-cells = <1>;
36 ranges;
37
38 dma0: shdma@fe008020 {
39 compatible = "renesas,shdma";
40 reg = <0xfe008020 0x270>,
41 <0xfe009000 0xc>;
42 interrupt-parent = <&gic>;
43 interrupts = <0 34 4
44 0 28 4
45 0 29 4
46 0 30 4
47 0 31 4
48 0 32 4
49 0 33 4>;
50 interrupt-names = "error",
51 "ch0", "ch1", "ch2", "ch3",
52 "ch4", "ch5";
53 };
54
55 dma1: shdma@fe018020 {
56 ...
57 };
58
59 dma2: shdma@fe028020 {
60 ...
61 };
62 };
63
64* DMA client
65
66Required properties:
67- dmas: a list of <[DMA multiplexer phandle] [MID/RID value]> pairs,
68 where MID/RID values are fixed handles, specified in the SoC
69 manual
70- dma-names: a list of DMA channel names, one per "dmas" entry
71
72Example:
73 dmas = <&dmac 0xd1
74 &dmac 0xd2>;
75 dma-names = "tx", "rx";