# 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. comment "Serial Drivers" source "drivers/serial/Kconfig.b91" source "drivers/serial/Kconfig.ns16550" source "drivers/serial/Kconfig.mcux" source "drivers/serial/Kconfig.mcux_flexcomm" source "drivers/serial/Kconfig.mcux_iuart" source "drivers/serial/Kconfig.mcux_lpsci" source "drivers/serial/Kconfig.mcux_lpuart" source "drivers/serial/Kconfig.miv" source "drivers/serial/Kconfig.imx" source "drivers/serial/Kconfig.it8xxx2" source "drivers/serial/Kconfig.stellaris" source "drivers/serial/Kconfig.native_posix" source "drivers/serial/Kconfig.usart_sam" source "drivers/serial/Kconfig.uart_sam" source "drivers/serial/Kconfig.stm32" source "drivers/serial/Kconfig.nrfx" source "drivers/serial/Kconfig.altera_jtag" source "drivers/serial/Kconfig.cc13xx_cc26xx" source "drivers/serial/Kconfig.cc32xx" source "drivers/serial/Kconfig.cmsdk_apb" source "drivers/serial/Kconfig.sifive" source "drivers/serial/Kconfig.esp32" source "drivers/serial/Kconfig.gecko" source "drivers/serial/Kconfig.leuart_gecko" source "drivers/serial/Kconfig.msp432p4xx" source "drivers/serial/Kconfig.numicro" source "drivers/serial/Kconfig.sam0" source "drivers/serial/Kconfig.psoc6" source "drivers/serial/Kconfig.pl011" source "drivers/serial/Kconfig.ql_usbserialport_s3b" source "drivers/serial/Kconfig.rv32m1_lpuart" source "drivers/serial/Kconfig.rpi_pico" source "drivers/serial/Kconfig.litex" source "drivers/serial/Kconfig.rtt" source "drivers/serial/Kconfig.xlnx" source "drivers/serial/Kconfig.xmc4xxx" source "drivers/serial/Kconfig.lpc11u6x" source "drivers/serial/Kconfig.npcx" source "drivers/serial/Kconfig.apbuart" source "drivers/serial/Kconfig.rcar" source "drivers/serial/Kconfig.xec" source "drivers/serial/Kconfig.gd32" source "drivers/serial/Kconfig.test" source "drivers/serial/Kconfig.neorv32" source "drivers/serial/Kconfig.xen" source "drivers/serial/Kconfig.ifx_cat1" source "drivers/serial/Kconfig.smartbond" source "drivers/serial/Kconfig.nxp_s32" source "drivers/serial/Kconfig.cdns" source "drivers/serial/Kconfig.opentitan" source "drivers/serial/Kconfig.altera" source "drivers/serial/Kconfig.hostlink" source "drivers/serial/Kconfig.emul" source "drivers/serial/Kconfig.native_tty" source "drivers/serial/Kconfig.numaker" source "drivers/serial/Kconfig.efinix_sapphire" source "drivers/serial/Kconfig.sedi" source "drivers/serial/Kconfig.bcm2711" source "drivers/serial/Kconfig.intel_lw" source "drivers/serial/Kconfig.renesas_ra" source "drivers/serial/Kconfig.ene" source "drivers/serial/Kconfig.rzt2m" endif # SERIAL