Skip to content

Commit 6eb439d

Browse files
nxpfranklivinodkoul
authored andcommitted
dt-bindings: fsl-dma: fsl-edma: add edma3 compatible string
Extend Freescale eDMA driver bindings to support eDMA3 IP blocks in i.MX8QM and i.MX8QXP SoCs. In i.MX93, both eDMA3 and eDMA4 are now. Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Frank Li <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vinod Koul <[email protected]>
1 parent 7536f8b commit 6eb439d

File tree

1 file changed

+99
-7
lines changed

1 file changed

+99
-7
lines changed

Documentation/devicetree/bindings/dma/fsl,edma.yaml

Lines changed: 99 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,32 +21,41 @@ properties:
2121
- enum:
2222
- fsl,vf610-edma
2323
- fsl,imx7ulp-edma
24+
- fsl,imx8qm-adma
25+
- fsl,imx8qm-edma
26+
- fsl,imx93-edma3
27+
- fsl,imx93-edma4
2428
- items:
2529
- const: fsl,ls1028a-edma
2630
- const: fsl,vf610-edma
2731

2832
reg:
29-
minItems: 2
33+
minItems: 1
3034
maxItems: 3
3135

3236
interrupts:
33-
minItems: 2
34-
maxItems: 17
37+
minItems: 1
38+
maxItems: 64
3539

3640
interrupt-names:
37-
minItems: 2
38-
maxItems: 17
41+
minItems: 1
42+
maxItems: 64
3943

4044
"#dma-cells":
41-
const: 2
45+
enum:
46+
- 2
47+
- 3
4248

4349
dma-channels:
44-
const: 32
50+
minItems: 1
51+
maxItems: 64
4552

4653
clocks:
54+
minItems: 1
4755
maxItems: 2
4856

4957
clock-names:
58+
minItems: 1
5059
maxItems: 2
5160

5261
big-endian:
@@ -65,25 +74,56 @@ required:
6574

6675
allOf:
6776
- $ref: dma-controller.yaml#
77+
- if:
78+
properties:
79+
compatible:
80+
contains:
81+
enum:
82+
- fsl,imx8qm-adma
83+
- fsl,imx8qm-edma
84+
- fsl,imx93-edma3
85+
- fsl,imx93-edma4
86+
then:
87+
properties:
88+
"#dma-cells":
89+
const: 3
90+
# It is not necessary to write the interrupt name for each channel.
91+
# instead, you can simply maintain the sequential IRQ numbers as
92+
# defined for the DMA channels.
93+
interrupt-names: false
94+
clock-names:
95+
items:
96+
- const: dma
97+
clocks:
98+
maxItems: 1
99+
68100
- if:
69101
properties:
70102
compatible:
71103
contains:
72104
const: fsl,vf610-edma
73105
then:
74106
properties:
107+
clocks:
108+
minItems: 2
75109
clock-names:
76110
items:
77111
- const: dmamux0
78112
- const: dmamux1
79113
interrupts:
114+
minItems: 2
80115
maxItems: 2
81116
interrupt-names:
82117
items:
83118
- const: edma-tx
84119
- const: edma-err
85120
reg:
121+
minItems: 2
86122
maxItems: 3
123+
"#dma-cells":
124+
const: 2
125+
dma-channels:
126+
const: 32
87127

88128
- if:
89129
properties:
@@ -92,14 +132,22 @@ allOf:
92132
const: fsl,imx7ulp-edma
93133
then:
94134
properties:
135+
clock:
136+
minItems: 2
95137
clock-names:
96138
items:
97139
- const: dma
98140
- const: dmamux0
99141
interrupts:
142+
minItems: 2
100143
maxItems: 17
101144
reg:
145+
minItems: 2
102146
maxItems: 2
147+
"#dma-cells":
148+
const: 2
149+
dma-channels:
150+
const: 32
103151

104152
unevaluatedProperties: false
105153

@@ -153,3 +201,47 @@ examples:
153201
clock-names = "dma", "dmamux0";
154202
clocks = <&pcc2 IMX7ULP_CLK_DMA1>, <&pcc2 IMX7ULP_CLK_DMA_MUX1>;
155203
};
204+
205+
- |
206+
#include <dt-bindings/interrupt-controller/arm-gic.h>
207+
#include <dt-bindings/clock/imx93-clock.h>
208+
209+
dma-controller@44000000 {
210+
compatible = "fsl,imx93-edma3";
211+
reg = <0x44000000 0x200000>;
212+
#dma-cells = <3>;
213+
dma-channels = <31>;
214+
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
215+
<GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
216+
<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
217+
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
218+
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
219+
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
220+
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
221+
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
222+
<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
223+
<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
224+
<GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
225+
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
226+
<GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
227+
<GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
228+
<GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
229+
<GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
230+
<GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
231+
<GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
232+
<GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
233+
<GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
234+
<GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
235+
<GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
236+
<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
237+
<GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
238+
<GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
239+
<GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
240+
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
241+
<GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
242+
<GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
243+
<GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
244+
<GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
245+
clocks = <&clk IMX93_CLK_EDMA1_GATE>;
246+
clock-names = "dma";
247+
};

0 commit comments

Comments
 (0)