# Kconfig - serial driver configuration options

#
# Copyright (c) 2014-2015 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig SERIAL
	bool
	prompt "Serial Drivers"
	default n
	help
	Enable options for serial drivers.

if SERIAL

comment "Capabilities"

config SERIAL_HAS_DRIVER
	bool
	default n
	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 UART_INTERRUPT_DRIVEN
	bool
	prompt "Enable UART Interrupt support"
	default n
	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"
	default n
	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"
	default n
	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_lpsci"

source "drivers/serial/Kconfig.mcux_lpuart"

source "drivers/serial/Kconfig.stellaris"

source "drivers/serial/Kconfig.nsim"

source "drivers/serial/Kconfig.atmel_sam3"

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

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

source "drivers/serial/Kconfig.esp32"

endif
