-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
drivers: Create driver for SC16IS75x series UART controllers
This driver manages the UART controller part of an SC16IS75x MFD, for a specific UART channel. Using the interrupt driven UART API required interrupt handling on the parent MFD, which may require an additional work queue thread to perform non-blocking bus transfers. Signed-off-by: Sarah Renkhoff <[email protected]>
- Loading branch information
1 parent
af18150
commit f0d46a9
Showing
7 changed files
with
1,292 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Copyright (c) 2024 TiaC Systems | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
zephyr_library_amend() | ||
|
||
zephyr_library_sources_ifdef(CONFIG_UART_SC16IS75X uart_sc16is75x.c) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Copyright (c) 2024 TiaC Systems | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
if SERIAL | ||
|
||
rsource "Kconfig.sc16is75x" | ||
|
||
endif # I2C |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Copyright (c) 2024 TiaC Systems | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
menuconfig UART_SC16IS75X | ||
bool "NXP SC16IS75x UART driver" | ||
default y | ||
depends on DT_HAS_NXP_SC16IS75X_UART_ENABLED | ||
depends on MFD_SC16IS75X | ||
help | ||
Enable driver for UART controller part of an SC16IS75x bridge. | ||
|
||
if UART_SC16IS75X | ||
|
||
config UART_SC16IS75X_LOOPBACK | ||
bool "Enable internal loopback" | ||
help | ||
Enable the NXP SC16IS75x local UART loopback mode (internal). | ||
|
||
In this mode the RTS and DTR signals are looped back to the | ||
CTS and DSR and the TX output is looped back to the RX input | ||
internally for all channels. | ||
|
||
config UART_SC16IS75X_INIT_PRIORITY | ||
int "Init priority" | ||
default 60 | ||
help | ||
Device driver initialization priority. | ||
|
||
config UART_SC16IS75X_INTERRUPT_DRIVEN | ||
bool | ||
default y if UART_INTERRUPT_DRIVEN | ||
default n | ||
depends on MFD_SC16IS75X_INTERRUPTS | ||
depends on MFD_SC16IS75X_ASYNC | ||
|
||
endif # UART_SC16IS75X |
Oops, something went wrong.