xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/dma/atmel-dma.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* Atmel Direct Memory Access Controller (DMA)
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible: Should be "atmel,<chip>-dma".
5*4882a593Smuzhiyun- reg: Should contain DMA registers location and length.
6*4882a593Smuzhiyun- interrupts: Should contain DMA interrupt.
7*4882a593Smuzhiyun- #dma-cells: Must be <2>, used to represent the number of integer cells in
8*4882a593Smuzhiyunthe dmas property of client devices.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunExample:
11*4882a593Smuzhiyun
12*4882a593Smuzhiyundma0: dma@ffffec00 {
13*4882a593Smuzhiyun	compatible = "atmel,at91sam9g45-dma";
14*4882a593Smuzhiyun	reg = <0xffffec00 0x200>;
15*4882a593Smuzhiyun	interrupts = <21>;
16*4882a593Smuzhiyun	#dma-cells = <2>;
17*4882a593Smuzhiyun};
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunDMA clients connected to the Atmel DMA controller must use the format
20*4882a593Smuzhiyundescribed in the dma.txt file, using a three-cell specifier for each channel:
21*4882a593Smuzhiyuna phandle plus two integer cells.
22*4882a593SmuzhiyunThe three cells in order are:
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun1. A phandle pointing to the DMA controller.
25*4882a593Smuzhiyun2. The memory interface (16 most significant bits), the peripheral interface
26*4882a593Smuzhiyun(16 less significant bits).
27*4882a593Smuzhiyun3. Parameters for the at91 DMA configuration register which are device
28*4882a593Smuzhiyundependent:
29*4882a593Smuzhiyun  - bit 7-0: peripheral identifier for the hardware handshaking interface. The
30*4882a593Smuzhiyun  identifier can be different for tx and rx.
31*4882a593Smuzhiyun  - bit 11-8: FIFO configuration. 0 for half FIFO, 1 for ALAP, 2 for ASAP.
32*4882a593Smuzhiyun
33*4882a593SmuzhiyunExample:
34*4882a593Smuzhiyun
35*4882a593Smuzhiyuni2c0@i2c@f8010000 {
36*4882a593Smuzhiyun	compatible = "atmel,at91sam9x5-i2c";
37*4882a593Smuzhiyun	reg = <0xf8010000 0x100>;
38*4882a593Smuzhiyun	interrupts = <9 4 6>;
39*4882a593Smuzhiyun	dmas = <&dma0 1 7>,
40*4882a593Smuzhiyun	       <&dma0 1 8>;
41*4882a593Smuzhiyun	dma-names = "tx", "rx";
42*4882a593Smuzhiyun};
43