66config UART_$(nrfx_uart_num)_INTERRUPT_DRIVEN
77 bool "Interrupt support on port $(nrfx_uart_num)"
88 depends on UART_INTERRUPT_DRIVEN
9+ select UART_ASYNC_TO_INT_DRIVEN_API if !UART_NRFX_UARTE_LEGACY_SHIM
910 default y
1011 help
1112 This option enables UART interrupt support on port $(nrfx_uart_num).
@@ -27,14 +28,18 @@ config UART_$(nrfx_uart_num)_ENHANCED_POLL_OUT
2728 When enabled, polling out does not trigger interrupt which stops TX.
2829 Feature uses a PPI channel.
2930
31+ config NRFX_UARTE$(nrfx_uart_num)
32+ def_bool y if HAS_HW_NRF_UARTE$(nrfx_uart_num) && !UART_NRFX_UARTE_LEGACY_SHIM
33+
3034config UART_$(nrfx_uart_num)_NRF_PARITY_BIT
3135 bool "Parity bit"
3236 help
3337 Enable parity bit.
3438
3539config UART_$(nrfx_uart_num)_NRF_TX_BUFFER_SIZE
3640 int "Size of RAM buffer"
37- depends on UART_INTERRUPT_DRIVEN
41+ depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
42+ depends on UART_NRFX_UARTE_LEGACY_SHIM
3843 range 1 65535
3944 default 32
4045 help
@@ -46,6 +51,7 @@ config UART_$(nrfx_uart_num)_NRF_HW_ASYNC
4651 bool "Use hardware RX byte counting"
4752 depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
4853 depends on UART_ASYNC_API
54+ depends on UART_NRFX_UARTE_LEGACY_SHIM
4955 select NRFX_PPI if HAS_HW_NRF_PPI
5056 select NRFX_DPPI if HAS_HW_NRF_DPPIC
5157 help
@@ -58,6 +64,7 @@ config UART_$(nrfx_uart_num)_NRF_ASYNC_LOW_POWER
5864 bool "Low power mode"
5965 depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
6066 depends on UART_ASYNC_API
67+ depends on UART_NRFX_UARTE_LEGACY_SHIM
6168 help
6269 When enabled, UARTE is enabled before each TX or RX usage and disabled
6370 when not used. Disabling UARTE while in idle allows to achieve lowest
@@ -67,6 +74,42 @@ config UART_$(nrfx_uart_num)_NRF_HW_ASYNC_TIMER
6774 int "Timer instance"
6875 depends on UART_$(nrfx_uart_num)_NRF_HW_ASYNC
6976
77+ config UART_$(nrfx_uart_num)_TX_CACHE_SIZE
78+ int "TX cache buffer size"
79+ depends on !UART_NRFX_UARTE_LEGACY_SHIM
80+ default 8
81+ help
82+ For UARTE, TX cache buffer is used when provided TX buffer is not located
83+ in memory which can be used by the EasyDMA.
84+
85+ config UART_$(nrfx_uart_num)_RX_CACHE_SIZE
86+ int "RX cache buffer size"
87+ depends on !UART_NRFX_UARTE_LEGACY_SHIM
88+ default 32 if $(dt_nodelabel_has_compat,ram3x,$(DT_COMPAT_MMIO_SRAM))
89+ default 5
90+ range 5 255
91+ help
92+ For UARTE, RX cache buffer is used when provided RX buffer is not located
93+ in memory which can be used by the EasyDMA. It is also used to store
94+ flushed data.
95+
96+ config UART_$(nrfx_uart_num)_A2I_RX_SIZE
97+ depends on !UART_NRFX_UARTE_LEGACY_SHIM
98+ int "Asynchronous to interrupt driven adaptation layer RX buffer size"
99+ default 64 if UART_$(nrfx_uart_num)_INTERRUPT_DRIVEN
100+ default 0
101+ help
102+ Amount of space dedicated for RX. It is divided into chunks with some
103+ amount of that space used for control data.
104+
105+ config UART_$(nrfx_uart_num)_A2I_RX_BUF_COUNT
106+ depends on !UART_NRFX_UARTE_LEGACY_SHIM
107+ int "Asynchronous to interrupt driven adaptation layer RX buffer count"
108+ default 8 if UART_$(nrfx_uart_num)_INTERRUPT_DRIVEN
109+ default 0
110+ help
111+ Number of chunks into RX space is divided.
112+
70113config UART_$(nrfx_uart_num)_GPIO_MANAGEMENT
71114 bool "GPIO management on port $(nrfx_uart_num)"
72115 depends on PM_DEVICE
0 commit comments