forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/Documentation/devicetree/bindings/dma/fsl-edma.txt
....@@ -9,15 +9,18 @@
99 Required properties:
1010 - compatible :
1111 - "fsl,vf610-edma" for eDMA used similar to that on Vybrid vf610 SoC
12
+ - "fsl,imx7ulp-edma" for eDMA2 used similar to that on i.mx7ulp
13
+ - "fsl,ls1028a-edma" followed by "fsl,vf610-edma" for eDMA used on the
14
+ LS1028A SoC.
1215 - reg : Specifies base physical address(s) and size of the eDMA registers.
1316 The 1st region is eDMA control register's address and size.
1417 The 2nd and the 3rd regions are programmable channel multiplexing
1518 control register's address and size.
1619 - interrupts : A list of interrupt-specifiers, one for each entry in
17
- interrupt-names.
18
-- interrupt-names : Should contain:
19
- "edma-tx" - the transmission interrupt
20
- "edma-err" - the error interrupt
20
+ interrupt-names on vf610 similar SoC. But for i.mx7ulp per channel
21
+ per transmission interrupt, total 16 channel interrupt and 1
22
+ error interrupt(located in the last), no interrupt-names list on
23
+ i.mx7ulp for clean on dts.
2124 - #dma-cells : Must be <2>.
2225 The 1st cell specifies the DMAMUX(0 for DMAMUX0 and 1 for DMAMUX1).
2326 Specific request source can only be multiplexed by specific channels
....@@ -28,6 +31,7 @@
2831 - clock-names : A list of channel group clock names. Should contain:
2932 "dmamux0" - clock name of mux0 group
3033 "dmamux1" - clock name of mux1 group
34
+ Note: No dmamux0 on i.mx7ulp, but another 'dma' clk added on i.mx7ulp.
3135 - clocks : A list of phandle and clock-specifier pairs, one for each entry in
3236 clock-names.
3337
....@@ -35,6 +39,10 @@
3539 - big-endian: If present registers and hardware scatter/gather descriptors
3640 of the eDMA are implemented in big endian mode, otherwise in little
3741 mode.
42
+- interrupt-names : Should contain the below on vf610 similar SoC but not used
43
+ on i.mx7ulp similar SoC:
44
+ "edma-tx" - the transmission interrupt
45
+ "edma-err" - the error interrupt
3846
3947
4048 Examples:
....@@ -52,8 +60,36 @@
5260 clock-names = "dmamux0", "dmamux1";
5361 clocks = <&clks VF610_CLK_DMAMUX0>,
5462 <&clks VF610_CLK_DMAMUX1>;
55
-};
63
+}; /* vf610 */
5664
65
+edma1: dma-controller@40080000 {
66
+ #dma-cells = <2>;
67
+ compatible = "fsl,imx7ulp-edma";
68
+ reg = <0x40080000 0x2000>,
69
+ <0x40210000 0x1000>;
70
+ dma-channels = <32>;
71
+ interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
72
+ <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
73
+ <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
74
+ <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
75
+ <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
76
+ <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
77
+ <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
78
+ <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
79
+ <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
80
+ <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
81
+ <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
82
+ <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
83
+ <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
84
+ <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
85
+ <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
86
+ <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
87
+ /* last is eDMA2-ERR interrupt */
88
+ <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
89
+ clock-names = "dma", "dmamux0";
90
+ clocks = <&pcc2 IMX7ULP_CLK_DMA1>,
91
+ <&pcc2 IMX7ULP_CLK_DMA_MUX1>;
92
+}; /* i.mx7ulp */
5793
5894 * DMA clients
5995 DMA client drivers that uses the DMA function must use the format described