xref: /freebsd/sys/contrib/device-tree/Bindings/dma/atmel-dma.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Atmel Direct Memory Access Controller (DMA)
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible: Should be "atmel,<chip>-dma".
5*c66ec88fSEmmanuel Vadot- reg: Should contain DMA registers location and length.
6*c66ec88fSEmmanuel Vadot- interrupts: Should contain DMA interrupt.
7*c66ec88fSEmmanuel Vadot- #dma-cells: Must be <2>, used to represent the number of integer cells in
8*c66ec88fSEmmanuel Vadotthe dmas property of client devices.
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel VadotExample:
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel Vadotdma0: dma@ffffec00 {
13*c66ec88fSEmmanuel Vadot	compatible = "atmel,at91sam9g45-dma";
14*c66ec88fSEmmanuel Vadot	reg = <0xffffec00 0x200>;
15*c66ec88fSEmmanuel Vadot	interrupts = <21>;
16*c66ec88fSEmmanuel Vadot	#dma-cells = <2>;
17*c66ec88fSEmmanuel Vadot};
18*c66ec88fSEmmanuel Vadot
19*c66ec88fSEmmanuel VadotDMA clients connected to the Atmel DMA controller must use the format
20*c66ec88fSEmmanuel Vadotdescribed in the dma.txt file, using a three-cell specifier for each channel:
21*c66ec88fSEmmanuel Vadota phandle plus two integer cells.
22*c66ec88fSEmmanuel VadotThe three cells in order are:
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel Vadot1. A phandle pointing to the DMA controller.
25*c66ec88fSEmmanuel Vadot2. The memory interface (16 most significant bits), the peripheral interface
26*c66ec88fSEmmanuel Vadot(16 less significant bits).
27*c66ec88fSEmmanuel Vadot3. Parameters for the at91 DMA configuration register which are device
28*c66ec88fSEmmanuel Vadotdependent:
29*c66ec88fSEmmanuel Vadot  - bit 7-0: peripheral identifier for the hardware handshaking interface. The
30*c66ec88fSEmmanuel Vadot  identifier can be different for tx and rx.
31*c66ec88fSEmmanuel Vadot  - bit 11-8: FIFO configuration. 0 for half FIFO, 1 for ALAP, 2 for ASAP.
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel VadotExample:
34*c66ec88fSEmmanuel Vadot
35*c66ec88fSEmmanuel Vadoti2c0@i2c@f8010000 {
36*c66ec88fSEmmanuel Vadot	compatible = "atmel,at91sam9x5-i2c";
37*c66ec88fSEmmanuel Vadot	reg = <0xf8010000 0x100>;
38*c66ec88fSEmmanuel Vadot	interrupts = <9 4 6>;
39*c66ec88fSEmmanuel Vadot	dmas = <&dma0 1 7>,
40*c66ec88fSEmmanuel Vadot	       <&dma0 1 8>;
41*c66ec88fSEmmanuel Vadot	dma-names = "tx", "rx";
42*c66ec88fSEmmanuel Vadot};
43