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