xref: /openbmc/linux/Documentation/devicetree/bindings/dma/atmel-dma.txt (revision bbe89c8e3d598129b728d1388c3ad9abe4e8e261)
1c5115953SNicolas Ferre* Atmel Direct Memory Access Controller (DMA)
2c5115953SNicolas Ferre
3c5115953SNicolas FerreRequired properties:
4*bbe89c8eSLudovic Desroches- compatible: Should be "atmel,<chip>-dma".
5*bbe89c8eSLudovic Desroches- reg: Should contain DMA registers location and length.
6*bbe89c8eSLudovic Desroches- interrupts: Should contain DMA interrupt.
7*bbe89c8eSLudovic Desroches- #dma-cells: Must be <2>, used to represent the number of integer cells in
8*bbe89c8eSLudovic Desrochesthe dmas property of client devices.
9c5115953SNicolas Ferre
10*bbe89c8eSLudovic DesrochesExample:
11c5115953SNicolas Ferre
12*bbe89c8eSLudovic Desrochesdma0: dma@ffffec00 {
13c5115953SNicolas Ferre	compatible = "atmel,at91sam9g45-dma";
14c5115953SNicolas Ferre	reg = <0xffffec00 0x200>;
15c5115953SNicolas Ferre	interrupts = <21>;
16*bbe89c8eSLudovic Desroches	#dma-cells = <2>;
17*bbe89c8eSLudovic Desroches};
18*bbe89c8eSLudovic Desroches
19*bbe89c8eSLudovic DesrochesDMA clients connected to the Atmel DMA controller must use the format
20*bbe89c8eSLudovic Desrochesdescribed in the dma.txt file, using a three-cell specifier for each channel:
21*bbe89c8eSLudovic Desrochesa phandle plus two interger cells.
22*bbe89c8eSLudovic DesrochesThe three cells in order are:
23*bbe89c8eSLudovic Desroches
24*bbe89c8eSLudovic Desroches1. A phandle pointing to the DMA controller.
25*bbe89c8eSLudovic Desroches2. The memory interface (16 most significant bits), the peripheral interface
26*bbe89c8eSLudovic Desroches(16 less significant bits).
27*bbe89c8eSLudovic Desroches3. The peripheral identifier for the hardware handshaking interface. The
28*bbe89c8eSLudovic Desrochesidentifier can be different for tx and rx.
29*bbe89c8eSLudovic Desroches
30*bbe89c8eSLudovic DesrochesExample:
31*bbe89c8eSLudovic Desroches
32*bbe89c8eSLudovic Desrochesi2c0@i2c@f8010000 {
33*bbe89c8eSLudovic Desroches	compatible = "atmel,at91sam9x5-i2c";
34*bbe89c8eSLudovic Desroches	reg = <0xf8010000 0x100>;
35*bbe89c8eSLudovic Desroches	interrupts = <9 4 6>;
36*bbe89c8eSLudovic Desroches	dmas = <&dma0 1 7>,
37*bbe89c8eSLudovic Desroches	       <&dma0 1 8>;
38*bbe89c8eSLudovic Desroches	dma-names = "tx", "rx";
39c5115953SNicolas Ferre};
40