| # 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" |
| |
| # zephyr-keep-sorted-start |
| rsource "Kconfig.altera" |
| rsource "Kconfig.altera_jtag" |
| rsource "Kconfig.apbuart" |
| rsource "Kconfig.b91" |
| rsource "Kconfig.bcm2711" |
| rsource "Kconfig.bt" |
| rsource "Kconfig.cc13xx_cc26xx" |
| 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.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.miv" |
| rsource "Kconfig.msp432p4xx" |
| rsource "Kconfig.native_posix" |
| 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.renesas_ra" |
| rsource "Kconfig.renesas_ra8" |
| rsource "Kconfig.rpi_pico" |
| rsource "Kconfig.rtt" |
| rsource "Kconfig.rv32m1_lpuart" |
| rsource "Kconfig.rzt2m" |
| rsource "Kconfig.sam0" |
| rsource "Kconfig.sedi" |
| rsource "Kconfig.sifive" |
| 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.xec" |
| rsource "Kconfig.xen" |
| rsource "Kconfig.xlnx" |
| rsource "Kconfig.xmc4xxx" |
| # zephyr-keep-sorted-stop |
| |
| source "drivers/serial/Kconfig.si32" |
| |
| endif # SERIAL |