xref: /freebsd/sys/contrib/device-tree/Bindings/dma/sprd-dma.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Spreadtrum DMA controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotThis binding follows the generic DMA bindings defined in dma.txt.
4*c66ec88fSEmmanuel Vadot
5*c66ec88fSEmmanuel VadotRequired properties:
6*c66ec88fSEmmanuel Vadot- compatible: Should be "sprd,sc9860-dma".
7*c66ec88fSEmmanuel Vadot- reg: Should contain DMA registers location and length.
8*c66ec88fSEmmanuel Vadot- interrupts: Should contain one interrupt shared by all channel.
9*c66ec88fSEmmanuel Vadot- #dma-cells: must be <1>. Used to represent the number of integer
10*c66ec88fSEmmanuel Vadot	cells in the dmas property of client device.
11*c66ec88fSEmmanuel Vadot- #dma-channels : Number of DMA channels supported. Should be 32.
12*c66ec88fSEmmanuel Vadot- clock-names: Should contain the clock of the DMA controller.
13*c66ec88fSEmmanuel Vadot- clocks: Should contain a clock specifier for each entry in clock-names.
14*c66ec88fSEmmanuel Vadot
15*c66ec88fSEmmanuel VadotExample:
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel VadotController:
18*c66ec88fSEmmanuel Vadotapdma: dma-controller@20100000 {
19*c66ec88fSEmmanuel Vadot	compatible = "sprd,sc9860-dma";
20*c66ec88fSEmmanuel Vadot	reg = <0x20100000 0x4000>;
21*c66ec88fSEmmanuel Vadot	interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
22*c66ec88fSEmmanuel Vadot	#dma-cells = <1>;
23*c66ec88fSEmmanuel Vadot	#dma-channels = <32>;
24*c66ec88fSEmmanuel Vadot	clock-names = "enable";
25*c66ec88fSEmmanuel Vadot	clocks = <&clk_ap_ahb_gates 5>;
26*c66ec88fSEmmanuel Vadot};
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadot
29*c66ec88fSEmmanuel VadotClient:
30*c66ec88fSEmmanuel VadotDMA clients connected to the Spreadtrum DMA controller must use the format
31*c66ec88fSEmmanuel Vadotdescribed in the dma.txt file, using a two-cell specifier for each channel.
32*c66ec88fSEmmanuel VadotThe two cells in order are:
33*c66ec88fSEmmanuel Vadot1. A phandle pointing to the DMA controller.
34*c66ec88fSEmmanuel Vadot2. The slave id.
35*c66ec88fSEmmanuel Vadot
36*c66ec88fSEmmanuel Vadotspi0: spi@70a00000{
37*c66ec88fSEmmanuel Vadot	...
38*c66ec88fSEmmanuel Vadot	dma-names = "rx_chn", "tx_chn";
39*c66ec88fSEmmanuel Vadot	dmas = <&apdma 11>, <&apdma 12>;
40*c66ec88fSEmmanuel Vadot	...
41*c66ec88fSEmmanuel Vadot};
42