blob: f69bcf5a6343bf314b5eef199999c5a676131e74 [file] [log] [blame]
Nicolas Ferrec5115952011-10-17 14:56:41 +02001* Atmel Direct Memory Access Controller (DMA)
2
3Required properties:
Ludovic Desrochesbbe89c82013-04-19 09:11:18 +00004- compatible: Should be "atmel,<chip>-dma".
5- reg: Should contain DMA registers location and length.
6- interrupts: Should contain DMA interrupt.
7- #dma-cells: Must be <2>, used to represent the number of integer cells in
8the dmas property of client devices.
Nicolas Ferrec5115952011-10-17 14:56:41 +02009
Ludovic Desrochesbbe89c82013-04-19 09:11:18 +000010Example:
Nicolas Ferrec5115952011-10-17 14:56:41 +020011
Ludovic Desrochesbbe89c82013-04-19 09:11:18 +000012dma0: dma@ffffec00 {
Nicolas Ferrec5115952011-10-17 14:56:41 +020013 compatible = "atmel,at91sam9g45-dma";
14 reg = <0xffffec00 0x200>;
15 interrupts = <21>;
Ludovic Desrochesbbe89c82013-04-19 09:11:18 +000016 #dma-cells = <2>;
17};
18
19DMA clients connected to the Atmel DMA controller must use the format
20described in the dma.txt file, using a three-cell specifier for each channel:
Masanari Iida9ca18392013-07-23 00:13:48 +090021a phandle plus two integer cells.
Ludovic Desrochesbbe89c82013-04-19 09:11:18 +000022The three cells in order are:
23
241. A phandle pointing to the DMA controller.
252. The memory interface (16 most significant bits), the peripheral interface
26(16 less significant bits).
Ludovic Desroches62971b22013-06-13 10:39:39 +0200273. Parameters for the at91 DMA configuration register which are device
Masanari Iida9ca18392013-07-23 00:13:48 +090028dependent:
Ludovic Desroches62971b22013-06-13 10:39:39 +020029 - bit 7-0: peripheral identifier for the hardware handshaking interface. The
30 identifier can be different for tx and rx.
Ludovic Desroches13098cf2013-10-04 10:46:51 +020031 - bit 11-8: FIFO configuration. 0 for half FIFO, 1 for ALAP, 2 for ASAP.
Ludovic Desrochesbbe89c82013-04-19 09:11:18 +000032
33Example:
34
35i2c0@i2c@f8010000 {
36 compatible = "atmel,at91sam9x5-i2c";
37 reg = <0xf8010000 0x100>;
38 interrupts = <9 4 6>;
39 dmas = <&dma0 1 7>,
40 <&dma0 1 8>;
41 dma-names = "tx", "rx";
Nicolas Ferrec5115952011-10-17 14:56:41 +020042};