You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
244 lines
6.8 KiB
244 lines
6.8 KiB
# Serial driver configuration options |
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc. |
|
# SPDX-License-Identifier: Apache-2.0 |
|
|
|
menuconfig SERIAL |
|
bool "Serial drivers" |
|
help |
|
Enable options for serial drivers. |
|
|
|
if SERIAL |
|
|
|
comment "Capabilities" |
|
|
|
config SERIAL_HAS_DRIVER |
|
bool |
|
help |
|
This is an option to be enabled by individual serial driver |
|
to signal that there is a serial driver. This is being used |
|
by other drivers which are dependent on serial. |
|
|
|
config SERIAL_SUPPORT_ASYNC |
|
bool |
|
help |
|
This is an option to be enabled by individual serial driver |
|
to signal that the driver and hardware supports async operation. |
|
|
|
config SERIAL_SUPPORT_INTERRUPT |
|
bool |
|
help |
|
This is an option to be enabled by individual serial driver |
|
to signal that the driver and hardware supports interrupts. |
|
|
|
config SERIAL_INIT_PRIORITY |
|
int "Serial init priority" |
|
default KERNEL_INIT_PRIORITY_DEVICE |
|
help |
|
Serial driver device initialization priority. |
|
|
|
module = UART |
|
module-str = uart |
|
source "subsys/logging/Kconfig.template.log_config" |
|
|
|
config SERIAL_SUPPORT_WIDE_DATA |
|
bool |
|
help |
|
This is an option to be enabled by individual serial driver |
|
to signal that the driver and hardware support data longer |
|
than 8-bit. |
|
|
|
config UART_USE_RUNTIME_CONFIGURE |
|
bool "Runtime configuration for UART controllers" |
|
default y |
|
help |
|
Enable runtime configuration of UART controllers. |
|
This allows applications to call uart_configure() to |
|
configure the UART controllers at runtime, and calling |
|
uart_config_get() to retrieve configuration. If this is |
|
disabled, UART controllers rely on UART driver's |
|
initialization function to properly configure |
|
the controller. |
|
|
|
Say y if unsure. Disable this to reduce footprint for |
|
applications that do not require runtime UART configuration. |
|
|
|
config UART_ASYNC_API |
|
bool "Asynchronous UART API" |
|
depends on SERIAL_SUPPORT_ASYNC |
|
help |
|
This option enables asynchronous UART API. |
|
|
|
config UART_INTERRUPT_DRIVEN |
|
bool "UART Interrupt support" |
|
depends on SERIAL_SUPPORT_INTERRUPT |
|
help |
|
This option enables interrupt support for UART allowing console |
|
input and other UART based drivers. |
|
|
|
config UART_EXCLUSIVE_API_CALLBACKS |
|
bool "Use exclusive callbacks for multiple APIs" |
|
depends on UART_ASYNC_API && UART_INTERRUPT_DRIVEN |
|
default y |
|
help |
|
When multiple set of APIs support callbacks, enabling this |
|
option will result in only the callbacks of one set of API |
|
being active at a time. Setting a new callback to one set of |
|
API will remove callbacks to other set of APIs. For example, |
|
calling uart_callback_set() would disable the callback |
|
previously set via uart_irq_callback_set(). |
|
|
|
Says yes unless you are absolutely sure you know what you are |
|
doing and promise not to file bug when things do not work out. |
|
|
|
config UART_LINE_CTRL |
|
bool "Serial Line Control API" |
|
help |
|
This enables the API for apps to control the serial line, |
|
such as baud rate, CTS and RTS. |
|
|
|
Implementation is up to individual driver. |
|
|
|
Says no if not sure. |
|
|
|
config UART_DRV_CMD |
|
bool "Driver commands API" |
|
help |
|
This enables the API to send extra commands to drivers. |
|
This allows drivers to expose hardware specific functions. |
|
|
|
Says no if not sure. |
|
|
|
config UART_WIDE_DATA |
|
bool "API to support data longer than 8-bit" |
|
help |
|
This enables the API to process data longer than 8-bit. |
|
This is up to the driver to implement the necessary functions |
|
to properly support this. |
|
|
|
config UART_PIPE |
|
bool "Pipe UART driver" |
|
select UART_INTERRUPT_DRIVEN |
|
help |
|
Enable pipe UART driver. This driver allows application to communicate |
|
over UART with custom defined protocol. Driver doesn't inspect received |
|
data (as contrary to console UART driver) and all aspects of received |
|
protocol data are handled by application provided callback. |
|
|
|
config UART_ASYNC_RX_HELPER |
|
bool "Helper for UART asynchronous reception" |
|
help |
|
Module implements handling of reception of variable length data using |
|
Asynchronous UART API. It can be used in cases where received data processing |
|
is delayed. Module implements zero-copy approach with multiple reception |
|
buffers. |
|
|
|
config UART_ASYNC_TO_INT_DRIVEN_API |
|
bool |
|
select UART_ASYNC_RX_HELPER |
|
help |
|
Asynchronous to Interrupt driven adaptation layer. When enabled device |
|
which implements only asynchronous API can be used with interrupt driven |
|
API implemented by the generic adaptation layer. |
|
|
|
config UART_ASYNC_TO_INT_DRIVEN_RX_TIMEOUT |
|
int "Receiver timeout (in bauds)" |
|
depends on UART_ASYNC_TO_INT_DRIVEN_API |
|
default 100 |
|
help |
|
Receiver inactivity timeout. It is used to calculate timeout in microseconds. |
|
|
|
config UART_SHELL |
|
bool "UART Shell commands" |
|
depends on SHELL |
|
help |
|
UART Shell commands |
|
|
|
comment "Serial Drivers" |
|
|
|
# zephyr-keep-sorted-start |
|
rsource "Kconfig.aesc" |
|
rsource "Kconfig.altera" |
|
rsource "Kconfig.altera_jtag" |
|
rsource "Kconfig.ambiq" |
|
rsource "Kconfig.apbuart" |
|
rsource "Kconfig.b91" |
|
rsource "Kconfig.bcm2711" |
|
rsource "Kconfig.bflb" |
|
rsource "Kconfig.bridge" |
|
rsource "Kconfig.bt" |
|
rsource "Kconfig.cc13xx_cc26xx" |
|
rsource "Kconfig.cc23x0" |
|
rsource "Kconfig.cc32xx" |
|
rsource "Kconfig.cdns" |
|
rsource "Kconfig.cmsdk_apb" |
|
rsource "Kconfig.efinix_sapphire" |
|
rsource "Kconfig.emul" |
|
rsource "Kconfig.ene" |
|
rsource "Kconfig.esp32" |
|
rsource "Kconfig.gd32" |
|
rsource "Kconfig.gecko" |
|
rsource "Kconfig.hostlink" |
|
rsource "Kconfig.ifx_cat1" |
|
rsource "Kconfig.imx" |
|
rsource "Kconfig.intel_lw" |
|
rsource "Kconfig.it51xxx" |
|
rsource "Kconfig.it8xxx2" |
|
rsource "Kconfig.leuart_gecko" |
|
rsource "Kconfig.litex" |
|
rsource "Kconfig.lpc11u6x" |
|
rsource "Kconfig.max32" |
|
rsource "Kconfig.mcux" |
|
rsource "Kconfig.mcux_flexcomm" |
|
rsource "Kconfig.mcux_iuart" |
|
rsource "Kconfig.mcux_lpsci" |
|
rsource "Kconfig.mcux_lpuart" |
|
rsource "Kconfig.mec5" |
|
rsource "Kconfig.miv" |
|
rsource "Kconfig.msp432p4xx" |
|
rsource "Kconfig.mspm0" |
|
rsource "Kconfig.native_pty" |
|
rsource "Kconfig.native_tty" |
|
rsource "Kconfig.neorv32" |
|
rsource "Kconfig.npcx" |
|
rsource "Kconfig.nrfx" |
|
rsource "Kconfig.ns16550" |
|
rsource "Kconfig.numaker" |
|
rsource "Kconfig.numicro" |
|
rsource "Kconfig.nxp_s32" |
|
rsource "Kconfig.opentitan" |
|
rsource "Kconfig.pl011" |
|
rsource "Kconfig.psoc6" |
|
rsource "Kconfig.ql_usbserialport_s3b" |
|
rsource "Kconfig.rcar" |
|
rsource "Kconfig.realtek_rts5912" |
|
rsource "Kconfig.renesas_ra" |
|
rsource "Kconfig.renesas_ra8" |
|
rsource "Kconfig.renesas_rx" |
|
rsource "Kconfig.renesas_rx_qemu" |
|
rsource "Kconfig.renesas_rz" |
|
rsource "Kconfig.rpi_pico" |
|
rsource "Kconfig.rtt" |
|
rsource "Kconfig.rv32m1_lpuart" |
|
rsource "Kconfig.rzt2m" |
|
rsource "Kconfig.sam0" |
|
rsource "Kconfig.sedi" |
|
rsource "Kconfig.si32" |
|
rsource "Kconfig.sifive" |
|
rsource "Kconfig.silabs_eusart" |
|
rsource "Kconfig.silabs_usart" |
|
rsource "Kconfig.smartbond" |
|
rsource "Kconfig.stellaris" |
|
rsource "Kconfig.stm32" |
|
rsource "Kconfig.sy1xx" |
|
rsource "Kconfig.test" |
|
rsource "Kconfig.uart_sam" |
|
rsource "Kconfig.usart_sam" |
|
rsource "Kconfig.wch_usart" |
|
rsource "Kconfig.xec" |
|
rsource "Kconfig.xen" |
|
rsource "Kconfig.xlnx" |
|
rsource "Kconfig.xmc4xxx" |
|
# zephyr-keep-sorted-stop |
|
|
|
endif # SERIAL
|
|
|