2019-11-01 13:45:29 +01:00
|
|
|
# Serial driver configuration options
|
2015-05-20 11:40:39 -05:00
|
|
|
|
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
2017-01-18 17:01:01 -08:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
2015-05-20 11:40:39 -05:00
|
|
|
|
2015-08-11 20:22:49 -07:00
|
|
|
menuconfig SERIAL
|
2023-03-27 14:55:23 +02:00
|
|
|
bool "Serial drivers"
|
2015-08-11 20:22:49 -07:00
|
|
|
help
|
2017-12-13 10:08:21 -05:00
|
|
|
Enable options for serial drivers.
|
2015-05-20 11:40:39 -05:00
|
|
|
|
2015-08-11 20:22:49 -07:00
|
|
|
if SERIAL
|
2015-05-26 10:25:55 -04:00
|
|
|
|
2016-03-17 10:24:45 -07:00
|
|
|
comment "Capabilities"
|
|
|
|
|
2015-08-12 10:33:56 -07:00
|
|
|
config SERIAL_HAS_DRIVER
|
|
|
|
bool
|
|
|
|
help
|
2017-12-13 10:08:21 -05:00
|
|
|
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.
|
2015-08-12 10:33:56 -07:00
|
|
|
|
2019-06-03 14:06:38 +02:00
|
|
|
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.
|
|
|
|
|
2017-06-22 11:26:58 -05:00
|
|
|
config SERIAL_SUPPORT_INTERRUPT
|
|
|
|
bool
|
|
|
|
help
|
2017-12-13 10:08:21 -05:00
|
|
|
This is an option to be enabled by individual serial driver
|
|
|
|
to signal that the driver and hardware supports interrupts.
|
2017-06-22 11:26:58 -05:00
|
|
|
|
2021-10-14 09:38:10 -05:00
|
|
|
config SERIAL_INIT_PRIORITY
|
|
|
|
int "Serial init priority"
|
|
|
|
default KERNEL_INIT_PRIORITY_DEVICE
|
|
|
|
help
|
|
|
|
Serial driver device initialization priority.
|
|
|
|
|
2022-03-04 12:56:05 -08:00
|
|
|
module = UART
|
|
|
|
module-str = uart
|
|
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
|
2021-09-27 17:06:48 -07:00
|
|
|
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.
|
|
|
|
|
2021-05-26 12:33:37 -07:00
|
|
|
config UART_USE_RUNTIME_CONFIGURE
|
2022-03-09 12:05:12 +01:00
|
|
|
bool "Runtime configuration for UART controllers"
|
2021-05-26 12:33:37 -07:00
|
|
|
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.
|
|
|
|
|
2018-10-24 14:09:31 +02:00
|
|
|
config UART_ASYNC_API
|
2022-03-09 12:05:12 +01:00
|
|
|
bool "Asynchronous UART API"
|
2019-06-03 14:06:38 +02:00
|
|
|
depends on SERIAL_SUPPORT_ASYNC
|
2018-10-24 14:09:31 +02:00
|
|
|
help
|
2021-10-22 11:05:39 +02:00
|
|
|
This option enables asynchronous UART API.
|
2018-10-24 14:09:31 +02:00
|
|
|
|
2016-05-24 18:17:13 -05:00
|
|
|
config UART_INTERRUPT_DRIVEN
|
2022-03-09 12:05:12 +01:00
|
|
|
bool "UART Interrupt support"
|
2017-06-22 11:26:58 -05:00
|
|
|
depends on SERIAL_SUPPORT_INTERRUPT
|
2015-12-10 13:29:57 -08:00
|
|
|
help
|
2017-12-13 10:08:21 -05:00
|
|
|
This option enables interrupt support for UART allowing console
|
|
|
|
input and other UART based drivers.
|
2015-12-10 13:29:57 -08:00
|
|
|
|
2022-08-18 11:19:46 -07:00
|
|
|
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.
|
|
|
|
|
2016-01-06 09:17:03 -08:00
|
|
|
config UART_LINE_CTRL
|
2022-03-09 12:05:12 +01:00
|
|
|
bool "Serial Line Control API"
|
2016-01-06 09:17:03 -08:00
|
|
|
help
|
2017-12-13 10:08:21 -05:00
|
|
|
This enables the API for apps to control the serial line,
|
|
|
|
such as baud rate, CTS and RTS.
|
2016-01-06 09:17:03 -08:00
|
|
|
|
2017-12-13 10:08:21 -05:00
|
|
|
Implementation is up to individual driver.
|
2016-01-06 09:17:03 -08:00
|
|
|
|
2017-12-13 10:08:21 -05:00
|
|
|
Says no if not sure.
|
2016-01-06 09:17:03 -08:00
|
|
|
|
|
|
|
config UART_DRV_CMD
|
2022-03-09 12:05:12 +01:00
|
|
|
bool "Driver commands API"
|
2016-01-06 09:17:03 -08:00
|
|
|
help
|
2017-12-13 10:08:21 -05:00
|
|
|
This enables the API to send extra commands to drivers.
|
|
|
|
This allows drivers to expose hardware specific functions.
|
2016-01-06 09:17:03 -08:00
|
|
|
|
2017-12-13 10:08:21 -05:00
|
|
|
Says no if not sure.
|
2016-01-06 09:17:03 -08:00
|
|
|
|
2021-09-27 17:06:48 -07:00
|
|
|
config UART_WIDE_DATA
|
2022-03-09 12:05:12 +01:00
|
|
|
bool "API to support data longer than 8-bit"
|
2021-09-27 17:06:48 -07:00
|
|
|
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.
|
|
|
|
|
2021-09-01 12:15:16 +02:00
|
|
|
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.
|
|
|
|
|
2023-10-16 07:29:41 +02:00
|
|
|
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.
|
|
|
|
|
2023-11-08 13:33:57 +01:00
|
|
|
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.
|
|
|
|
|
2016-03-17 10:24:45 -07:00
|
|
|
comment "Serial Drivers"
|
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.b91"
|
2021-07-09 11:46:07 +03:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.ns16550"
|
2015-08-05 12:13:36 -07:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.mcux"
|
2017-01-09 12:25:59 -06:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.mcux_flexcomm"
|
2017-07-26 06:53:02 -05:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.mcux_iuart"
|
2019-07-27 12:16:35 +05:30
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.mcux_lpsci"
|
2017-04-26 09:56:39 -05:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.mcux_lpuart"
|
2017-01-18 05:54:58 -06:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.miv"
|
2018-06-10 19:02:14 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.imx"
|
2018-03-14 18:36:53 +00:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.it8xxx2"
|
2021-10-21 15:05:50 +08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.stellaris"
|
2015-05-26 10:25:55 -04:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.native_posix"
|
2018-09-22 19:19:59 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.usart_sam"
|
2016-10-13 17:55:02 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.uart_sam"
|
2017-03-23 01:45:32 +01:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.stm32"
|
2016-03-03 15:33:20 +01:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.nrfx"
|
2016-05-18 07:49:04 -07:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.altera_jtag"
|
2016-06-20 14:11:35 -07:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.cc13xx_cc26xx"
|
2019-04-18 13:29:26 -05:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.cc32xx"
|
2016-10-31 17:46:32 -07:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.cmsdk_apb"
|
2016-09-19 15:58:03 +01:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.sifive"
|
2017-03-14 22:16:37 +01:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.esp32"
|
2017-05-10 17:12:12 -07:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.gecko"
|
2017-04-05 19:06:17 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.leuart_gecko"
|
2018-10-30 18:26:25 +00:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.msp432p4xx"
|
2017-07-22 11:47:21 +05:30
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.numicro"
|
2020-04-24 16:21:29 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.sam0"
|
2017-11-18 11:59:08 +01:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.psoc6"
|
2018-06-28 15:20:16 -05:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.pl011"
|
2018-07-30 00:40:46 -05:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.ql_usbserialport_s3b"
|
2022-06-06 17:02:36 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.rv32m1_lpuart"
|
2018-11-07 10:13:52 -08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.rpi_pico"
|
2021-11-30 00:40:43 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.litex"
|
2019-03-28 14:37:03 +01:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.rtt"
|
2019-07-15 18:47:43 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.bt"
|
2024-03-06 13:12:51 -05:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.xlnx"
|
2018-11-17 23:29:47 -08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.xmc4xxx"
|
2020-04-21 12:16:59 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.lpc11u6x"
|
2020-05-04 12:57:25 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.npcx"
|
2020-07-02 18:15:14 +08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.apbuart"
|
2020-10-16 20:57:50 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.rcar"
|
2021-05-06 12:32:25 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.xec"
|
2021-08-05 11:15:48 -04:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.gd32"
|
2021-09-17 17:16:30 -03:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.test"
|
2021-07-08 17:15:52 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.neorv32"
|
2021-08-23 21:43:01 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.xen"
|
2021-07-02 11:31:56 +03:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.ifx_cat1"
|
2022-03-25 12:19:24 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.smartbond"
|
2022-05-09 22:29:27 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.nxp_s32"
|
2022-08-07 04:25:58 +07:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.cdns"
|
2022-09-22 10:21:35 -07:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.opentitan"
|
2023-01-13 15:21:10 -08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.altera"
|
2023-01-16 11:18:54 +08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.hostlink"
|
2023-03-10 16:07:16 +00:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.emul"
|
2023-03-15 11:01:54 +01:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.native_tty"
|
2023-05-28 09:46:53 +02:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.numaker"
|
2023-04-10 19:55:54 +08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.efinix_sapphire"
|
2023-03-21 02:10:57 +08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.sedi"
|
2023-04-03 12:49:42 -05:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.max32"
|
2023-10-13 16:19:45 +03:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.bcm2711"
|
2023-09-28 14:46:18 +08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.intel_lw"
|
2023-06-08 15:24:15 +08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.renesas_ra"
|
2023-07-05 02:59:26 +09:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.ene"
|
2024-03-15 10:46:28 +08:00
|
|
|
|
2024-05-30 12:51:27 -07:00
|
|
|
rsource "Kconfig.rzt2m"
|
2023-08-10 14:49:35 +02:00
|
|
|
|
2024-08-13 11:49:26 +07:00
|
|
|
rsource "Kconfig.renesas_ra8"
|
2024-01-12 08:20:54 +00:00
|
|
|
|
2023-05-14 09:18:50 +02:00
|
|
|
source "drivers/serial/Kconfig.si32"
|
|
|
|
|
2019-03-09 04:23:02 +01:00
|
|
|
endif # SERIAL
|