# Kconfig - 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_INTERRUPT
	bool
	help
	  This is an option to be enabled by individual serial driver
	  to signal that the driver and hardware supports interrupts.

config UART_INTERRUPT_DRIVEN
	bool "Enable 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 "Enable 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 "Enable 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.

comment "Serial Drivers"

source "drivers/serial/Kconfig.ns16550"

source "drivers/serial/Kconfig.mcux"

source "drivers/serial/Kconfig.mcux_lpc_usart"

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.stellaris"

source "drivers/serial/Kconfig.nsim"

source "drivers/serial/Kconfig.usart_sam"

source "drivers/serial/Kconfig.uart_sam"

source "drivers/serial/Kconfig.qmsi"

source "drivers/serial/Kconfig.stm32"

source "drivers/serial/Kconfig.nrfx"

source "drivers/serial/Kconfig.altera_jtag"

source "drivers/serial/Kconfig.cc32xx"

source "drivers/serial/Kconfig.cmsdk_apb"

source "drivers/serial/Kconfig.riscv_qemu"

source "drivers/serial/Kconfig.sifive"

source "drivers/serial/Kconfig.esp32"

source "drivers/serial/Kconfig.gecko"

source "drivers/serial/Kconfig.msp432p4xx"

source "drivers/serial/Kconfig.sam0"

endif
