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