blob: 5cb2d10f0cf4d405de47f7f4fa22e4b9d78416fa [file] [log] [blame]
# 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_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.
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.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.smartbond"
endif # SERIAL