Nicolas Ferre | c511595 | 2011-10-17 14:56:41 +0200 | [diff] [blame] | 1 | * Atmel Direct Memory Access Controller (DMA) |
| 2 | |
| 3 | Required properties: |
Ludovic Desroches | bbe89c8 | 2013-04-19 09:11:18 +0000 | [diff] [blame] | 4 | - 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 |
| 8 | the dmas property of client devices. |
Nicolas Ferre | c511595 | 2011-10-17 14:56:41 +0200 | [diff] [blame] | 9 | |
Ludovic Desroches | bbe89c8 | 2013-04-19 09:11:18 +0000 | [diff] [blame] | 10 | Example: |
Nicolas Ferre | c511595 | 2011-10-17 14:56:41 +0200 | [diff] [blame] | 11 | |
Ludovic Desroches | bbe89c8 | 2013-04-19 09:11:18 +0000 | [diff] [blame] | 12 | dma0: dma@ffffec00 { |
Nicolas Ferre | c511595 | 2011-10-17 14:56:41 +0200 | [diff] [blame] | 13 | compatible = "atmel,at91sam9g45-dma"; |
| 14 | reg = <0xffffec00 0x200>; |
| 15 | interrupts = <21>; |
Ludovic Desroches | bbe89c8 | 2013-04-19 09:11:18 +0000 | [diff] [blame] | 16 | #dma-cells = <2>; |
| 17 | }; |
| 18 | |
| 19 | DMA clients connected to the Atmel DMA controller must use the format |
| 20 | described in the dma.txt file, using a three-cell specifier for each channel: |
Masanari Iida | 9ca1839 | 2013-07-23 00:13:48 +0900 | [diff] [blame] | 21 | a phandle plus two integer cells. |
Ludovic Desroches | bbe89c8 | 2013-04-19 09:11:18 +0000 | [diff] [blame] | 22 | The three cells in order are: |
| 23 | |
| 24 | 1. A phandle pointing to the DMA controller. |
| 25 | 2. The memory interface (16 most significant bits), the peripheral interface |
| 26 | (16 less significant bits). |
Ludovic Desroches | 62971b2 | 2013-06-13 10:39:39 +0200 | [diff] [blame] | 27 | 3. Parameters for the at91 DMA configuration register which are device |
Masanari Iida | 9ca1839 | 2013-07-23 00:13:48 +0900 | [diff] [blame] | 28 | dependent: |
Ludovic Desroches | 62971b2 | 2013-06-13 10:39:39 +0200 | [diff] [blame] | 29 | - bit 7-0: peripheral identifier for the hardware handshaking interface. The |
| 30 | identifier can be different for tx and rx. |
Ludovic Desroches | 13098cf | 2013-10-04 10:46:51 +0200 | [diff] [blame] | 31 | - bit 11-8: FIFO configuration. 0 for half FIFO, 1 for ALAP, 2 for ASAP. |
Ludovic Desroches | bbe89c8 | 2013-04-19 09:11:18 +0000 | [diff] [blame] | 32 | |
| 33 | Example: |
| 34 | |
| 35 | i2c0@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 Ferre | c511595 | 2011-10-17 14:56:41 +0200 | [diff] [blame] | 42 | }; |