| # STM32 UART configuration |
| |
| # Copyright (c) 2016 Open-RnD Sp. z o.o. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config UART_STM32 |
| bool "STM32 MCU serial driver" |
| default y |
| depends on DT_HAS_ST_STM32_UART_ENABLED |
| select SERIAL_HAS_DRIVER |
| select SERIAL_SUPPORT_INTERRUPT |
| # the ASYNC implementation requires a DMA controller |
| select SERIAL_SUPPORT_ASYNC \ |
| if DT_HAS_ST_STM32_DMA_V1_ENABLED || \ |
| DT_HAS_ST_STM32_DMA_V2_ENABLED || \ |
| DT_HAS_ST_STM32_DMA_V2BIS_ENABLED || \ |
| DT_HAS_ST_STM32U5_DMA_ENABLED |
| select DMA if UART_ASYNC_API |
| select RESET |
| select PINCTRL |
| help |
| This option enables the UART driver for STM32 family of |
| processors. |
| Say y if you wish to use serial port on STM32 MCU. |
| |
| if UART_STM32 |
| |
| config UART_STM32U5_ERRATA_DMAT_AFFECTED |
| bool |
| default y |
| depends on SOC_STM32H503XX || \ |
| SOC_STM32H523XX || SOC_STM32H533XX || \ |
| SOC_STM32H562XX || SOC_STM32H563XX || SOC_STM32H573XX || \ |
| SOC_STM32U575XX || SOC_STM32U585XX |
| help |
| Affected by the DMAT errata. See UART_STM32U5_ERRATA_DMAT. |
| |
| if UART_STM32U5_ERRATA_DMAT_AFFECTED |
| |
| choice UART_STM32U5_ERRATA_DMAT |
| prompt "Workaround for DMAT errata on selected devices" |
| default UART_STM32U5_ERRATA_DMAT_LOWPOWER if PM |
| default UART_STM32U5_ERRATA_DMAT_NOCLEAR if !PM |
| help |
| Handles erratum "USART does not generate DMA requests after |
| setting/clearing DMAT bit" as described in the errata sheets: |
| |
| - STM32H503xx: ES0561 rev. 4, sections 2.11.2 and 2.12.1 |
| - STM32H523xx/H533xx: ES0621 rev. 2, sections 2.14.2 and 2.15.1 |
| - STM32H562xx/H563xx/H573xx: ES0565 rev. 7, sections 2.16.2 and 2.17.1 |
| - STM32U575xx/U585xx: ES0499 rev. 10, sections 2.21.2 and 2.22.1 |
| |
| config UART_STM32U5_ERRATA_DMAT_LOWPOWER |
| bool "Send first byte by polling" |
| help |
| This option sends first byte via software polling and |
| rest of the buffer is sent via DMA. This option is suitable |
| for STOP low-power modes. |
| |
| config UART_STM32U5_ERRATA_DMAT_NOCLEAR |
| bool "Do not clear DMAT" |
| help |
| This option keeps DMAT bit set. This may cause additional power |
| consumption in STOP low-power modes. |
| |
| endchoice # UART_STM32U5_ERRATA_DMAT |
| |
| endif # UART_STM32U5_ERRATA_DMAT_AFFECTED |
| |
| endif # UART_STM32 |