1#nRF UART(E) instance configuration 2 3# Copyright (c) 2023 Nordic Semiconductor ASA 4# SPDX-License-Identifier: Apache-2.0 5 6config UART_$(nrfx_uart_num)_INTERRUPT_DRIVEN 7 bool "Interrupt support on port $(nrfx_uart_num)" 8 depends on UART_INTERRUPT_DRIVEN 9 default y 10 help 11 This option enables UART interrupt support on port $(nrfx_uart_num). 12 13config UART_$(nrfx_uart_num)_ASYNC 14 bool "Asynchronous API support on port $(nrfx_uart_num)" 15 depends on UART_ASYNC_API && !UART_$(nrfx_uart_num)_INTERRUPT_DRIVEN 16 default y 17 help 18 This option enables UART Asynchronous API support on port $(nrfx_uart_num). 19 20config UART_$(nrfx_uart_num)_COUNT_BYTES_WITH_TIMER 21 bool 22 depends on $(dt_nodelabel_has_prop,uart$(nrfx_uart_num),timer) 23 depends on HAS_HW_NRF_UARTE$(nrfx_uart_num) 24 default y 25 imply UARTE_NRFX_UARTE_COUNT_BYTES_WITH_TIMER 26 27config UART_$(nrfx_uart_num)_ENHANCED_POLL_OUT 28 bool "Efficient poll out on port $(nrfx_uart_num)" 29 depends on !$(dt_nodelabel_bool_prop,uart$(nrfx_uart_num),endtx-stoptx-supported) 30 default y 31 depends on HAS_HW_NRF_UARTE$(nrfx_uart_num) 32 depends on HAS_HW_NRF_PPI || HAS_HW_NRF_DPPIC 33 select NRFX_GPPI 34 help 35 When enabled, polling out does not trigger interrupt which stops TX. 36 Feature uses a PPI channel. 37 38config UART_$(nrfx_uart_num)_NRF_PARITY_BIT 39 bool "Parity bit" 40 help 41 Enable parity bit. 42 43config UART_$(nrfx_uart_num)_NRF_TX_BUFFER_SIZE 44 int "Size of RAM buffer" 45 depends on HAS_HW_NRF_UARTE$(nrfx_uart_num) 46 range 1 $(UINT16_MAX) 47 default 32 48 help 49 Size of the transmit buffer for API function: fifo_fill. 50 This value is limited by range of TXD.MAXCNT register for 51 particular SoC. 52 53config UART_$(nrfx_uart_num)_NRF_HW_ASYNC 54 bool "Use hardware RX byte counting" 55 depends on HAS_HW_NRF_UARTE$(nrfx_uart_num) 56 depends on UART_ASYNC_API 57 depends on HAS_HW_NRF_PPI || HAS_HW_NRF_DPPIC 58 select NRFX_GPPI 59 help 60 If default driver uses interrupts to count incoming bytes, it is possible 61 that with higher speeds and/or high cpu load some data can be lost. 62 It is recommended to use hardware byte counting in such scenarios. 63 Hardware RX byte counting requires timer instance and one PPI channel. 64 65config UART_$(nrfx_uart_num)_NRF_ASYNC_LOW_POWER 66 bool "Low power mode" 67 depends on HAS_HW_NRF_UARTE$(nrfx_uart_num) 68 depends on UART_ASYNC_API 69 default y if !PM_DEVICE 70 help 71 When enabled, UARTE is enabled before each TX or RX usage and disabled 72 when not used. Disabling UARTE while in idle allows to achieve lowest 73 power consumption. It is only feasible if receiver is not always on. 74 This option is irrelevant when device power management (PM) is enabled 75 because then device state is controlled by the PM actions. 76 77 78config UART_$(nrfx_uart_num)_NRF_HW_ASYNC_TIMER 79 int "Timer instance" 80 depends on UART_$(nrfx_uart_num)_NRF_HW_ASYNC 81