6
6
config UART_$(nrfx_uart_num)_INTERRUPT_DRIVEN
7
7
bool "Interrupt support on port $(nrfx_uart_num)"
8
8
depends on UART_INTERRUPT_DRIVEN
9
+ select UART_ASYNC_TO_INT_DRIVEN_API if !UART_NRFX_UARTE_LEGACY_SHIM
9
10
default y
10
11
help
11
12
This option enables UART interrupt support on port $(nrfx_uart_num).
@@ -27,14 +28,18 @@ config UART_$(nrfx_uart_num)_ENHANCED_POLL_OUT
27
28
When enabled, polling out does not trigger interrupt which stops TX.
28
29
Feature uses a PPI channel.
29
30
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
+
30
34
config UART_$(nrfx_uart_num)_NRF_PARITY_BIT
31
35
bool "Parity bit"
32
36
help
33
37
Enable parity bit.
34
38
35
39
config UART_$(nrfx_uart_num)_NRF_TX_BUFFER_SIZE
36
40
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
38
43
range 1 65535
39
44
default 32
40
45
help
@@ -46,6 +51,7 @@ config UART_$(nrfx_uart_num)_NRF_HW_ASYNC
46
51
bool "Use hardware RX byte counting"
47
52
depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
48
53
depends on UART_ASYNC_API
54
+ depends on UART_NRFX_UARTE_LEGACY_SHIM
49
55
select NRFX_PPI if HAS_HW_NRF_PPI
50
56
select NRFX_DPPI if HAS_HW_NRF_DPPIC
51
57
help
@@ -58,6 +64,7 @@ config UART_$(nrfx_uart_num)_NRF_ASYNC_LOW_POWER
58
64
bool "Low power mode"
59
65
depends on HAS_HW_NRF_UARTE$(nrfx_uart_num)
60
66
depends on UART_ASYNC_API
67
+ depends on UART_NRFX_UARTE_LEGACY_SHIM
61
68
help
62
69
When enabled, UARTE is enabled before each TX or RX usage and disabled
63
70
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
67
74
int "Timer instance"
68
75
depends on UART_$(nrfx_uart_num)_NRF_HW_ASYNC
69
76
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
+
70
113
config UART_$(nrfx_uart_num)_GPIO_MANAGEMENT
71
114
bool "GPIO management on port $(nrfx_uart_num)"
72
115
depends on PM_DEVICE
0 commit comments