Merge tag 'xarray-5.7' of git://git.infradead.org/users/willy/linux-dax
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / dma / atmel-xdma.txt
1 * Atmel Extensible Direct Memory Access Controller (XDMAC)
2
3 * XDMA Controller
4 Required properties:
5 - compatible: Should be "atmel,sama5d4-dma" or "microchip,sam9x60-dma".
6 - reg: Should contain DMA registers location and length.
7 - interrupts: Should contain DMA interrupt.
8 - #dma-cells: Must be <1>, used to represent the number of integer cells in
9 the dmas property of client devices.
10   - The 1st cell specifies the channel configuration register:
11     - bit 13: SIF, source interface identifier, used to get the memory
12     interface identifier,
13     - bit 14: DIF, destination interface identifier, used to get the peripheral
14     interface identifier,
15     - bit 30-24: PERID, peripheral identifier.
16
17 Example:
18
19 dma1: dma-controller@f0004000 {
20         compatible = "atmel,sama5d4-dma";
21         reg = <0xf0004000 0x200>;
22         interrupts = <50 4 0>;
23         #dma-cells = <1>;
24 };
25
26
27 * DMA clients
28 DMA clients connected to the Atmel XDMA controller must use the format
29 described in the dma.txt file, using a one-cell specifier for each channel.
30 The two cells in order are:
31 1. A phandle pointing to the DMA controller.
32 2. Channel configuration register. Configurable fields are:
33     - bit 13: SIF, source interface identifier, used to get the memory
34     interface identifier,
35     - bit 14: DIF, destination interface identifier, used to get the peripheral
36     interface identifier,
37   - bit 30-24: PERID, peripheral identifier.
38
39 Example:
40
41 i2c2: i2c@f8024000 {
42         compatible = "atmel,at91sam9x5-i2c";
43         reg = <0xf8024000 0x4000>;
44         interrupts = <34 4 6>;
45         dmas = <&dma1
46                 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
47                  | AT91_XDMAC_DT_PERID(6))>,
48                <&dma1
49                 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
50                 | AT91_XDMAC_DT_PERID(7))>;
51         dma-names = "tx", "rx";
52 };