blob: 023ba4557e7052452f3f9f65014b1f99ca4a01aa [file]
#nRF UART(E) instance configuration
# Copyright (c) 2023 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config UART_$(nrfx_uart_num)_INTERRUPT_DRIVEN
bool "Interrupt support on port $(nrfx_uart_num)"
depends on UART_INTERRUPT_DRIVEN
default y
help
This option enables UART interrupt support on port $(nrfx_uart_num).
config UART_$(nrfx_uart_num)_ASYNC
bool "Asynchronous API support on port $(nrfx_uart_num)"
depends on UART_ASYNC_API && !UART_$(nrfx_uart_num)_INTERRUPT_DRIVEN
default y
help
This option enables UART Asynchronous API support on port $(nrfx_uart_num).
config UART_$(nrfx_uart_num)_NRF_USE_TIMER
bool
depends on UART_ASYNC_API
depends on $(dt_nodelabel_has_prop,uart$(nrfx_uart_num),timer)
depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
default y
help
Indicates that TIMER peripheral for RX byte counting is assigned to that instance
in the Device Tree.
config UART_$(nrfx_uart_num)_COUNT_BYTES_WITH_TIMER
bool
depends on UART_$(nrfx_uart_num)_NRF_USE_TIMER
depends on $(dt_nodelabel_bool_prop,uart$(nrfx_uart_num),frame-timeout-supported)
default y
imply UARTE_NRFX_UARTE_COUNT_BYTES_WITH_TIMER
help
Indicates that TIMER peripheral for RX byte counting is assigned to that instance
in the Device Tree. UARTE revision used in the newer targets like nRF54x Series.
config UART_$(nrfx_uart_num)_COUNT_BYTES_WITH_TIMER_LEGACY
bool
depends on UART_$(nrfx_uart_num)_NRF_USE_TIMER || UART_$(nrfx_uart_num)_NRF_HW_ASYNC
depends on !$(dt_nodelabel_bool_prop,uart$(nrfx_uart_num),frame-timeout-supported)
default y
imply UARTE_NRFX_UARTE_COUNT_BYTES_WITH_TIMER_LEGACY
help
Indicates that TIMER peripheral for RX byte counting is assigned to that instance
in the Device Tree. UARTE revision used in the legacy targets (nRF52x, nRF53x and nRF91x).
config UART_$(nrfx_uart_num)_ENHANCED_POLL_OUT
bool "Efficient poll out on port $(nrfx_uart_num)"
depends on !$(dt_nodelabel_bool_prop,uart$(nrfx_uart_num),endtx-stoptx-supported)
default y
depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
depends on HAS_HW_NRF_PPI || HAS_HW_NRF_DPPIC
select NRFX_GPPI
help
When enabled, polling out does not trigger interrupt which stops TX.
Feature uses a PPI channel.
config UART_$(nrfx_uart_num)_NRF_PARITY_BIT
bool "Parity bit"
help
Enable parity bit.
config UART_$(nrfx_uart_num)_NRF_TX_BUFFER_SIZE
int "Size of RAM buffer"
depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
range 1 $(UINT16_MAX)
default 32
help
Size of the transmit buffer for API function: fifo_fill.
This value is limited by range of TXD.MAXCNT register for
particular SoC.
config UART_$(nrfx_uart_num)_NRF_HW_ASYNC
bool "Use hardware RX byte counting"
depends on UART_ASYNC_API
depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
depends on !($(dt_nodelabel_bool_prop,uart$(nrfx_uart_num),frame-timeout-supported))
select DEPRECATED
help
Option is deprecated. Use Device Tree "timer" property to assign a TIMER peripheral
for reliable reception without HWFC.
config UART_$(nrfx_uart_num)_NRF_ASYNC_LOW_POWER
bool "Low power mode"
depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
depends on UART_ASYNC_API
default y if !PM_DEVICE
help
When enabled, UARTE is enabled before each TX or RX usage and disabled
when not used. Disabling UARTE while in idle allows to achieve lowest
power consumption. It is only feasible if receiver is not always on.
This option is irrelevant when device power management (PM) is enabled
because then device state is controlled by the PM actions.
config UART_$(nrfx_uart_num)_NRF_HW_ASYNC_TIMER
int "Timer instance"
depends on !UART_$(nrfx_uart_num)_NRF_USE_TIMER
depends on UART_$(nrfx_uart_num)_NRF_HW_ASYNC
help
Option is deprecated. Use Device Tree "timer" property to assign a TIMER peripheral
for reliable reception without HWFC.