GNU Linux-libre 4.19.264-gnu1
[releases.git] / Documentation / devicetree / bindings / dma / sprd-dma.txt
1 * Spreadtrum DMA controller
2
3 This binding follows the generic DMA bindings defined in dma.txt.
4
5 Required properties:
6 - compatible: Should be "sprd,sc9860-dma".
7 - reg: Should contain DMA registers location and length.
8 - interrupts: Should contain one interrupt shared by all channel.
9 - #dma-cells: must be <1>. Used to represent the number of integer
10         cells in the dmas property of client device.
11 - #dma-channels : Number of DMA channels supported. Should be 32.
12 - clock-names: Should contain the clock of the DMA controller.
13 - clocks: Should contain a clock specifier for each entry in clock-names.
14
15 Example:
16
17 Controller:
18 apdma: dma-controller@20100000 {
19         compatible = "sprd,sc9860-dma";
20         reg = <0x20100000 0x4000>;
21         interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
22         #dma-cells = <1>;
23         #dma-channels = <32>;
24         clock-names = "enable";
25         clocks = <&clk_ap_ahb_gates 5>;
26 };
27
28
29 Client:
30 DMA clients connected to the Spreadtrum DMA controller must use the format
31 described in the dma.txt file, using a two-cell specifier for each channel.
32 The two cells in order are:
33 1. A phandle pointing to the DMA controller.
34 2. The channel id.
35
36 spi0: spi@70a00000{
37         ...
38         dma-names = "rx_chn", "tx_chn";
39         dmas = <&apdma 11>, <&apdma 12>;
40         ...
41 };