# nrfx UART configuration # Copyright (c) 2016 - 2018, Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 menuconfig UART_NRFX bool "nRF UART nrfx drivers" default y select SERIAL_HAS_DRIVER select SERIAL_SUPPORT_INTERRUPT select SERIAL_SUPPORT_ASYNC select PINCTRL depends on DT_HAS_NORDIC_NRF_UART_ENABLED || DT_HAS_NORDIC_NRF_UARTE_ENABLED help Enable support for nrfx UART drivers for nRF MCU series. Peripherals with the same instance ID cannot be used together, e.g. UART_0 and UARTE_0. if UART_NRFX config UART_NRFX_UART def_bool y depends on DT_HAS_NORDIC_NRF_UART_ENABLED config UART_NRFX_UARTE def_bool y depends on DT_HAS_NORDIC_NRF_UARTE_ENABLED imply NRFX_UARTE_CONFIG_SKIP_PSEL_CONFIG if !UART_NRFX_UARTE_LEGACY_SHIM imply NRFX_UARTE_CONFIG_SKIP_GPIO_CONFIG if !UART_NRFX_UARTE_LEGACY_SHIM config UART_NRFX_UARTE_LEGACY_SHIM bool "Legacy UARTE shim" depends on UART_NRFX_UARTE depends on !SOC_SERIES_NRF54LX depends on !SOC_SERIES_NRF54HX || RISCV depends on !SOC_SERIES_NRF92X || RISCV # New shim takes more ROM. Until it is fixed use legacy shim. default y config UART_ASYNC_TX_CACHE_SIZE int "TX cache buffer size" depends on UART_ASYNC_API depends on UART_NRFX_UARTE_LEGACY_SHIM default 8 help For UARTE, TX cache buffer is used when provided TX buffer is not located in RAM, because EasyDMA in UARTE peripherals can only transfer data from RAM. if HAS_HW_NRF_UART0 || HAS_HW_NRF_UARTE0 nrfx_uart_num = 0 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE1 nrfx_uart_num = 1 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE2 nrfx_uart_num = 2 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE3 nrfx_uart_num = 3 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE00 nrfx_uart_num = 00 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE20 nrfx_uart_num = 20 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE21 nrfx_uart_num = 21 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE22 nrfx_uart_num = 22 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE30 nrfx_uart_num = 30 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE120 nrfx_uart_num = 120 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE130 nrfx_uart_num = 130 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE131 nrfx_uart_num = 131 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE132 nrfx_uart_num = 132 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE133 nrfx_uart_num = 133 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE134 nrfx_uart_num = 134 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE135 nrfx_uart_num = 135 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE136 nrfx_uart_num = 136 rsource "Kconfig.nrfx_uart_instance" endif if HAS_HW_NRF_UARTE137 nrfx_uart_num = 137 rsource "Kconfig.nrfx_uart_instance" endif config NRFX_TIMER0 default y depends on UART_0_NRF_HW_ASYNC_TIMER = 0 \ || UART_1_NRF_HW_ASYNC_TIMER = 0 \ || UART_2_NRF_HW_ASYNC_TIMER = 0 \ || UART_3_NRF_HW_ASYNC_TIMER = 0 config NRFX_TIMER1 default y depends on UART_0_NRF_HW_ASYNC_TIMER = 1 \ || UART_1_NRF_HW_ASYNC_TIMER = 1 \ || UART_2_NRF_HW_ASYNC_TIMER = 1 \ || UART_3_NRF_HW_ASYNC_TIMER = 1 config NRFX_TIMER2 default y depends on UART_0_NRF_HW_ASYNC_TIMER = 2 \ || UART_1_NRF_HW_ASYNC_TIMER = 2 \ || UART_2_NRF_HW_ASYNC_TIMER = 2 \ || UART_3_NRF_HW_ASYNC_TIMER = 2 config NRFX_TIMER3 default y depends on UART_0_NRF_HW_ASYNC_TIMER = 3 \ || UART_1_NRF_HW_ASYNC_TIMER = 3 \ || UART_2_NRF_HW_ASYNC_TIMER = 3 \ || UART_3_NRF_HW_ASYNC_TIMER = 3 config NRFX_TIMER4 default y depends on UART_0_NRF_HW_ASYNC_TIMER = 4 \ || UART_1_NRF_HW_ASYNC_TIMER = 4 \ || UART_2_NRF_HW_ASYNC_TIMER = 4 \ || UART_3_NRF_HW_ASYNC_TIMER = 4 endif # UART_NRFX