Skip to content

Commit 1e110e4

Browse files
ADESTMAlexandre Torgue
authored andcommitted
arm64: dts: st: add DMA support on U(S)ART instances of stm32mp25
Add dmas and dma-names properties in u(s)art nodes of stm32mp251.dtsi to enable DMA support. RX channel requires to prevent pack/unpack feature of DMA to avoid losing bytes when interrupting RX transfer, as it uses a cyclic buffer. Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
1 parent fab334f commit 1e110e4

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

arch/arm64/boot/dts/st/stm32mp251.dtsi

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,9 @@
266266
reg = <0x400e0000 0x400>;
267267
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
268268
clocks = <&rcc CK_KER_USART2>;
269+
dmas = <&hpdma 11 0x20 0x10012>,
270+
<&hpdma 12 0x20 0x3021>;
271+
dma-names = "rx", "tx";
269272
access-controllers = <&rifsc 32>;
270273
status = "disabled";
271274
};
@@ -275,6 +278,9 @@
275278
reg = <0x400f0000 0x400>;
276279
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
277280
clocks = <&rcc CK_KER_USART3>;
281+
dmas = <&hpdma 13 0x20 0x10012>,
282+
<&hpdma 14 0x20 0x3021>;
283+
dma-names = "rx", "tx";
278284
access-controllers = <&rifsc 33>;
279285
status = "disabled";
280286
};
@@ -284,6 +290,9 @@
284290
reg = <0x40100000 0x400>;
285291
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
286292
clocks = <&rcc CK_KER_UART4>;
293+
dmas = <&hpdma 15 0x20 0x10012>,
294+
<&hpdma 16 0x20 0x3021>;
295+
dma-names = "rx", "tx";
287296
access-controllers = <&rifsc 34>;
288297
status = "disabled";
289298
};
@@ -293,6 +302,9 @@
293302
reg = <0x40110000 0x400>;
294303
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
295304
clocks = <&rcc CK_KER_UART5>;
305+
dmas = <&hpdma 17 0x20 0x10012>,
306+
<&hpdma 18 0x20 0x3021>;
307+
dma-names = "rx", "tx";
296308
access-controllers = <&rifsc 35>;
297309
status = "disabled";
298310
};
@@ -393,6 +405,9 @@
393405
reg = <0x40220000 0x400>;
394406
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
395407
clocks = <&rcc CK_KER_USART6>;
408+
dmas = <&hpdma 19 0x20 0x10012>,
409+
<&hpdma 20 0x20 0x3021>;
410+
dma-names = "rx", "tx";
396411
access-controllers = <&rifsc 36>;
397412
status = "disabled";
398413
};
@@ -438,6 +453,9 @@
438453
reg = <0x402c0000 0x400>;
439454
interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
440455
clocks = <&rcc CK_KER_UART9>;
456+
dmas = <&hpdma 25 0x20 0x10012>,
457+
<&hpdma 26 0x20 0x3021>;
458+
dma-names = "rx", "tx";
441459
access-controllers = <&rifsc 39>;
442460
status = "disabled";
443461
};
@@ -447,6 +465,9 @@
447465
reg = <0x40330000 0x400>;
448466
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
449467
clocks = <&rcc CK_KER_USART1>;
468+
dmas = <&hpdma 9 0x20 0x10012>,
469+
<&hpdma 10 0x20 0x3021>;
470+
dma-names = "rx", "tx";
450471
access-controllers = <&rifsc 31>;
451472
status = "disabled";
452473
};
@@ -480,6 +501,9 @@
480501
reg = <0x40370000 0x400>;
481502
interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
482503
clocks = <&rcc CK_KER_UART7>;
504+
dmas = <&hpdma 21 0x20 0x10012>,
505+
<&hpdma 22 0x20 0x3021>;
506+
dma-names = "rx", "tx";
483507
access-controllers = <&rifsc 37>;
484508
status = "disabled";
485509
};
@@ -489,6 +513,9 @@
489513
reg = <0x40380000 0x400>;
490514
interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
491515
clocks = <&rcc CK_KER_UART8>;
516+
dmas = <&hpdma 23 0x20 0x10012>,
517+
<&hpdma 24 0x20 0x3021>;
518+
dma-names = "rx", "tx";
492519
access-controllers = <&rifsc 38>;
493520
status = "disabled";
494521
};

arch/arm64/boot/dts/st/stm32mp257f-ev1.dts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@
161161
pinctrl-0 = <&usart2_pins_a>;
162162
pinctrl-1 = <&usart2_idle_pins_a>;
163163
pinctrl-2 = <&usart2_sleep_pins_a>;
164+
/delete-property/dmas;
165+
/delete-property/dma-names;
164166
status = "okay";
165167
};
166168

0 commit comments

Comments
 (0)