# 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 SERIAL_SUPPORT_INTERRUPT
	bool
	default n
	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
	prompt "Enable UART Interrupt support"
	default n
	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"
	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.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"

source "drivers/serial/Kconfig.gecko"

source "drivers/serial/Kconfig.msp432p4xx"

endif
