xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* Freescale Direct Memory Access (DMA) Controller for i.MX
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunThis document will only describe differences to the generic DMA Controller and
4*4882a593SmuzhiyunDMA request bindings as described in dma/dma.txt .
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun* DMA controller
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunRequired properties:
9*4882a593Smuzhiyun- compatible : Should be "fsl,<chip>-dma". chip can be imx1, imx21 or imx27
10*4882a593Smuzhiyun- reg : Should contain DMA registers location and length
11*4882a593Smuzhiyun- interrupts : First item should be DMA interrupt, second one is optional and
12*4882a593Smuzhiyun    should contain DMA Error interrupt
13*4882a593Smuzhiyun- #dma-cells : Has to be 1. imx-dma does not support anything else.
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunOptional properties:
16*4882a593Smuzhiyun- #dma-channels : Number of DMA channels supported. Should be 16.
17*4882a593Smuzhiyun- #dma-requests : Number of DMA requests supported.
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunExample:
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	dma: dma@10001000 {
22*4882a593Smuzhiyun		compatible = "fsl,imx27-dma";
23*4882a593Smuzhiyun		reg = <0x10001000 0x1000>;
24*4882a593Smuzhiyun		interrupts = <32 33>;
25*4882a593Smuzhiyun		#dma-cells = <1>;
26*4882a593Smuzhiyun		#dma-channels = <16>;
27*4882a593Smuzhiyun	};
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun* DMA client
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunClients have to specify the DMA requests with phandles in a list.
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunRequired properties:
35*4882a593Smuzhiyun- dmas: List of one or more DMA request specifiers. One DMA request specifier
36*4882a593Smuzhiyun    consists of a phandle to the DMA controller followed by the integer
37*4882a593Smuzhiyun    specifying the request line.
38*4882a593Smuzhiyun- dma-names: List of string identifiers for the DMA requests. For the correct
39*4882a593Smuzhiyun    names, have a look at the specific client driver.
40*4882a593Smuzhiyun
41*4882a593SmuzhiyunExample:
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	sdhci1: sdhci@10013000 {
44*4882a593Smuzhiyun		...
45*4882a593Smuzhiyun		dmas = <&dma 7>;
46*4882a593Smuzhiyun		dma-names = "rx-tx";
47*4882a593Smuzhiyun		...
48*4882a593Smuzhiyun	};
49