Skip to content

Commit 2854fc1

Browse files
nordic-krchcarlescufi
authored andcommitted
drivers: serial: Add async to interrupt driven adaptation
Add adaptation layer which allows to provide interrupt driven API for drivers which exposes only asynchronous API. Signed-off-by: Krzysztof Chruściński <[email protected]>
1 parent 5db55b0 commit 2854fc1

File tree

4 files changed

+678
-0
lines changed

4 files changed

+678
-0
lines changed

drivers/serial/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,4 @@ endif()
9393

9494
zephyr_library_sources_ifdef(CONFIG_SERIAL_TEST serial_test.c)
9595
zephyr_library_sources_ifdef(CONFIG_UART_ASYNC_RX_HELPER uart_async_rx.c)
96+
zephyr_library_sources_ifdef(CONFIG_UART_ASYNC_TO_INT_DRIVEN_API uart_async_to_irq.c)

drivers/serial/Kconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,21 @@ config UART_ASYNC_RX_HELPER
133133
is delayed. Module implements zero-copy approach with multiple reception
134134
buffers.
135135

136+
config UART_ASYNC_TO_INT_DRIVEN_API
137+
bool
138+
select UART_ASYNC_RX_HELPER
139+
help
140+
Asynchronous to Interrupt driven adaptation layer. When enabled device
141+
which implements only asynchronous API can be used with interrupt driven
142+
API implemented by the generic adaptation layer.
143+
144+
config UART_ASYNC_TO_INT_DRIVEN_RX_TIMEOUT
145+
int "Receiver timeout (in bauds)"
146+
depends on UART_ASYNC_TO_INT_DRIVEN_API
147+
default 100
148+
help
149+
Receiver inactivity timeout. It is used to calculate timeout in microseconds.
150+
136151
comment "Serial Drivers"
137152

138153
source "drivers/serial/Kconfig.b91"

0 commit comments

Comments
 (0)