xref: /freebsd/sys/contrib/device-tree/Bindings/dma/k3dma.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Hisilicon K3 DMA controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotSee dma.txt first
4*c66ec88fSEmmanuel Vadot
5*c66ec88fSEmmanuel VadotRequired properties:
6*c66ec88fSEmmanuel Vadot- compatible: Must be one of
7*c66ec88fSEmmanuel Vadot-              "hisilicon,k3-dma-1.0"
8*c66ec88fSEmmanuel Vadot-              "hisilicon,hisi-pcm-asp-dma-1.0"
9*c66ec88fSEmmanuel Vadot- reg: Should contain DMA registers location and length.
10*c66ec88fSEmmanuel Vadot- interrupts: Should contain one interrupt shared by all channel
11*c66ec88fSEmmanuel Vadot- #dma-cells: see dma.txt, should be 1, para number
12*c66ec88fSEmmanuel Vadot- dma-channels: physical channels supported
13*c66ec88fSEmmanuel Vadot- dma-requests: virtual channels supported, each virtual channel
14*c66ec88fSEmmanuel Vadot		have specific request line
15*c66ec88fSEmmanuel Vadot- clocks: clock required
16*c66ec88fSEmmanuel Vadot
17*c66ec88fSEmmanuel VadotExample:
18*c66ec88fSEmmanuel Vadot
19*c66ec88fSEmmanuel VadotController:
20*c66ec88fSEmmanuel Vadot		dma0: dma@fcd02000 {
21*c66ec88fSEmmanuel Vadot			compatible = "hisilicon,k3-dma-1.0";
22*c66ec88fSEmmanuel Vadot			reg = <0xfcd02000 0x1000>;
23*c66ec88fSEmmanuel Vadot			#dma-cells = <1>;
24*c66ec88fSEmmanuel Vadot			dma-channels = <16>;
25*c66ec88fSEmmanuel Vadot			dma-requests = <27>;
26*c66ec88fSEmmanuel Vadot			interrupts = <0 12 4>;
27*c66ec88fSEmmanuel Vadot			clocks = <&pclk>;
28*c66ec88fSEmmanuel Vadot		};
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel VadotClient:
31*c66ec88fSEmmanuel VadotUse specific request line passing from dmax
32*c66ec88fSEmmanuel VadotFor example, i2c0 read channel request line is 18, while write channel use 19
33*c66ec88fSEmmanuel Vadot
34*c66ec88fSEmmanuel Vadot		i2c0: i2c@fcb08000 {
35*c66ec88fSEmmanuel Vadot			compatible = "snps,designware-i2c";
36*c66ec88fSEmmanuel Vadot			dmas =	<&dma0 18          /* read channel */
37*c66ec88fSEmmanuel Vadot				 &dma0 19>;        /* write channel */
38*c66ec88fSEmmanuel Vadot			dma-names = "rx", "tx";
39*c66ec88fSEmmanuel Vadot		};
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot		i2c1: i2c@fcb09000 {
42*c66ec88fSEmmanuel Vadot			compatible = "snps,designware-i2c";
43*c66ec88fSEmmanuel Vadot			dmas =	<&dma0 20          /* read channel */
44*c66ec88fSEmmanuel Vadot				 &dma0 21>;        /* write channel */
45*c66ec88fSEmmanuel Vadot			dma-names = "rx", "tx";
46*c66ec88fSEmmanuel Vadot		};
47*c66ec88fSEmmanuel Vadot
48