Skip to content

Commit 8cc8006

Browse files
rbrscolemannicolaszubo
authored andcommitted
drivers: serial: stm32: expand DMAT errata test.
I manually checked the errata sheets for all STM32Hxx/STM32Uxx parts to confirm the defect's presence or absence. It appears to have been resolved in silicon on newer parts (e.g., STM32U3xx family), so hopefully this test will not need grow further (knock on wood). Co-authored-by: Nicolas Zuluaga <[email protected]> Signed-off-by: Samuel Coleman <[email protected]>
1 parent 71ec12d commit 8cc8006

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

drivers/serial/Kconfig.stm32

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,30 @@ config UART_STM32
2525

2626
if UART_STM32
2727

28-
if SOC_STM32U575XX || SOC_STM32U585XX || \
29-
SOC_STM32H562XX || SOC_STM32H563XX || SOC_STM32H573XX
28+
config UART_STM32U5_ERRATA_DMAT_AFFECTED
29+
bool
30+
default y
31+
depends on SOC_STM32H503XX || \
32+
SOC_STM32H523XX || SOC_STM32H533XX || \
33+
SOC_STM32H562XX || SOC_STM32H563XX || SOC_STM32H573XX || \
34+
SOC_STM32U575XX || SOC_STM32U585XX
35+
help
36+
Affected by the DMAT errata. See UART_STM32U5_ERRATA_DMAT.
37+
38+
if UART_STM32U5_ERRATA_DMAT_AFFECTED
3039

3140
choice UART_STM32U5_ERRATA_DMAT
3241
prompt "Workaround for DMAT errata on selected devices"
3342
default UART_STM32U5_ERRATA_DMAT_LOWPOWER if PM
3443
default UART_STM32U5_ERRATA_DMAT_NOCLEAR if !PM
3544
help
3645
Handles erratum "USART does not generate DMA requests after
37-
setting/clearing DMAT bit".
38-
Seen in Errata Sheet 0499 § 2.19.2 and §2.20.1 for stm32u57x/u58x,
39-
Errata Sheet 0565 § 2.14.1 and §2.15.1 for stm32h56x/h57x
46+
setting/clearing DMAT bit" as described in the errata sheets:
47+
48+
- STM32H503xx: ES0561 rev. 4, sections 2.11.2 and 2.12.1
49+
- STM32H523xx/H533xx: ES0621 rev. 2, sections 2.14.2 and 2.15.1
50+
- STM32H562xx/H563xx/H573xx: ES0565 rev. 7, sections 2.16.2 and 2.17.1
51+
- STM32U575xx/U585xx: ES0499 rev. 10, sections 2.21.2 and 2.22.1
4052

4153
config UART_STM32U5_ERRATA_DMAT_LOWPOWER
4254
bool "Send first byte by polling"
@@ -51,8 +63,8 @@ config UART_STM32U5_ERRATA_DMAT_NOCLEAR
5163
This option keeps DMAT bit set. This may cause additional power
5264
consumption in STOP low-power modes.
5365

54-
endchoice
66+
endchoice # UART_STM32U5_ERRATA_DMAT
5567

56-
endif # U575 || U585 || H562 || H563 || H573
68+
endif # UART_STM32U5_ERRATA_DMAT_AFFECTED
5769

5870
endif # UART_STM32

0 commit comments

Comments
 (0)