162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Serial device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenu "Serial drivers"
762306a36Sopenharmony_ci	depends on HAS_IOMEM
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciconfig SERIAL_EARLYCON
1062306a36Sopenharmony_ci	bool
1162306a36Sopenharmony_ci	depends on SERIAL_CORE
1262306a36Sopenharmony_ci	help
1362306a36Sopenharmony_ci	  Support for early consoles with the earlycon parameter. This enables
1462306a36Sopenharmony_ci	  the console before standard serial driver is probed. The console is
1562306a36Sopenharmony_ci	  enabled when early_param is processed.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_cisource "drivers/tty/serial/8250/Kconfig"
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_cicomment "Non-8250 serial port support"
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig SERIAL_AMBA_PL010
2262306a36Sopenharmony_ci	tristate "ARM AMBA PL010 serial port support"
2362306a36Sopenharmony_ci	depends on ARM_AMBA || COMPILE_TEST
2462306a36Sopenharmony_ci	select SERIAL_CORE
2562306a36Sopenharmony_ci	help
2662306a36Sopenharmony_ci	  This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have
2762306a36Sopenharmony_ci	  an Integrator/AP or Integrator/PP2 platform, or if you have a
2862306a36Sopenharmony_ci	  Cirrus Logic EP93xx CPU, say Y or M here.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	  If unsure, say N.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciconfig SERIAL_AMBA_PL010_CONSOLE
3362306a36Sopenharmony_ci	bool "Support for console on AMBA serial port"
3462306a36Sopenharmony_ci	depends on SERIAL_AMBA_PL010=y
3562306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
3662306a36Sopenharmony_ci	help
3762306a36Sopenharmony_ci	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
3862306a36Sopenharmony_ci	  console (the system console is the device which receives all kernel
3962306a36Sopenharmony_ci	  messages and warnings and which allows logins in single user mode).
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	  Even if you say Y here, the currently visible framebuffer console
4262306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
4362306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
4462306a36Sopenharmony_ci	  "console=ttyAM0". (Try "man bootparam" or see the documentation of
4562306a36Sopenharmony_ci	  your boot loader (lilo or loadlin) about how to pass options to the
4662306a36Sopenharmony_ci	  kernel at boot time.)
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig SERIAL_AMBA_PL011
4962306a36Sopenharmony_ci	tristate "ARM AMBA PL011 serial port support"
5062306a36Sopenharmony_ci	depends on ARM_AMBA
5162306a36Sopenharmony_ci	select SERIAL_CORE
5262306a36Sopenharmony_ci	help
5362306a36Sopenharmony_ci	  This selects the ARM(R) AMBA(R) PrimeCell PL011 UART.  If you have
5462306a36Sopenharmony_ci	  an Integrator/PP2, Integrator/CP or Versatile platform, say Y or M
5562306a36Sopenharmony_ci	  here.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	  If unsure, say N.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig SERIAL_AMBA_PL011_CONSOLE
6062306a36Sopenharmony_ci	bool "Support for console on AMBA serial port"
6162306a36Sopenharmony_ci	depends on SERIAL_AMBA_PL011=y
6262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
6362306a36Sopenharmony_ci	select SERIAL_EARLYCON
6462306a36Sopenharmony_ci	help
6562306a36Sopenharmony_ci	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
6662306a36Sopenharmony_ci	  console (the system console is the device which receives all kernel
6762306a36Sopenharmony_ci	  messages and warnings and which allows logins in single user mode).
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci	  Even if you say Y here, the currently visible framebuffer console
7062306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
7162306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
7262306a36Sopenharmony_ci	  "console=ttyAMA0". (Try "man bootparam" or see the documentation of
7362306a36Sopenharmony_ci	  your boot loader (lilo or loadlin) about how to pass options to the
7462306a36Sopenharmony_ci	  kernel at boot time.)
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciconfig SERIAL_EARLYCON_SEMIHOST
7762306a36Sopenharmony_ci	bool "Early console using Arm compatible semihosting"
7862306a36Sopenharmony_ci	depends on ARM64 || ARM || RISCV
7962306a36Sopenharmony_ci	select SERIAL_CORE
8062306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
8162306a36Sopenharmony_ci	select SERIAL_EARLYCON
8262306a36Sopenharmony_ci	help
8362306a36Sopenharmony_ci	  Support for early debug console using Arm compatible semihosting.
8462306a36Sopenharmony_ci	  This enables the console before standard serial driver is probed.
8562306a36Sopenharmony_ci	  This is enabled with "earlycon=smh" on the kernel command line.
8662306a36Sopenharmony_ci	  The console is enabled when early_param is processed.
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciconfig SERIAL_EARLYCON_RISCV_SBI
8962306a36Sopenharmony_ci	bool "Early console using RISC-V SBI"
9062306a36Sopenharmony_ci	depends on RISCV_SBI_V01
9162306a36Sopenharmony_ci	select SERIAL_CORE
9262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
9362306a36Sopenharmony_ci	select SERIAL_EARLYCON
9462306a36Sopenharmony_ci	help
9562306a36Sopenharmony_ci	  Support for early debug console using RISC-V SBI. This enables
9662306a36Sopenharmony_ci	  the console before standard serial driver is probed. This is enabled
9762306a36Sopenharmony_ci	  with "earlycon=sbi" on the kernel command line. The console is
9862306a36Sopenharmony_ci	  enabled when early_param is processed.
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ciconfig SERIAL_SB1250_DUART
10162306a36Sopenharmony_ci	tristate "BCM1xxx on-chip DUART serial support"
10262306a36Sopenharmony_ci	depends on SIBYTE_SB1xxx_SOC=y
10362306a36Sopenharmony_ci	select SERIAL_CORE
10462306a36Sopenharmony_ci	default y
10562306a36Sopenharmony_ci	help
10662306a36Sopenharmony_ci	  Support for the asynchronous serial interface (DUART) included in
10762306a36Sopenharmony_ci	  the BCM1250 and derived System-On-a-Chip (SOC) devices.  Note that
10862306a36Sopenharmony_ci	  the letter D in DUART stands for "dual", which is how the device
10962306a36Sopenharmony_ci	  is implemented.  Depending on the SOC configuration there may be
11062306a36Sopenharmony_ci	  one or more DUARTs available of which all are handled.
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	  If unsure, say Y.  To compile this driver as a module, choose M here:
11362306a36Sopenharmony_ci	  the module will be called sb1250-duart.
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciconfig SERIAL_SB1250_DUART_CONSOLE
11662306a36Sopenharmony_ci	bool "Support for console on a BCM1xxx DUART serial port"
11762306a36Sopenharmony_ci	depends on SERIAL_SB1250_DUART=y
11862306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
11962306a36Sopenharmony_ci	default y
12062306a36Sopenharmony_ci	help
12162306a36Sopenharmony_ci	  If you say Y here, it will be possible to use a serial port as the
12262306a36Sopenharmony_ci	  system console (the system console is the device which receives all
12362306a36Sopenharmony_ci	  kernel messages and warnings and which allows logins in single user
12462306a36Sopenharmony_ci	  mode).
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci	  If unsure, say Y.
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ciconfig SERIAL_ATMEL
12962306a36Sopenharmony_ci	bool "AT91 on-chip serial port support"
13062306a36Sopenharmony_ci	depends on COMMON_CLK
13162306a36Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
13262306a36Sopenharmony_ci	select SERIAL_CORE
13362306a36Sopenharmony_ci	select SERIAL_MCTRL_GPIO if GPIOLIB
13462306a36Sopenharmony_ci	select MFD_AT91_USART
13562306a36Sopenharmony_ci	help
13662306a36Sopenharmony_ci	  This enables the driver for the on-chip UARTs of the Atmel
13762306a36Sopenharmony_ci	  AT91 processors.
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ciconfig SERIAL_ATMEL_CONSOLE
14062306a36Sopenharmony_ci	bool "Support for console on AT91 serial port"
14162306a36Sopenharmony_ci	depends on SERIAL_ATMEL=y
14262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
14362306a36Sopenharmony_ci	select SERIAL_EARLYCON
14462306a36Sopenharmony_ci	help
14562306a36Sopenharmony_ci	  Say Y here if you wish to use an on-chip UART on a Atmel
14662306a36Sopenharmony_ci	  AT91 processor as the system console (the system
14762306a36Sopenharmony_ci	  console is the device which receives all kernel messages and
14862306a36Sopenharmony_ci	  warnings and which allows logins in single user mode).
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ciconfig SERIAL_ATMEL_PDC
15162306a36Sopenharmony_ci	bool "Support DMA transfers on AT91 serial port"
15262306a36Sopenharmony_ci	depends on SERIAL_ATMEL
15362306a36Sopenharmony_ci	default y
15462306a36Sopenharmony_ci	help
15562306a36Sopenharmony_ci	  Say Y here if you wish to use the PDC to do DMA transfers to
15662306a36Sopenharmony_ci	  and from the Atmel AT91 serial port. In order to
15762306a36Sopenharmony_ci	  actually use DMA transfers, make sure that the use_dma_tx
15862306a36Sopenharmony_ci	  and use_dma_rx members in the atmel_uart_data struct is set
15962306a36Sopenharmony_ci	  appropriately for each port.
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ci	  Note that break and error handling currently doesn't work
16262306a36Sopenharmony_ci	  properly when DMA is enabled. Make sure that ports where
16362306a36Sopenharmony_ci	  this matters don't use DMA.
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ciconfig SERIAL_ATMEL_TTYAT
16662306a36Sopenharmony_ci	bool "Install as device ttyATn instead of ttySn"
16762306a36Sopenharmony_ci	depends on SERIAL_ATMEL=y
16862306a36Sopenharmony_ci	help
16962306a36Sopenharmony_ci	  Say Y here if you wish to have the internal AT91 UARTs
17062306a36Sopenharmony_ci	  appear as /dev/ttyATn (major 204, minor starting at 154)
17162306a36Sopenharmony_ci	  instead of the normal /dev/ttySn (major 4, minor starting at
17262306a36Sopenharmony_ci	  64). This is necessary if you also want other UARTs, such as
17362306a36Sopenharmony_ci	  external 8250/16C550 compatible UARTs.
17462306a36Sopenharmony_ci	  The ttySn nodes are legally reserved for the 8250 serial driver
17562306a36Sopenharmony_ci	  but are often misused by other serial drivers.
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci	  To use this, you should create suitable ttyATn device nodes in
17862306a36Sopenharmony_ci	  /dev/, and pass "console=ttyATn" to the kernel.
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci	  Say Y if you have an external 8250/16C550 UART.  If unsure, say N.
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ciconfig SERIAL_KGDB_NMI
18362306a36Sopenharmony_ci	bool "Serial console over KGDB NMI debugger port"
18462306a36Sopenharmony_ci	depends on KGDB_SERIAL_CONSOLE
18562306a36Sopenharmony_ci	help
18662306a36Sopenharmony_ci	  This special driver allows you to temporary use NMI debugger port
18762306a36Sopenharmony_ci	  as a normal console (assuming that the port is attached to KGDB).
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci	  Unlike KDB's disable_nmi command, with this driver you are always
19062306a36Sopenharmony_ci	  able to go back to the debugger using KGDB escape sequence ($3#33).
19162306a36Sopenharmony_ci	  This is because this console driver processes the input in NMI
19262306a36Sopenharmony_ci	  context, and thus is able to intercept the magic sequence.
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci	  Note that since the console interprets input and uses polling
19562306a36Sopenharmony_ci	  communication methods, for things like PPP you still must fully
19662306a36Sopenharmony_ci	  detach debugger port from the KGDB NMI (i.e. disable_nmi), and
19762306a36Sopenharmony_ci	  use raw console.
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci	  If unsure, say N.
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ciconfig SERIAL_MESON
20262306a36Sopenharmony_ci	tristate "Meson serial port support"
20362306a36Sopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
20462306a36Sopenharmony_ci	select SERIAL_CORE
20562306a36Sopenharmony_ci	help
20662306a36Sopenharmony_ci	  This enables the driver for the on-chip UARTs of the Amlogic
20762306a36Sopenharmony_ci	  MesonX processors.
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ciconfig SERIAL_MESON_CONSOLE
21062306a36Sopenharmony_ci	bool "Support for console on meson"
21162306a36Sopenharmony_ci	depends on SERIAL_MESON
21262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
21362306a36Sopenharmony_ci	select SERIAL_EARLYCON
21462306a36Sopenharmony_ci	help
21562306a36Sopenharmony_ci	  Say Y here if you wish to use a Amlogic MesonX UART as the
21662306a36Sopenharmony_ci	  system console (the system console is the device which
21762306a36Sopenharmony_ci	  receives all kernel messages and warnings and which allows
21862306a36Sopenharmony_ci	  logins in single user mode) as /dev/ttyAMLx.
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ciconfig SERIAL_CLPS711X
22162306a36Sopenharmony_ci	tristate "CLPS711X serial port support"
22262306a36Sopenharmony_ci	depends on ARCH_CLPS711X || COMPILE_TEST
22362306a36Sopenharmony_ci	select SERIAL_CORE
22462306a36Sopenharmony_ci	select SERIAL_MCTRL_GPIO if GPIOLIB
22562306a36Sopenharmony_ci	help
22662306a36Sopenharmony_ci	  This enables the driver for the on-chip UARTs of the Cirrus
22762306a36Sopenharmony_ci	  Logic EP711x/EP721x/EP731x processors.
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ciconfig SERIAL_CLPS711X_CONSOLE
23062306a36Sopenharmony_ci	bool "Support for console on CLPS711X serial port"
23162306a36Sopenharmony_ci	depends on SERIAL_CLPS711X=y
23262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
23362306a36Sopenharmony_ci	help
23462306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
23562306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
23662306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
23762306a36Sopenharmony_ci	  "console=ttyCL1".
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ciconfig SERIAL_SAMSUNG
24062306a36Sopenharmony_ci	tristate "Samsung SoC serial support"
24162306a36Sopenharmony_ci	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || ARCH_ARTPEC || COMPILE_TEST
24262306a36Sopenharmony_ci	select SERIAL_CORE
24362306a36Sopenharmony_ci	help
24462306a36Sopenharmony_ci	  Support for the on-chip UARTs on the Samsung
24562306a36Sopenharmony_ci	  S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
24662306a36Sopenharmony_ci	  /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
24762306a36Sopenharmony_ci	  these ports, depending on how the serial port pins are configured.
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci	  Choose Y/M here only if you build for such SoC.
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ciconfig SERIAL_SAMSUNG_UARTS
25262306a36Sopenharmony_ci	int
25362306a36Sopenharmony_ci	depends on SERIAL_SAMSUNG
25462306a36Sopenharmony_ci	default 4
25562306a36Sopenharmony_ci	help
25662306a36Sopenharmony_ci	  Select the number of available UART ports for the Samsung S3C
25762306a36Sopenharmony_ci	  serial driver
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ciconfig SERIAL_SAMSUNG_CONSOLE
26062306a36Sopenharmony_ci	bool "Support for console on Samsung SoC serial port"
26162306a36Sopenharmony_ci	depends on SERIAL_SAMSUNG
26262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
26362306a36Sopenharmony_ci	select SERIAL_EARLYCON
26462306a36Sopenharmony_ci	help
26562306a36Sopenharmony_ci	  Allow selection of the S3C24XX on-board serial ports for use as
26662306a36Sopenharmony_ci	  an virtual console.
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
26962306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
27062306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
27162306a36Sopenharmony_ci	  "console=ttySACx". (Try "man bootparam" or see the documentation of
27262306a36Sopenharmony_ci	  your boot loader about how to pass options to the kernel at
27362306a36Sopenharmony_ci	  boot time.)
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_ciconfig SERIAL_TEGRA
27662306a36Sopenharmony_ci	tristate "NVIDIA Tegra20/30 SoC serial controller"
27762306a36Sopenharmony_ci	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
27862306a36Sopenharmony_ci	select SERIAL_CORE
27962306a36Sopenharmony_ci	help
28062306a36Sopenharmony_ci	  Support for the on-chip UARTs on the NVIDIA Tegra series SOCs
28162306a36Sopenharmony_ci	  providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not
28262306a36Sopenharmony_ci	  provide all of these ports, depending on how the serial port
28362306a36Sopenharmony_ci	  are enabled). This driver uses the APB DMA to achieve higher baudrate
28462306a36Sopenharmony_ci	  and better performance.
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_ciconfig SERIAL_TEGRA_TCU
28762306a36Sopenharmony_ci	tristate "NVIDIA Tegra Combined UART"
28862306a36Sopenharmony_ci	depends on MAILBOX
28962306a36Sopenharmony_ci	depends on (ARCH_TEGRA && TEGRA_HSP_MBOX) || COMPILE_TEST
29062306a36Sopenharmony_ci	select SERIAL_CORE
29162306a36Sopenharmony_ci	help
29262306a36Sopenharmony_ci	  Support for the mailbox-based TCU (Tegra Combined UART) serial port.
29362306a36Sopenharmony_ci	  TCU is a virtual serial port that allows multiplexing multiple data
29462306a36Sopenharmony_ci	  streams into a single hardware serial port.
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ciconfig SERIAL_TEGRA_TCU_CONSOLE
29762306a36Sopenharmony_ci	bool "Support for console on a Tegra TCU serial port"
29862306a36Sopenharmony_ci	depends on SERIAL_TEGRA_TCU=y
29962306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
30062306a36Sopenharmony_ci	default y
30162306a36Sopenharmony_ci	help
30262306a36Sopenharmony_ci	  If you say Y here, it will be possible to use a the Tegra TCU as the
30362306a36Sopenharmony_ci	  system console (the system console is the device which receives all
30462306a36Sopenharmony_ci	  kernel messages and warnings and which allows logins in single user
30562306a36Sopenharmony_ci	  mode).
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ci	  If unsure, say Y.
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ciconfig SERIAL_MAX3100
31062306a36Sopenharmony_ci	tristate "MAX3100 support"
31162306a36Sopenharmony_ci	depends on SPI
31262306a36Sopenharmony_ci	select SERIAL_CORE
31362306a36Sopenharmony_ci	help
31462306a36Sopenharmony_ci	  MAX3100 chip support
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ciconfig SERIAL_MAX310X
31762306a36Sopenharmony_ci	tristate "MAX310X support"
31862306a36Sopenharmony_ci	depends on SPI_MASTER
31962306a36Sopenharmony_ci	select SERIAL_CORE
32062306a36Sopenharmony_ci	select REGMAP_SPI if SPI_MASTER
32162306a36Sopenharmony_ci	select REGMAP_I2C if I2C
32262306a36Sopenharmony_ci	help
32362306a36Sopenharmony_ci	  This selects support for an advanced UART from Maxim (Dallas).
32462306a36Sopenharmony_ci	  Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
32562306a36Sopenharmony_ci	  Each IC contains 128 words each of receive and transmit FIFO
32662306a36Sopenharmony_ci	  that can be controlled through I2C or high-speed SPI.
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ci	  Say Y here if you want to support this ICs.
32962306a36Sopenharmony_ci
33062306a36Sopenharmony_ciconfig SERIAL_DZ
33162306a36Sopenharmony_ci	bool "DECstation DZ serial driver"
33262306a36Sopenharmony_ci	depends on MACH_DECSTATION && 32BIT
33362306a36Sopenharmony_ci	select SERIAL_CORE
33462306a36Sopenharmony_ci	default y
33562306a36Sopenharmony_ci	help
33662306a36Sopenharmony_ci	  DZ11-family serial controllers for DECstations and VAXstations,
33762306a36Sopenharmony_ci	  including the DC7085, M7814, and M7819.
33862306a36Sopenharmony_ci
33962306a36Sopenharmony_ciconfig SERIAL_DZ_CONSOLE
34062306a36Sopenharmony_ci	bool "Support console on DECstation DZ serial driver"
34162306a36Sopenharmony_ci	depends on SERIAL_DZ=y
34262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
34362306a36Sopenharmony_ci	default y
34462306a36Sopenharmony_ci	help
34562306a36Sopenharmony_ci	  If you say Y here, it will be possible to use a serial port as the
34662306a36Sopenharmony_ci	  system console (the system console is the device which receives all
34762306a36Sopenharmony_ci	  kernel messages and warnings and which allows logins in single user
34862306a36Sopenharmony_ci	  mode).
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ci	  Note that the firmware uses ttyS3 as the serial console on
35162306a36Sopenharmony_ci	  DECstations that use this driver.
35262306a36Sopenharmony_ci
35362306a36Sopenharmony_ci	  If unsure, say Y.
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ciconfig SERIAL_ZS
35662306a36Sopenharmony_ci	tristate "DECstation Z85C30 serial support"
35762306a36Sopenharmony_ci	depends on MACH_DECSTATION
35862306a36Sopenharmony_ci	select SERIAL_CORE
35962306a36Sopenharmony_ci	default y
36062306a36Sopenharmony_ci	help
36162306a36Sopenharmony_ci	  Support for the Zilog 85C350 serial communications controller used
36262306a36Sopenharmony_ci	  for serial ports in newer DECstation systems.  These include the
36362306a36Sopenharmony_ci	  DECsystem 5900 and all models of the DECstation and DECsystem 5000
36462306a36Sopenharmony_ci	  systems except from model 200.
36562306a36Sopenharmony_ci
36662306a36Sopenharmony_ci	  If unsure, say Y.  To compile this driver as a module, choose M here:
36762306a36Sopenharmony_ci	  the module will be called zs.
36862306a36Sopenharmony_ci
36962306a36Sopenharmony_ciconfig SERIAL_ZS_CONSOLE
37062306a36Sopenharmony_ci	bool "Support for console on a DECstation Z85C30 serial port"
37162306a36Sopenharmony_ci	depends on SERIAL_ZS=y
37262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
37362306a36Sopenharmony_ci	default y
37462306a36Sopenharmony_ci	help
37562306a36Sopenharmony_ci	  If you say Y here, it will be possible to use a serial port as the
37662306a36Sopenharmony_ci	  system console (the system console is the device which receives all
37762306a36Sopenharmony_ci	  kernel messages and warnings and which allows logins in single user
37862306a36Sopenharmony_ci	  mode).
37962306a36Sopenharmony_ci
38062306a36Sopenharmony_ci	  Note that the firmware uses ttyS1 as the serial console on the
38162306a36Sopenharmony_ci	  Maxine and ttyS3 on the others using this driver.
38262306a36Sopenharmony_ci
38362306a36Sopenharmony_ci	  If unsure, say Y.
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ciconfig SERIAL_21285
38662306a36Sopenharmony_ci	tristate "DC21285 serial port support"
38762306a36Sopenharmony_ci	depends on FOOTBRIDGE
38862306a36Sopenharmony_ci	select SERIAL_CORE
38962306a36Sopenharmony_ci	help
39062306a36Sopenharmony_ci	  If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
39162306a36Sopenharmony_ci	  PCI bridge you can enable its onboard serial port by enabling this
39262306a36Sopenharmony_ci	  option.
39362306a36Sopenharmony_ci
39462306a36Sopenharmony_ciconfig SERIAL_21285_CONSOLE
39562306a36Sopenharmony_ci	bool "Console on DC21285 serial port"
39662306a36Sopenharmony_ci	depends on SERIAL_21285=y
39762306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
39862306a36Sopenharmony_ci	help
39962306a36Sopenharmony_ci	  If you have enabled the serial port on the 21285 footbridge you can
40062306a36Sopenharmony_ci	  make it the console by answering Y to this option.
40162306a36Sopenharmony_ci
40262306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
40362306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
40462306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
40562306a36Sopenharmony_ci	  "console=ttyFB". (Try "man bootparam" or see the documentation of
40662306a36Sopenharmony_ci	  your boot loader (lilo or loadlin) about how to pass options to the
40762306a36Sopenharmony_ci	  kernel at boot time.)
40862306a36Sopenharmony_ci
40962306a36Sopenharmony_ciconfig SERIAL_PXA
41062306a36Sopenharmony_ci	bool "PXA serial port support (DEPRECATED)"
41162306a36Sopenharmony_ci	depends on ARCH_PXA || ARCH_MMP
41262306a36Sopenharmony_ci	select SERIAL_CORE
41362306a36Sopenharmony_ci	select SERIAL_8250_PXA if SERIAL_8250=y
41462306a36Sopenharmony_ci	select SERIAL_PXA_NON8250 if !SERIAL_8250=y
41562306a36Sopenharmony_ci	help
41662306a36Sopenharmony_ci	  If you have a machine based on an Intel XScale PXA2xx CPU you
41762306a36Sopenharmony_ci	  can enable its onboard serial ports by enabling this option.
41862306a36Sopenharmony_ci
41962306a36Sopenharmony_ci	  Unless you have a specific need, you should use SERIAL_8250_PXA
42062306a36Sopenharmony_ci	  instead of this.
42162306a36Sopenharmony_ci
42262306a36Sopenharmony_ciconfig SERIAL_PXA_NON8250
42362306a36Sopenharmony_ci	bool
42462306a36Sopenharmony_ci	depends on !SERIAL_8250 || COMPILE_TEST
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ciconfig SERIAL_PXA_CONSOLE
42762306a36Sopenharmony_ci	bool "Console on PXA serial port (DEPRECATED)"
42862306a36Sopenharmony_ci	depends on SERIAL_PXA
42962306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
43062306a36Sopenharmony_ci	select SERIAL_8250_CONSOLE if SERIAL_8250=y
43162306a36Sopenharmony_ci	help
43262306a36Sopenharmony_ci	  If you have enabled the serial port on the Intel XScale PXA
43362306a36Sopenharmony_ci	  CPU you can make it the console by answering Y to this option.
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
43662306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
43762306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
43862306a36Sopenharmony_ci	  "console=ttySA0". (Try "man bootparam" or see the documentation of
43962306a36Sopenharmony_ci	  your boot loader (lilo or loadlin) about how to pass options to the
44062306a36Sopenharmony_ci	  kernel at boot time.)
44162306a36Sopenharmony_ci
44262306a36Sopenharmony_ci	  Unless you have a specific need, you should use SERIAL_8250_PXA
44362306a36Sopenharmony_ci	  and SERIAL_8250_CONSOLE instead of this.
44462306a36Sopenharmony_ci
44562306a36Sopenharmony_ciconfig SERIAL_SA1100
44662306a36Sopenharmony_ci	bool "SA1100 serial port support"
44762306a36Sopenharmony_ci	depends on ARCH_SA1100
44862306a36Sopenharmony_ci	select SERIAL_CORE
44962306a36Sopenharmony_ci	select SERIAL_MCTRL_GPIO if GPIOLIB
45062306a36Sopenharmony_ci	help
45162306a36Sopenharmony_ci	  If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
45262306a36Sopenharmony_ci	  can enable its onboard serial port by enabling this option.
45362306a36Sopenharmony_ci	  Please read <file:Documentation/arch/arm/sa1100/serial_uart.rst> for
45462306a36Sopenharmony_ci	  further info.
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_ciconfig SERIAL_SA1100_CONSOLE
45762306a36Sopenharmony_ci	bool "Console on SA1100 serial port"
45862306a36Sopenharmony_ci	depends on SERIAL_SA1100
45962306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
46062306a36Sopenharmony_ci	help
46162306a36Sopenharmony_ci	  If you have enabled the serial port on the SA1100/SA1110 StrongARM
46262306a36Sopenharmony_ci	  CPU you can make it the console by answering Y to this option.
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
46562306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
46662306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
46762306a36Sopenharmony_ci	  "console=ttySA0". (Try "man bootparam" or see the documentation of
46862306a36Sopenharmony_ci	  your boot loader (lilo or loadlin) about how to pass options to the
46962306a36Sopenharmony_ci	  kernel at boot time.)
47062306a36Sopenharmony_ci
47162306a36Sopenharmony_ciconfig SERIAL_IMX
47262306a36Sopenharmony_ci	tristate "IMX serial port support"
47362306a36Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
47462306a36Sopenharmony_ci	select SERIAL_CORE
47562306a36Sopenharmony_ci	select RATIONAL
47662306a36Sopenharmony_ci	select SERIAL_MCTRL_GPIO if GPIOLIB
47762306a36Sopenharmony_ci	help
47862306a36Sopenharmony_ci	  If you have a machine based on a Motorola IMX CPU you
47962306a36Sopenharmony_ci	  can enable its onboard serial port by enabling this option.
48062306a36Sopenharmony_ci
48162306a36Sopenharmony_ciconfig SERIAL_IMX_CONSOLE
48262306a36Sopenharmony_ci	tristate "Console on IMX serial port"
48362306a36Sopenharmony_ci	depends on SERIAL_IMX
48462306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
48562306a36Sopenharmony_ci	help
48662306a36Sopenharmony_ci	  If you have enabled the serial port on the Freescale IMX
48762306a36Sopenharmony_ci	  CPU you can make it the console by answering Y/M to this option.
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci	  Even if you say Y/M here, the currently visible virtual console
49062306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
49162306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
49262306a36Sopenharmony_ci	  "console=ttymxc0". (Try "man bootparam" or see the documentation of
49362306a36Sopenharmony_ci	  your bootloader about how to pass options to the kernel at boot time.)
49462306a36Sopenharmony_ci
49562306a36Sopenharmony_ciconfig SERIAL_IMX_EARLYCON
49662306a36Sopenharmony_ci	bool "Earlycon on IMX serial port"
49762306a36Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
49862306a36Sopenharmony_ci	depends on OF
49962306a36Sopenharmony_ci	select SERIAL_CORE
50062306a36Sopenharmony_ci	select SERIAL_EARLYCON
50162306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
50262306a36Sopenharmony_ci	default y if SERIAL_IMX_CONSOLE
50362306a36Sopenharmony_ci	help
50462306a36Sopenharmony_ci	  If you have enabled the earlycon on the Freescale IMX
50562306a36Sopenharmony_ci	  CPU you can make it the earlycon by answering Y to this option.
50662306a36Sopenharmony_ci
50762306a36Sopenharmony_ciconfig SERIAL_UARTLITE
50862306a36Sopenharmony_ci	tristate "Xilinx uartlite serial port support"
50962306a36Sopenharmony_ci	depends on HAS_IOMEM
51062306a36Sopenharmony_ci	select SERIAL_CORE
51162306a36Sopenharmony_ci	help
51262306a36Sopenharmony_ci	  Say Y here if you want to use the Xilinx uartlite serial controller.
51362306a36Sopenharmony_ci
51462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
51562306a36Sopenharmony_ci	  module will be called uartlite.
51662306a36Sopenharmony_ci
51762306a36Sopenharmony_ciconfig SERIAL_UARTLITE_CONSOLE
51862306a36Sopenharmony_ci	bool "Support for console on Xilinx uartlite serial port"
51962306a36Sopenharmony_ci	depends on SERIAL_UARTLITE=y
52062306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
52162306a36Sopenharmony_ci	select SERIAL_EARLYCON
52262306a36Sopenharmony_ci	help
52362306a36Sopenharmony_ci	  Say Y here if you wish to use a Xilinx uartlite as the system
52462306a36Sopenharmony_ci	  console (the system console is the device which receives all kernel
52562306a36Sopenharmony_ci	  messages and warnings and which allows logins in single user mode).
52662306a36Sopenharmony_ci
52762306a36Sopenharmony_ciconfig SERIAL_UARTLITE_NR_UARTS
52862306a36Sopenharmony_ci	int "Maximum number of uartlite serial ports"
52962306a36Sopenharmony_ci	depends on SERIAL_UARTLITE
53062306a36Sopenharmony_ci	range 1 256
53162306a36Sopenharmony_ci	default 1
53262306a36Sopenharmony_ci	help
53362306a36Sopenharmony_ci	  Set this to the number of uartlites in your system, or the number
53462306a36Sopenharmony_ci	  you think you might implement.
53562306a36Sopenharmony_ci
53662306a36Sopenharmony_ciconfig SERIAL_SUNCORE
53762306a36Sopenharmony_ci	bool
53862306a36Sopenharmony_ci	depends on SPARC
53962306a36Sopenharmony_ci	select SERIAL_CORE
54062306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
54162306a36Sopenharmony_ci	default y
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_ciconfig SERIAL_SUNZILOG
54462306a36Sopenharmony_ci	tristate "Sun Zilog8530 serial support"
54562306a36Sopenharmony_ci	depends on SPARC
54662306a36Sopenharmony_ci	help
54762306a36Sopenharmony_ci	  This driver supports the Zilog8530 serial ports found on many Sparc
54862306a36Sopenharmony_ci	  systems.  Say Y or M if you want to be able to these serial ports.
54962306a36Sopenharmony_ci
55062306a36Sopenharmony_ciconfig SERIAL_SUNZILOG_CONSOLE
55162306a36Sopenharmony_ci	bool "Console on Sun Zilog8530 serial port"
55262306a36Sopenharmony_ci	depends on SERIAL_SUNZILOG=y
55362306a36Sopenharmony_ci	help
55462306a36Sopenharmony_ci	  If you would like to be able to use the Zilog8530 serial port
55562306a36Sopenharmony_ci	  on your Sparc system as the console, you can do so by answering
55662306a36Sopenharmony_ci	  Y to this option.
55762306a36Sopenharmony_ci
55862306a36Sopenharmony_ciconfig SERIAL_SUNSU
55962306a36Sopenharmony_ci	tristate "Sun SU serial support"
56062306a36Sopenharmony_ci	depends on SPARC && PCI
56162306a36Sopenharmony_ci	help
56262306a36Sopenharmony_ci	  This driver supports the 8250 serial ports that run the keyboard and
56362306a36Sopenharmony_ci	  mouse on (PCI) UltraSPARC systems.  Say Y or M if you want to be able
56462306a36Sopenharmony_ci	  to these serial ports.
56562306a36Sopenharmony_ci
56662306a36Sopenharmony_ciconfig SERIAL_SUNSU_CONSOLE
56762306a36Sopenharmony_ci	bool "Console on Sun SU serial port"
56862306a36Sopenharmony_ci	depends on SERIAL_SUNSU=y
56962306a36Sopenharmony_ci	help
57062306a36Sopenharmony_ci	  If you would like to be able to use the SU serial port
57162306a36Sopenharmony_ci	  on your Sparc system as the console, you can do so by answering
57262306a36Sopenharmony_ci	  Y to this option.
57362306a36Sopenharmony_ci
57462306a36Sopenharmony_ciconfig SERIAL_MUX
57562306a36Sopenharmony_ci	tristate "Serial MUX support"
57662306a36Sopenharmony_ci	depends on GSC
57762306a36Sopenharmony_ci	select SERIAL_CORE
57862306a36Sopenharmony_ci	default y
57962306a36Sopenharmony_ci	help
58062306a36Sopenharmony_ci	  Saying Y here will enable the hardware MUX serial driver for
58162306a36Sopenharmony_ci	  the Nova, K class systems and D class with a 'remote control card'.
58262306a36Sopenharmony_ci	  The hardware MUX is not 8250/16550 compatible therefore the
58362306a36Sopenharmony_ci	  /dev/ttyB0 device is shared between the Serial MUX and the PDC
58462306a36Sopenharmony_ci	  software console. The following steps need to be completed to use
58562306a36Sopenharmony_ci	  the Serial MUX:
58662306a36Sopenharmony_ci
58762306a36Sopenharmony_ci	    1. create the device entry (mknod /dev/ttyB0 c 11 0)
58862306a36Sopenharmony_ci	    2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
58962306a36Sopenharmony_ci	    3. Add device ttyB0 to /etc/securetty (if you want to log on as
59062306a36Sopenharmony_ci		 root on this console.)
59162306a36Sopenharmony_ci	    4. Change the kernel command console parameter to: console=ttyB0
59262306a36Sopenharmony_ci
59362306a36Sopenharmony_ciconfig SERIAL_MUX_CONSOLE
59462306a36Sopenharmony_ci	bool "Support for console on serial MUX"
59562306a36Sopenharmony_ci	depends on SERIAL_MUX=y
59662306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
59762306a36Sopenharmony_ci	default y
59862306a36Sopenharmony_ci
59962306a36Sopenharmony_ciconfig SERIAL_SUNSAB
60062306a36Sopenharmony_ci	tristate "Sun Siemens SAB82532 serial support"
60162306a36Sopenharmony_ci	depends on SPARC && PCI
60262306a36Sopenharmony_ci	help
60362306a36Sopenharmony_ci	  This driver supports the Siemens SAB82532 DUSCC serial ports on newer
60462306a36Sopenharmony_ci	  (PCI) UltraSPARC systems.  Say Y or M if you want to be able to these
60562306a36Sopenharmony_ci	  serial ports.
60662306a36Sopenharmony_ci
60762306a36Sopenharmony_ciconfig SERIAL_SUNSAB_CONSOLE
60862306a36Sopenharmony_ci	bool "Console on Sun Siemens SAB82532 serial port"
60962306a36Sopenharmony_ci	depends on SERIAL_SUNSAB=y
61062306a36Sopenharmony_ci	help
61162306a36Sopenharmony_ci	  If you would like to be able to use the SAB82532 serial port
61262306a36Sopenharmony_ci	  on your Sparc system as the console, you can do so by answering
61362306a36Sopenharmony_ci	  Y to this option.
61462306a36Sopenharmony_ci
61562306a36Sopenharmony_ciconfig SERIAL_SUNHV
61662306a36Sopenharmony_ci	bool "Sun4v Hypervisor Console support"
61762306a36Sopenharmony_ci	depends on SPARC64
61862306a36Sopenharmony_ci	help
61962306a36Sopenharmony_ci	  This driver supports the console device found on SUN4V Sparc
62062306a36Sopenharmony_ci	  systems.  Say Y if you want to be able to use this device.
62162306a36Sopenharmony_ci
62262306a36Sopenharmony_ciconfig SERIAL_IP22_ZILOG
62362306a36Sopenharmony_ci	tristate "SGI Zilog8530 serial support"
62462306a36Sopenharmony_ci	depends on SGI_HAS_ZILOG
62562306a36Sopenharmony_ci	select SERIAL_CORE
62662306a36Sopenharmony_ci	help
62762306a36Sopenharmony_ci	  This driver supports the Zilog8530 serial ports found on SGI
62862306a36Sopenharmony_ci	  systems.  Say Y or M if you want to be able to these serial ports.
62962306a36Sopenharmony_ci
63062306a36Sopenharmony_ciconfig SERIAL_IP22_ZILOG_CONSOLE
63162306a36Sopenharmony_ci	bool "Console on SGI Zilog8530 serial port"
63262306a36Sopenharmony_ci	depends on SERIAL_IP22_ZILOG=y
63362306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
63462306a36Sopenharmony_ci
63562306a36Sopenharmony_ciconfig SERIAL_SH_SCI
63662306a36Sopenharmony_ci	tristate "SuperH SCI(F) serial port support"
63762306a36Sopenharmony_ci	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
63862306a36Sopenharmony_ci	select SERIAL_CORE
63962306a36Sopenharmony_ci	select SERIAL_MCTRL_GPIO if GPIOLIB
64062306a36Sopenharmony_ci
64162306a36Sopenharmony_ciconfig SERIAL_SH_SCI_NR_UARTS
64262306a36Sopenharmony_ci	int "Maximum number of SCI(F) serial ports" if EXPERT
64362306a36Sopenharmony_ci	range 1 64 if 64BIT
64462306a36Sopenharmony_ci	range 1 32 if !64BIT
64562306a36Sopenharmony_ci	depends on SERIAL_SH_SCI
64662306a36Sopenharmony_ci	default "10" if SUPERH
64762306a36Sopenharmony_ci	default "18" if ARCH_RENESAS
64862306a36Sopenharmony_ci	default "2"
64962306a36Sopenharmony_ci
65062306a36Sopenharmony_ciconfig SERIAL_SH_SCI_CONSOLE
65162306a36Sopenharmony_ci	bool "Support for console on SuperH SCI(F)" if EXPERT
65262306a36Sopenharmony_ci	depends on SERIAL_SH_SCI=y
65362306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
65462306a36Sopenharmony_ci	default y
65562306a36Sopenharmony_ci
65662306a36Sopenharmony_ciconfig SERIAL_SH_SCI_EARLYCON
65762306a36Sopenharmony_ci	bool "Support for early console on SuperH SCI(F)" if EXPERT
65862306a36Sopenharmony_ci	depends on SERIAL_SH_SCI=y
65962306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
66062306a36Sopenharmony_ci	select SERIAL_EARLYCON
66162306a36Sopenharmony_ci	default ARCH_RENESAS
66262306a36Sopenharmony_ci
66362306a36Sopenharmony_ciconfig SERIAL_SH_SCI_DMA
66462306a36Sopenharmony_ci	bool "DMA support" if EXPERT
66562306a36Sopenharmony_ci	depends on SERIAL_SH_SCI && DMA_ENGINE
66662306a36Sopenharmony_ci	default ARCH_RENESAS
66762306a36Sopenharmony_ci
66862306a36Sopenharmony_ciconfig SERIAL_HS_LPC32XX
66962306a36Sopenharmony_ci	tristate "LPC32XX high speed serial port support"
67062306a36Sopenharmony_ci	depends on ARCH_LPC32XX || COMPILE_TEST
67162306a36Sopenharmony_ci	depends on OF
67262306a36Sopenharmony_ci	select SERIAL_CORE
67362306a36Sopenharmony_ci	help
67462306a36Sopenharmony_ci	  Support for the LPC32XX high speed serial ports (up to 900kbps).
67562306a36Sopenharmony_ci	  Those are UARTs completely different from the Standard UARTs on the
67662306a36Sopenharmony_ci	  LPC32XX SoC.
67762306a36Sopenharmony_ci	  Choose M or Y here to build this driver.
67862306a36Sopenharmony_ci
67962306a36Sopenharmony_ciconfig SERIAL_HS_LPC32XX_CONSOLE
68062306a36Sopenharmony_ci	bool "Enable LPC32XX high speed UART serial console"
68162306a36Sopenharmony_ci	depends on SERIAL_HS_LPC32XX=y
68262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
68362306a36Sopenharmony_ci	help
68462306a36Sopenharmony_ci	  If you would like to be able to use one of the high speed serial
68562306a36Sopenharmony_ci	  ports on the LPC32XX as the console, you can do so by answering
68662306a36Sopenharmony_ci	  Y to this option.
68762306a36Sopenharmony_ci
68862306a36Sopenharmony_ciconfig SERIAL_CORE
68962306a36Sopenharmony_ci	tristate
69062306a36Sopenharmony_ci
69162306a36Sopenharmony_ciconfig SERIAL_CORE_CONSOLE
69262306a36Sopenharmony_ci	bool
69362306a36Sopenharmony_ci
69462306a36Sopenharmony_ciconfig CONSOLE_POLL
69562306a36Sopenharmony_ci	bool
69662306a36Sopenharmony_ci
69762306a36Sopenharmony_ciconfig SERIAL_MCF
69862306a36Sopenharmony_ci	bool "Coldfire serial support"
69962306a36Sopenharmony_ci	depends on COLDFIRE
70062306a36Sopenharmony_ci	select SERIAL_CORE
70162306a36Sopenharmony_ci	help
70262306a36Sopenharmony_ci	  This serial driver supports the Freescale Coldfire serial ports.
70362306a36Sopenharmony_ci
70462306a36Sopenharmony_ciconfig SERIAL_MCF_BAUDRATE
70562306a36Sopenharmony_ci	int "Default baudrate for Coldfire serial ports"
70662306a36Sopenharmony_ci	depends on SERIAL_MCF
70762306a36Sopenharmony_ci	default 19200
70862306a36Sopenharmony_ci	help
70962306a36Sopenharmony_ci	  This setting lets you define what the default baudrate is for the
71062306a36Sopenharmony_ci	  ColdFire serial ports. The usual default varies from board to board,
71162306a36Sopenharmony_ci	  and this setting is a way of catering for that.
71262306a36Sopenharmony_ci
71362306a36Sopenharmony_ciconfig SERIAL_MCF_CONSOLE
71462306a36Sopenharmony_ci	bool "Coldfire serial console support"
71562306a36Sopenharmony_ci	depends on SERIAL_MCF
71662306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
71762306a36Sopenharmony_ci	help
71862306a36Sopenharmony_ci	  Enable a ColdFire internal serial port to be the system console.
71962306a36Sopenharmony_ci
72062306a36Sopenharmony_ciconfig SERIAL_PMACZILOG
72162306a36Sopenharmony_ci	tristate "Mac or PowerMac z85c30 ESCC support"
72262306a36Sopenharmony_ci	depends on (M68K && MAC) || PPC_PMAC
72362306a36Sopenharmony_ci	select SERIAL_CORE
72462306a36Sopenharmony_ci	help
72562306a36Sopenharmony_ci	  This driver supports the Zilog z85C30 serial ports found on
72662306a36Sopenharmony_ci	  (Power)Mac machines.
72762306a36Sopenharmony_ci	  Say Y or M if you want to be able to these serial ports.
72862306a36Sopenharmony_ci
72962306a36Sopenharmony_ciconfig SERIAL_PMACZILOG_TTYS
73062306a36Sopenharmony_ci	bool "Use ttySn device nodes for Zilog z85c30"
73162306a36Sopenharmony_ci	depends on SERIAL_PMACZILOG
73262306a36Sopenharmony_ci	help
73362306a36Sopenharmony_ci	  The pmac_zilog driver for the z85C30 chip on many powermacs
73462306a36Sopenharmony_ci	  historically used the device numbers for /dev/ttySn.  The
73562306a36Sopenharmony_ci	  8250 serial port driver also uses these numbers, which means
73662306a36Sopenharmony_ci	  the two drivers being unable to coexist; you could not use
73762306a36Sopenharmony_ci	  both z85C30 and 8250 type ports at the same time.
73862306a36Sopenharmony_ci
73962306a36Sopenharmony_ci	  If this option is not selected, the pmac_zilog driver will
74062306a36Sopenharmony_ci	  use the device numbers allocated for /dev/ttyPZn.  This allows
74162306a36Sopenharmony_ci	  the pmac_zilog and 8250 drivers to co-exist, but may cause
74262306a36Sopenharmony_ci	  existing userspace setups to break.  Programs that need to
74362306a36Sopenharmony_ci	  access the built-in serial ports on powermacs will need to
74462306a36Sopenharmony_ci	  be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
74562306a36Sopenharmony_ci
74662306a36Sopenharmony_ci	  If you enable this option, any z85c30 ports in the system will
74762306a36Sopenharmony_ci	  be registered as ttyS0 onwards as in the past, and you will be
74862306a36Sopenharmony_ci	  unable to use the 8250 module for PCMCIA or other 16C550-style
74962306a36Sopenharmony_ci	  UARTs.
75062306a36Sopenharmony_ci
75162306a36Sopenharmony_ci	  Say N unless you need the z85c30 ports on your (Power)Mac
75262306a36Sopenharmony_ci	  to appear as /dev/ttySn.
75362306a36Sopenharmony_ci
75462306a36Sopenharmony_ciconfig SERIAL_PMACZILOG_CONSOLE
75562306a36Sopenharmony_ci	bool "Console on Mac or PowerMac z85c30 serial port"
75662306a36Sopenharmony_ci	depends on SERIAL_PMACZILOG=y
75762306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
75862306a36Sopenharmony_ci	help
75962306a36Sopenharmony_ci	  If you would like to be able to use the z85c30 serial port
76062306a36Sopenharmony_ci	  on your (Power)Mac as the console, you can do so by answering
76162306a36Sopenharmony_ci	  Y to this option.
76262306a36Sopenharmony_ci
76362306a36Sopenharmony_ciconfig SERIAL_CPM
76462306a36Sopenharmony_ci	tristate "CPM SCC/SMC serial port support"
76562306a36Sopenharmony_ci	depends on CPM2 || CPM1
76662306a36Sopenharmony_ci	select SERIAL_CORE
76762306a36Sopenharmony_ci	help
76862306a36Sopenharmony_ci	  This driver supports the SCC and SMC serial ports on Motorola 
76962306a36Sopenharmony_ci	  embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)
77062306a36Sopenharmony_ci
77162306a36Sopenharmony_ciconfig SERIAL_CPM_CONSOLE
77262306a36Sopenharmony_ci	bool "Support for console on CPM SCC/SMC serial port"
77362306a36Sopenharmony_ci	depends on SERIAL_CPM=y
77462306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
77562306a36Sopenharmony_ci	help
77662306a36Sopenharmony_ci	  Say Y here if you wish to use a SCC or SMC CPM UART as the system
77762306a36Sopenharmony_ci	  console (the system console is the device which receives all kernel
77862306a36Sopenharmony_ci	  messages and warnings and which allows logins in single user mode).
77962306a36Sopenharmony_ci
78062306a36Sopenharmony_ci	  Even if you say Y here, the currently visible framebuffer console
78162306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
78262306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
78362306a36Sopenharmony_ci	  "console=ttyCPM0". (Try "man bootparam" or see the documentation of
78462306a36Sopenharmony_ci	  your boot loader (lilo or loadlin) about how to pass options to the
78562306a36Sopenharmony_ci	  kernel at boot time.)
78662306a36Sopenharmony_ci
78762306a36Sopenharmony_ciconfig SERIAL_PIC32
78862306a36Sopenharmony_ci	tristate "Microchip PIC32 serial support"
78962306a36Sopenharmony_ci	depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
79062306a36Sopenharmony_ci	select SERIAL_CORE
79162306a36Sopenharmony_ci	help
79262306a36Sopenharmony_ci	  If you have a PIC32, this driver supports the serial ports.
79362306a36Sopenharmony_ci
79462306a36Sopenharmony_ci	  Say Y or M to use PIC32 serial ports, otherwise say N. Note that
79562306a36Sopenharmony_ci	  to use a serial port as a console, this must be included in kernel and
79662306a36Sopenharmony_ci	  not as a module.
79762306a36Sopenharmony_ci
79862306a36Sopenharmony_ciconfig SERIAL_PIC32_CONSOLE
79962306a36Sopenharmony_ci	bool "PIC32 serial console support"
80062306a36Sopenharmony_ci	depends on SERIAL_PIC32=y
80162306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
80262306a36Sopenharmony_ci	help
80362306a36Sopenharmony_ci	  If you have a PIC32, this driver supports the putting a console on one
80462306a36Sopenharmony_ci	  of the serial ports.
80562306a36Sopenharmony_ci
80662306a36Sopenharmony_ci	  Say Y to use the PIC32 console, otherwise say N.
80762306a36Sopenharmony_ci
80862306a36Sopenharmony_ciconfig SERIAL_MPC52xx
80962306a36Sopenharmony_ci	tristate "Freescale MPC52xx/MPC512x family PSC serial support"
81062306a36Sopenharmony_ci	depends on PPC_MPC52xx || PPC_MPC512x
81162306a36Sopenharmony_ci	select SERIAL_CORE
81262306a36Sopenharmony_ci	help
81362306a36Sopenharmony_ci	  This driver supports MPC52xx and MPC512x PSC serial ports. If you would
81462306a36Sopenharmony_ci	  like to use them, you must answer Y or M to this option. Note that
81562306a36Sopenharmony_ci	  for use as console, it must be included in kernel and not as a
81662306a36Sopenharmony_ci	  module.
81762306a36Sopenharmony_ci
81862306a36Sopenharmony_ciconfig SERIAL_MPC52xx_CONSOLE
81962306a36Sopenharmony_ci	bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
82062306a36Sopenharmony_ci	depends on SERIAL_MPC52xx=y
82162306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
82262306a36Sopenharmony_ci	help
82362306a36Sopenharmony_ci	  Select this options if you'd like to use one of the PSC serial port
82462306a36Sopenharmony_ci	  of the Freescale MPC52xx family as a console.
82562306a36Sopenharmony_ci
82662306a36Sopenharmony_ciconfig SERIAL_MPC52xx_CONSOLE_BAUD
82762306a36Sopenharmony_ci	int "Freescale MPC52xx/MPC512x family PSC serial port baud"
82862306a36Sopenharmony_ci	depends on SERIAL_MPC52xx_CONSOLE=y
82962306a36Sopenharmony_ci	default "9600"
83062306a36Sopenharmony_ci	help
83162306a36Sopenharmony_ci	  Select the MPC52xx console baud rate.
83262306a36Sopenharmony_ci	  This value is only used if the bootloader doesn't pass in the
83362306a36Sopenharmony_ci	  console baudrate
83462306a36Sopenharmony_ci
83562306a36Sopenharmony_ciconfig SERIAL_ICOM
83662306a36Sopenharmony_ci	tristate "IBM Multiport Serial Adapter"
83762306a36Sopenharmony_ci	depends on PCI
83862306a36Sopenharmony_ci	depends on PPC_PSERIES || COMPILE_TEST
83962306a36Sopenharmony_ci	select SERIAL_CORE
84062306a36Sopenharmony_ci	select FW_LOADER
84162306a36Sopenharmony_ci	help
84262306a36Sopenharmony_ci	  This driver is for a family of multiport serial adapters
84362306a36Sopenharmony_ci	  including 2 port RVX, 2 port internal modem, 4 port internal
84462306a36Sopenharmony_ci	  modem and a split 1 port RVX and 1 port internal modem.
84562306a36Sopenharmony_ci
84662306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
84762306a36Sopenharmony_ci	  will be called icom.
84862306a36Sopenharmony_ci
84962306a36Sopenharmony_ciconfig SERIAL_TXX9
85062306a36Sopenharmony_ci	bool "TMPTX39XX/49XX SIO support"
85162306a36Sopenharmony_ci	depends on HAS_TXX9_SERIAL
85262306a36Sopenharmony_ci	select SERIAL_CORE
85362306a36Sopenharmony_ci	default y
85462306a36Sopenharmony_ci
85562306a36Sopenharmony_ciconfig HAS_TXX9_SERIAL
85662306a36Sopenharmony_ci	bool
85762306a36Sopenharmony_ci
85862306a36Sopenharmony_ciconfig SERIAL_TXX9_NR_UARTS
85962306a36Sopenharmony_ci	int "Maximum number of TMPTX39XX/49XX SIO ports"
86062306a36Sopenharmony_ci	depends on SERIAL_TXX9
86162306a36Sopenharmony_ci	default "6"
86262306a36Sopenharmony_ci
86362306a36Sopenharmony_ciconfig SERIAL_TXX9_CONSOLE
86462306a36Sopenharmony_ci	bool "TMPTX39XX/49XX SIO Console support"
86562306a36Sopenharmony_ci	depends on SERIAL_TXX9=y
86662306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
86762306a36Sopenharmony_ci
86862306a36Sopenharmony_ciconfig SERIAL_TXX9_STDSERIAL
86962306a36Sopenharmony_ci	bool "TX39XX/49XX SIO act as standard serial"
87062306a36Sopenharmony_ci	depends on !SERIAL_8250 && SERIAL_TXX9
87162306a36Sopenharmony_ci
87262306a36Sopenharmony_ciconfig SERIAL_JSM
87362306a36Sopenharmony_ci	tristate "Digi International NEO and Classic PCI Support"
87462306a36Sopenharmony_ci	depends on PCI
87562306a36Sopenharmony_ci	select SERIAL_CORE
87662306a36Sopenharmony_ci	help
87762306a36Sopenharmony_ci	  This is a driver for Digi International's Neo and Classic series
87862306a36Sopenharmony_ci	  of cards which provide multiple serial ports. You would need
87962306a36Sopenharmony_ci	  something like this to connect more than two modems to your Linux
88062306a36Sopenharmony_ci	  box, for instance in order to become a dial-in server. This driver
88162306a36Sopenharmony_ci	  supports PCI boards only.
88262306a36Sopenharmony_ci
88362306a36Sopenharmony_ci	  If you have a card like this, say Y here, otherwise say N.
88462306a36Sopenharmony_ci
88562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
88662306a36Sopenharmony_ci	  module will be called jsm.
88762306a36Sopenharmony_ci
88862306a36Sopenharmony_ciconfig SERIAL_MSM
88962306a36Sopenharmony_ci	tristate "MSM on-chip serial port support"
89062306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
89162306a36Sopenharmony_ci	select SERIAL_CORE
89262306a36Sopenharmony_ci
89362306a36Sopenharmony_ciconfig SERIAL_MSM_CONSOLE
89462306a36Sopenharmony_ci	bool "MSM serial console support"
89562306a36Sopenharmony_ci	depends on SERIAL_MSM=y
89662306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
89762306a36Sopenharmony_ci	select SERIAL_EARLYCON
89862306a36Sopenharmony_ci
89962306a36Sopenharmony_ciconfig SERIAL_QCOM_GENI
90062306a36Sopenharmony_ci	tristate "QCOM on-chip GENI based serial port support"
90162306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
90262306a36Sopenharmony_ci	depends on QCOM_GENI_SE
90362306a36Sopenharmony_ci	select SERIAL_CORE
90462306a36Sopenharmony_ci
90562306a36Sopenharmony_ciconfig SERIAL_QCOM_GENI_CONSOLE
90662306a36Sopenharmony_ci	bool "QCOM GENI Serial Console support"
90762306a36Sopenharmony_ci	depends on SERIAL_QCOM_GENI
90862306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
90962306a36Sopenharmony_ci	select SERIAL_EARLYCON
91062306a36Sopenharmony_ci	help
91162306a36Sopenharmony_ci	  Serial console driver for Qualcomm Technologies Inc's GENI based
91262306a36Sopenharmony_ci	  QUP hardware.
91362306a36Sopenharmony_ci
91462306a36Sopenharmony_ciconfig SERIAL_VT8500
91562306a36Sopenharmony_ci	bool "VIA VT8500 on-chip serial port support"
91662306a36Sopenharmony_ci	depends on ARCH_VT8500 || COMPILE_TEST
91762306a36Sopenharmony_ci	select SERIAL_CORE
91862306a36Sopenharmony_ci
91962306a36Sopenharmony_ciconfig SERIAL_VT8500_CONSOLE
92062306a36Sopenharmony_ci	bool "VIA VT8500 serial console support"
92162306a36Sopenharmony_ci	depends on SERIAL_VT8500=y
92262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
92362306a36Sopenharmony_ci
92462306a36Sopenharmony_ciconfig SERIAL_OMAP
92562306a36Sopenharmony_ci	tristate "OMAP serial port support"
92662306a36Sopenharmony_ci	depends on (ARCH_OMAP2PLUS && !SERIAL_8250_OMAP) || COMPILE_TEST
92762306a36Sopenharmony_ci	select SERIAL_CORE
92862306a36Sopenharmony_ci	help
92962306a36Sopenharmony_ci	  If you have a machine based on an Texas Instruments OMAP CPU you
93062306a36Sopenharmony_ci	  can enable its onboard serial ports by enabling this option.
93162306a36Sopenharmony_ci
93262306a36Sopenharmony_ci	  By enabling this option you take advantage of dma feature available
93362306a36Sopenharmony_ci	  with the omap-serial driver. DMA support can be enabled from platform
93462306a36Sopenharmony_ci	  data.
93562306a36Sopenharmony_ci
93662306a36Sopenharmony_ciconfig SERIAL_OMAP_CONSOLE
93762306a36Sopenharmony_ci	bool "Console on OMAP serial port"
93862306a36Sopenharmony_ci	depends on SERIAL_OMAP=y
93962306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
94062306a36Sopenharmony_ci	help
94162306a36Sopenharmony_ci	  Select this option if you would like to use omap serial port as
94262306a36Sopenharmony_ci	  console.
94362306a36Sopenharmony_ci
94462306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
94562306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
94662306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
94762306a36Sopenharmony_ci	  "console=ttyOx". (Try "man bootparam" or see the documentation of
94862306a36Sopenharmony_ci	  your boot loader about how to pass options to the kernel at
94962306a36Sopenharmony_ci	  boot time.)
95062306a36Sopenharmony_ci
95162306a36Sopenharmony_ciconfig SERIAL_SIFIVE
95262306a36Sopenharmony_ci	tristate "SiFive UART support"
95362306a36Sopenharmony_ci	depends on OF
95462306a36Sopenharmony_ci	default ARCH_SIFIVE || ARCH_CANAAN
95562306a36Sopenharmony_ci	select SERIAL_CORE
95662306a36Sopenharmony_ci	help
95762306a36Sopenharmony_ci	  Select this option if you are building a kernel for a device that
95862306a36Sopenharmony_ci	  contains a SiFive UART IP block.  This type of UART is present on
95962306a36Sopenharmony_ci	  SiFive FU540 SoCs, among others.
96062306a36Sopenharmony_ci
96162306a36Sopenharmony_ciconfig SERIAL_SIFIVE_CONSOLE
96262306a36Sopenharmony_ci	bool "Console on SiFive UART"
96362306a36Sopenharmony_ci	depends on SERIAL_SIFIVE=y
96462306a36Sopenharmony_ci	default ARCH_SIFIVE || ARCH_CANAAN
96562306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
96662306a36Sopenharmony_ci	select SERIAL_EARLYCON
96762306a36Sopenharmony_ci	help
96862306a36Sopenharmony_ci	  Select this option if you would like to use a SiFive UART as the
96962306a36Sopenharmony_ci	  system console.
97062306a36Sopenharmony_ci
97162306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
97262306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
97362306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
97462306a36Sopenharmony_ci	  "console=ttySIFx". (Try "man bootparam" or see the documentation of
97562306a36Sopenharmony_ci	  your boot loader about how to pass options to the kernel at
97662306a36Sopenharmony_ci	  boot time.)
97762306a36Sopenharmony_ci
97862306a36Sopenharmony_ciconfig SERIAL_LANTIQ
97962306a36Sopenharmony_ci	tristate "Lantiq serial driver"
98062306a36Sopenharmony_ci	depends on (LANTIQ || X86) || COMPILE_TEST
98162306a36Sopenharmony_ci	select SERIAL_CORE
98262306a36Sopenharmony_ci	help
98362306a36Sopenharmony_ci	  Support for UART on Lantiq and Intel SoCs.
98462306a36Sopenharmony_ci	  To compile this driver as a module, select M here. The
98562306a36Sopenharmony_ci	  module will be called lantiq.
98662306a36Sopenharmony_ci
98762306a36Sopenharmony_ciconfig SERIAL_LANTIQ_CONSOLE
98862306a36Sopenharmony_ci	bool "Console on Lantiq UART"
98962306a36Sopenharmony_ci	depends on SERIAL_LANTIQ=y
99062306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
99162306a36Sopenharmony_ci	select SERIAL_EARLYCON
99262306a36Sopenharmony_ci	help
99362306a36Sopenharmony_ci	  Select this option if you would like to use a Lantiq UART as the
99462306a36Sopenharmony_ci	  system console.
99562306a36Sopenharmony_ci
99662306a36Sopenharmony_ciconfig SERIAL_QE
99762306a36Sopenharmony_ci	tristate "Freescale QUICC Engine serial port support"
99862306a36Sopenharmony_ci	depends on QUICC_ENGINE
99962306a36Sopenharmony_ci	select SERIAL_CORE
100062306a36Sopenharmony_ci	select FW_LOADER
100162306a36Sopenharmony_ci	help
100262306a36Sopenharmony_ci	  This driver supports the QE serial ports on Freescale embedded
100362306a36Sopenharmony_ci	  PowerPC that contain a QUICC Engine.
100462306a36Sopenharmony_ci
100562306a36Sopenharmony_ciconfig SERIAL_SCCNXP
100662306a36Sopenharmony_ci	tristate "SCCNXP serial port support"
100762306a36Sopenharmony_ci	select SERIAL_CORE
100862306a36Sopenharmony_ci	help
100962306a36Sopenharmony_ci	  This selects support for an advanced UART from NXP (Philips).
101062306a36Sopenharmony_ci	  Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
101162306a36Sopenharmony_ci	  SC28L202, SCC68681 and SCC68692.
101262306a36Sopenharmony_ci
101362306a36Sopenharmony_ciconfig SERIAL_SCCNXP_CONSOLE
101462306a36Sopenharmony_ci	bool "Console on SCCNXP serial port"
101562306a36Sopenharmony_ci	depends on SERIAL_SCCNXP=y
101662306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
101762306a36Sopenharmony_ci	help
101862306a36Sopenharmony_ci	  Support for console on SCCNXP serial ports.
101962306a36Sopenharmony_ci
102062306a36Sopenharmony_ciconfig SERIAL_SC16IS7XX_CORE
102162306a36Sopenharmony_ci	tristate
102262306a36Sopenharmony_ci
102362306a36Sopenharmony_ciconfig SERIAL_SC16IS7XX
102462306a36Sopenharmony_ci	tristate "SC16IS7xx serial support"
102562306a36Sopenharmony_ci	select SERIAL_CORE
102662306a36Sopenharmony_ci	depends on (SPI_MASTER && !I2C) || I2C
102762306a36Sopenharmony_ci	help
102862306a36Sopenharmony_ci	  This selects support for SC16IS7xx serial ports.
102962306a36Sopenharmony_ci	  Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
103062306a36Sopenharmony_ci	  SC16IS760 and SC16IS762. Select supported buses using options below.
103162306a36Sopenharmony_ci
103262306a36Sopenharmony_ciconfig SERIAL_SC16IS7XX_I2C
103362306a36Sopenharmony_ci	bool "SC16IS7xx for I2C interface"
103462306a36Sopenharmony_ci	depends on SERIAL_SC16IS7XX
103562306a36Sopenharmony_ci	depends on I2C
103662306a36Sopenharmony_ci	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
103762306a36Sopenharmony_ci	select REGMAP_I2C if I2C
103862306a36Sopenharmony_ci	default y
103962306a36Sopenharmony_ci	help
104062306a36Sopenharmony_ci	  Enable SC16IS7xx driver on I2C bus,
104162306a36Sopenharmony_ci	  If required say y, and say n to i2c if not required,
104262306a36Sopenharmony_ci	  Enabled by default to support oldconfig.
104362306a36Sopenharmony_ci	  You must select at least one bus for the driver to be built.
104462306a36Sopenharmony_ci
104562306a36Sopenharmony_ciconfig SERIAL_SC16IS7XX_SPI
104662306a36Sopenharmony_ci	bool "SC16IS7xx for spi interface"
104762306a36Sopenharmony_ci	depends on SERIAL_SC16IS7XX
104862306a36Sopenharmony_ci	depends on SPI_MASTER
104962306a36Sopenharmony_ci	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
105062306a36Sopenharmony_ci	select REGMAP_SPI if SPI_MASTER
105162306a36Sopenharmony_ci	help
105262306a36Sopenharmony_ci	  Enable SC16IS7xx driver on SPI bus,
105362306a36Sopenharmony_ci	  If required say y, and say n to spi if not required,
105462306a36Sopenharmony_ci	  This is additional support to existing driver.
105562306a36Sopenharmony_ci	  You must select at least one bus for the driver to be built.
105662306a36Sopenharmony_ci
105762306a36Sopenharmony_ciconfig SERIAL_TIMBERDALE
105862306a36Sopenharmony_ci	tristate "Support for timberdale UART"
105962306a36Sopenharmony_ci	select SERIAL_CORE
106062306a36Sopenharmony_ci	depends on X86_32 || COMPILE_TEST
106162306a36Sopenharmony_ci	help
106262306a36Sopenharmony_ci	Add support for UART controller on timberdale.
106362306a36Sopenharmony_ci
106462306a36Sopenharmony_ciconfig SERIAL_BCM63XX
106562306a36Sopenharmony_ci	tristate "Broadcom BCM63xx/BCM33xx UART support"
106662306a36Sopenharmony_ci	select SERIAL_CORE
106762306a36Sopenharmony_ci	depends on ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST
106862306a36Sopenharmony_ci	default ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC
106962306a36Sopenharmony_ci	help
107062306a36Sopenharmony_ci	  This enables the driver for the onchip UART core found on
107162306a36Sopenharmony_ci	  the following chipsets:
107262306a36Sopenharmony_ci
107362306a36Sopenharmony_ci	    BCM33xx (cable modem)
107462306a36Sopenharmony_ci	    BCM63xx/BCM63xxx (DSL)
107562306a36Sopenharmony_ci	    BCM68xx (PON)
107662306a36Sopenharmony_ci	    BCM7xxx (STB) - DOCSIS console
107762306a36Sopenharmony_ci
107862306a36Sopenharmony_ciconfig SERIAL_BCM63XX_CONSOLE
107962306a36Sopenharmony_ci	bool "Console on BCM63xx serial port"
108062306a36Sopenharmony_ci	depends on SERIAL_BCM63XX=y
108162306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
108262306a36Sopenharmony_ci	select SERIAL_EARLYCON
108362306a36Sopenharmony_ci	help
108462306a36Sopenharmony_ci	  If you have enabled the serial port on the BCM63xx CPU
108562306a36Sopenharmony_ci	  you can make it the console by answering Y to this option.
108662306a36Sopenharmony_ci
108762306a36Sopenharmony_ciconfig SERIAL_GRLIB_GAISLER_APBUART
108862306a36Sopenharmony_ci	tristate "GRLIB APBUART serial support"
108962306a36Sopenharmony_ci	depends on OF && SPARC
109062306a36Sopenharmony_ci	select SERIAL_CORE
109162306a36Sopenharmony_ci	help
109262306a36Sopenharmony_ci	Add support for the GRLIB APBUART serial port.
109362306a36Sopenharmony_ci
109462306a36Sopenharmony_ciconfig SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
109562306a36Sopenharmony_ci	bool "Console on GRLIB APBUART serial port"
109662306a36Sopenharmony_ci	depends on SERIAL_GRLIB_GAISLER_APBUART=y
109762306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
109862306a36Sopenharmony_ci	help
109962306a36Sopenharmony_ci	Support for running a console on the GRLIB APBUART
110062306a36Sopenharmony_ci
110162306a36Sopenharmony_ciconfig SERIAL_ALTERA_JTAGUART
110262306a36Sopenharmony_ci	tristate "Altera JTAG UART support"
110362306a36Sopenharmony_ci	select SERIAL_CORE
110462306a36Sopenharmony_ci	help
110562306a36Sopenharmony_ci	  This driver supports the Altera JTAG UART port.
110662306a36Sopenharmony_ci
110762306a36Sopenharmony_ciconfig SERIAL_ALTERA_JTAGUART_CONSOLE
110862306a36Sopenharmony_ci	bool "Altera JTAG UART console support"
110962306a36Sopenharmony_ci	depends on SERIAL_ALTERA_JTAGUART=y
111062306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
111162306a36Sopenharmony_ci	select SERIAL_EARLYCON
111262306a36Sopenharmony_ci	help
111362306a36Sopenharmony_ci	  Enable a Altera JTAG UART port to be the system console.
111462306a36Sopenharmony_ci
111562306a36Sopenharmony_ciconfig SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
111662306a36Sopenharmony_ci	bool "Bypass output when no connection"
111762306a36Sopenharmony_ci	depends on SERIAL_ALTERA_JTAGUART_CONSOLE
111862306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
111962306a36Sopenharmony_ci	help
112062306a36Sopenharmony_ci	  Bypass console output and keep going even if there is no
112162306a36Sopenharmony_ci	  JTAG terminal connection with the host.
112262306a36Sopenharmony_ci
112362306a36Sopenharmony_ciconfig SERIAL_ALTERA_UART
112462306a36Sopenharmony_ci	tristate "Altera UART support"
112562306a36Sopenharmony_ci	select SERIAL_CORE
112662306a36Sopenharmony_ci	help
112762306a36Sopenharmony_ci	  This driver supports the Altera softcore UART port.
112862306a36Sopenharmony_ci
112962306a36Sopenharmony_ciconfig SERIAL_ALTERA_UART_MAXPORTS
113062306a36Sopenharmony_ci	int "Maximum number of Altera UART ports"
113162306a36Sopenharmony_ci	depends on SERIAL_ALTERA_UART
113262306a36Sopenharmony_ci	default 4
113362306a36Sopenharmony_ci	help
113462306a36Sopenharmony_ci	  This setting lets you define the maximum number of the Altera
113562306a36Sopenharmony_ci	  UART ports. The usual default varies from board to board, and
113662306a36Sopenharmony_ci	  this setting is a way of catering for that.
113762306a36Sopenharmony_ci
113862306a36Sopenharmony_ciconfig SERIAL_ALTERA_UART_BAUDRATE
113962306a36Sopenharmony_ci	int "Default baudrate for Altera UART ports"
114062306a36Sopenharmony_ci	depends on SERIAL_ALTERA_UART
114162306a36Sopenharmony_ci	default 115200
114262306a36Sopenharmony_ci	help
114362306a36Sopenharmony_ci	  This setting lets you define what the default baudrate is for the
114462306a36Sopenharmony_ci	  Altera UART ports. The usual default varies from board to board,
114562306a36Sopenharmony_ci	  and this setting is a way of catering for that.
114662306a36Sopenharmony_ci
114762306a36Sopenharmony_ciconfig SERIAL_ALTERA_UART_CONSOLE
114862306a36Sopenharmony_ci	bool "Altera UART console support"
114962306a36Sopenharmony_ci	depends on SERIAL_ALTERA_UART=y
115062306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
115162306a36Sopenharmony_ci	select SERIAL_EARLYCON
115262306a36Sopenharmony_ci	help
115362306a36Sopenharmony_ci	  Enable a Altera UART port to be the system console.
115462306a36Sopenharmony_ci
115562306a36Sopenharmony_ciconfig SERIAL_PCH_UART
115662306a36Sopenharmony_ci	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
115762306a36Sopenharmony_ci	depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
115862306a36Sopenharmony_ci	select SERIAL_CORE
115962306a36Sopenharmony_ci	help
116062306a36Sopenharmony_ci	  This driver is for PCH(Platform controller Hub) UART of Intel EG20T
116162306a36Sopenharmony_ci	  which is an IOH(Input/Output Hub) for x86 embedded processor.
116262306a36Sopenharmony_ci	  Enabling PCH_DMA, this PCH UART works as DMA mode.
116362306a36Sopenharmony_ci
116462306a36Sopenharmony_ci	  This driver also can be used for LAPIS Semiconductor IOH(Input/
116562306a36Sopenharmony_ci	  Output Hub), ML7213, ML7223 and ML7831.
116662306a36Sopenharmony_ci	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
116762306a36Sopenharmony_ci	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
116862306a36Sopenharmony_ci	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
116962306a36Sopenharmony_ci	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
117062306a36Sopenharmony_ci
117162306a36Sopenharmony_ciconfig SERIAL_PCH_UART_CONSOLE
117262306a36Sopenharmony_ci	bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
117362306a36Sopenharmony_ci	depends on SERIAL_PCH_UART=y
117462306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
117562306a36Sopenharmony_ci	help
117662306a36Sopenharmony_ci	  Say Y here if you wish to use the PCH UART as the system console
117762306a36Sopenharmony_ci	  (the system  console is the device which receives all kernel messages and
117862306a36Sopenharmony_ci	  warnings and which allows logins in single user mode).
117962306a36Sopenharmony_ci
118062306a36Sopenharmony_ciconfig SERIAL_MXS_AUART
118162306a36Sopenharmony_ci	tristate "MXS AUART support"
118262306a36Sopenharmony_ci	depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
118362306a36Sopenharmony_ci	select SERIAL_CORE
118462306a36Sopenharmony_ci	select SERIAL_MCTRL_GPIO if GPIOLIB
118562306a36Sopenharmony_ci	help
118662306a36Sopenharmony_ci	  This driver supports the MXS and Alphascale ASM9260 Application
118762306a36Sopenharmony_ci	  UART (AUART) port.
118862306a36Sopenharmony_ci
118962306a36Sopenharmony_ciconfig SERIAL_MXS_AUART_CONSOLE
119062306a36Sopenharmony_ci	bool "MXS AUART console support"
119162306a36Sopenharmony_ci	depends on SERIAL_MXS_AUART=y
119262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
119362306a36Sopenharmony_ci	help
119462306a36Sopenharmony_ci	  Enable a MXS AUART port to be the system console.
119562306a36Sopenharmony_ci
119662306a36Sopenharmony_ciconfig SERIAL_XILINX_PS_UART
119762306a36Sopenharmony_ci	tristate "Cadence (Xilinx Zynq) UART support"
119862306a36Sopenharmony_ci	depends on OF
119962306a36Sopenharmony_ci	select SERIAL_CORE
120062306a36Sopenharmony_ci	help
120162306a36Sopenharmony_ci	  This driver supports the Cadence UART. It is found e.g. in Xilinx
120262306a36Sopenharmony_ci	  Zynq.
120362306a36Sopenharmony_ci
120462306a36Sopenharmony_ciconfig SERIAL_XILINX_PS_UART_CONSOLE
120562306a36Sopenharmony_ci	bool "Cadence UART console support"
120662306a36Sopenharmony_ci	depends on SERIAL_XILINX_PS_UART=y
120762306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
120862306a36Sopenharmony_ci	select SERIAL_EARLYCON
120962306a36Sopenharmony_ci	help
121062306a36Sopenharmony_ci	  Enable a Cadence UART port to be the system console.
121162306a36Sopenharmony_ci
121262306a36Sopenharmony_ciconfig SERIAL_AR933X
121362306a36Sopenharmony_ci	tristate "AR933X serial port support"
121462306a36Sopenharmony_ci	depends on (HAVE_CLK && ATH79) || (MIPS && COMPILE_TEST)
121562306a36Sopenharmony_ci	select SERIAL_CORE
121662306a36Sopenharmony_ci	select SERIAL_MCTRL_GPIO if GPIOLIB
121762306a36Sopenharmony_ci	help
121862306a36Sopenharmony_ci	  If you have an Atheros AR933X SOC based board and want to use the
121962306a36Sopenharmony_ci	  built-in UART of the SoC, say Y to this option.
122062306a36Sopenharmony_ci
122162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
122262306a36Sopenharmony_ci	  module will be called ar933x_uart.
122362306a36Sopenharmony_ci
122462306a36Sopenharmony_ciconfig SERIAL_AR933X_CONSOLE
122562306a36Sopenharmony_ci	bool "Console on AR933X serial port"
122662306a36Sopenharmony_ci	depends on SERIAL_AR933X=y
122762306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
122862306a36Sopenharmony_ci	help
122962306a36Sopenharmony_ci	  Enable a built-in UART port of the AR933X to be the system console.
123062306a36Sopenharmony_ci
123162306a36Sopenharmony_ciconfig SERIAL_AR933X_NR_UARTS
123262306a36Sopenharmony_ci	int "Maximum number of AR933X serial ports"
123362306a36Sopenharmony_ci	depends on SERIAL_AR933X
123462306a36Sopenharmony_ci	default "2"
123562306a36Sopenharmony_ci	help
123662306a36Sopenharmony_ci	  Set this to the number of serial ports you want the driver
123762306a36Sopenharmony_ci	  to support.
123862306a36Sopenharmony_ci
123962306a36Sopenharmony_ciconfig SERIAL_MPS2_UART_CONSOLE
124062306a36Sopenharmony_ci	bool "MPS2 UART console support"
124162306a36Sopenharmony_ci	depends on SERIAL_MPS2_UART
124262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
124362306a36Sopenharmony_ci	select SERIAL_EARLYCON
124462306a36Sopenharmony_ci
124562306a36Sopenharmony_ciconfig SERIAL_MPS2_UART
124662306a36Sopenharmony_ci	bool "MPS2 UART port"
124762306a36Sopenharmony_ci	depends on ARCH_MPS2 || COMPILE_TEST
124862306a36Sopenharmony_ci	select SERIAL_CORE
124962306a36Sopenharmony_ci	help
125062306a36Sopenharmony_ci	  This driver support the UART ports on ARM MPS2.
125162306a36Sopenharmony_ci
125262306a36Sopenharmony_ciconfig SERIAL_ARC
125362306a36Sopenharmony_ci	tristate "ARC UART driver support"
125462306a36Sopenharmony_ci	select SERIAL_CORE
125562306a36Sopenharmony_ci	help
125662306a36Sopenharmony_ci	  Driver for on-chip UART for ARC(Synopsys) for the legacy
125762306a36Sopenharmony_ci	  FPGA Boards (ML50x/ARCAngel4)
125862306a36Sopenharmony_ci
125962306a36Sopenharmony_ciconfig SERIAL_ARC_CONSOLE
126062306a36Sopenharmony_ci	bool "Console on ARC UART"
126162306a36Sopenharmony_ci	depends on SERIAL_ARC=y
126262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
126362306a36Sopenharmony_ci	select SERIAL_EARLYCON
126462306a36Sopenharmony_ci	help
126562306a36Sopenharmony_ci	  Enable system Console on ARC UART
126662306a36Sopenharmony_ci
126762306a36Sopenharmony_ciconfig SERIAL_ARC_NR_PORTS
126862306a36Sopenharmony_ci	int "Number of ARC UART ports"
126962306a36Sopenharmony_ci	depends on SERIAL_ARC
127062306a36Sopenharmony_ci	range 1 3
127162306a36Sopenharmony_ci	default "1"
127262306a36Sopenharmony_ci	help
127362306a36Sopenharmony_ci	  Set this to the number of serial ports you want the driver
127462306a36Sopenharmony_ci	  to support.
127562306a36Sopenharmony_ci
127662306a36Sopenharmony_ciconfig SERIAL_RP2
127762306a36Sopenharmony_ci	tristate "Comtrol RocketPort EXPRESS/INFINITY support"
127862306a36Sopenharmony_ci	depends on PCI
127962306a36Sopenharmony_ci	select SERIAL_CORE
128062306a36Sopenharmony_ci	help
128162306a36Sopenharmony_ci	  This driver supports the Comtrol RocketPort EXPRESS and
128262306a36Sopenharmony_ci	  RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
128362306a36Sopenharmony_ci	  These adapters use a "RocketPort 2" ASIC that is not compatible
128462306a36Sopenharmony_ci	  with the original RocketPort driver (CONFIG_ROCKETPORT).
128562306a36Sopenharmony_ci
128662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
128762306a36Sopenharmony_ci	  module will be called rp2.
128862306a36Sopenharmony_ci
128962306a36Sopenharmony_ci	  If you want to compile this driver into the kernel, say Y here.  If
129062306a36Sopenharmony_ci	  you don't have a suitable RocketPort card installed, say N.
129162306a36Sopenharmony_ci
129262306a36Sopenharmony_ciconfig SERIAL_RP2_NR_UARTS
129362306a36Sopenharmony_ci	int "Maximum number of RocketPort EXPRESS/INFINITY ports"
129462306a36Sopenharmony_ci	depends on SERIAL_RP2
129562306a36Sopenharmony_ci	default "32"
129662306a36Sopenharmony_ci	help
129762306a36Sopenharmony_ci	  If multiple cards are present, the default limit of 32 ports may
129862306a36Sopenharmony_ci	  need to be increased.
129962306a36Sopenharmony_ci
130062306a36Sopenharmony_ciconfig SERIAL_FSL_LPUART
130162306a36Sopenharmony_ci	tristate "Freescale lpuart serial port support"
130262306a36Sopenharmony_ci	depends on HAS_DMA
130362306a36Sopenharmony_ci	select SERIAL_CORE
130462306a36Sopenharmony_ci	help
130562306a36Sopenharmony_ci	  Support for the on-chip lpuart on some Freescale SOCs.
130662306a36Sopenharmony_ci
130762306a36Sopenharmony_ciconfig SERIAL_FSL_LPUART_CONSOLE
130862306a36Sopenharmony_ci	bool "Console on Freescale lpuart serial port"
130962306a36Sopenharmony_ci	depends on SERIAL_FSL_LPUART=y
131062306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
131162306a36Sopenharmony_ci	select SERIAL_EARLYCON
131262306a36Sopenharmony_ci	help
131362306a36Sopenharmony_ci	  If you have enabled the lpuart serial port on the Freescale SoCs,
131462306a36Sopenharmony_ci	  you can make it the console by answering Y to this option.
131562306a36Sopenharmony_ci
131662306a36Sopenharmony_ciconfig SERIAL_FSL_LINFLEXUART
131762306a36Sopenharmony_ci	tristate "Freescale LINFlexD UART serial port support"
131862306a36Sopenharmony_ci	depends on PRINTK
131962306a36Sopenharmony_ci	select SERIAL_CORE
132062306a36Sopenharmony_ci	help
132162306a36Sopenharmony_ci	  Support for the on-chip LINFlexD UART on some Freescale SOCs.
132262306a36Sopenharmony_ci
132362306a36Sopenharmony_ciconfig SERIAL_FSL_LINFLEXUART_CONSOLE
132462306a36Sopenharmony_ci	bool "Console on Freescale LINFlexD UART serial port"
132562306a36Sopenharmony_ci	depends on SERIAL_FSL_LINFLEXUART=y
132662306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
132762306a36Sopenharmony_ci	select SERIAL_EARLYCON
132862306a36Sopenharmony_ci	help
132962306a36Sopenharmony_ci	  If you have enabled the LINFlexD UART serial port on the Freescale
133062306a36Sopenharmony_ci	  SoCs, you can make it the console by answering Y to this option.
133162306a36Sopenharmony_ci
133262306a36Sopenharmony_ciconfig SERIAL_CONEXANT_DIGICOLOR
133362306a36Sopenharmony_ci	tristate "Conexant Digicolor CX92xxx USART serial port support"
133462306a36Sopenharmony_ci	depends on OF
133562306a36Sopenharmony_ci	select SERIAL_CORE
133662306a36Sopenharmony_ci	help
133762306a36Sopenharmony_ci	  Support for the on-chip USART on Conexant Digicolor SoCs.
133862306a36Sopenharmony_ci
133962306a36Sopenharmony_ciconfig SERIAL_CONEXANT_DIGICOLOR_CONSOLE
134062306a36Sopenharmony_ci	bool "Console on Conexant Digicolor serial port"
134162306a36Sopenharmony_ci	depends on SERIAL_CONEXANT_DIGICOLOR=y
134262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
134362306a36Sopenharmony_ci	help
134462306a36Sopenharmony_ci	  If you have enabled the USART serial port on Conexant Digicolor
134562306a36Sopenharmony_ci	  SoCs, you can make it the console by answering Y to this option.
134662306a36Sopenharmony_ci
134762306a36Sopenharmony_ciconfig SERIAL_ST_ASC
134862306a36Sopenharmony_ci	tristate "ST ASC serial port support"
134962306a36Sopenharmony_ci	select SERIAL_CORE
135062306a36Sopenharmony_ci	depends on ARM || COMPILE_TEST
135162306a36Sopenharmony_ci	help
135262306a36Sopenharmony_ci	  This driver is for the on-chip Asynchronous Serial Controller on
135362306a36Sopenharmony_ci	  STMicroelectronics STi SoCs.
135462306a36Sopenharmony_ci	  ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
135562306a36Sopenharmony_ci	  It support all industry standard baud rates.
135662306a36Sopenharmony_ci
135762306a36Sopenharmony_ci	  If unsure, say N.
135862306a36Sopenharmony_ci
135962306a36Sopenharmony_ciconfig SERIAL_ST_ASC_CONSOLE
136062306a36Sopenharmony_ci	bool "Support for console on ST ASC"
136162306a36Sopenharmony_ci	depends on SERIAL_ST_ASC=y
136262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
136362306a36Sopenharmony_ci
136462306a36Sopenharmony_ciconfig SERIAL_MEN_Z135
136562306a36Sopenharmony_ci	tristate "MEN 16z135 Support"
136662306a36Sopenharmony_ci	select SERIAL_CORE
136762306a36Sopenharmony_ci	depends on MCB
136862306a36Sopenharmony_ci	help
136962306a36Sopenharmony_ci	  Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
137062306a36Sopenharmony_ci	  on a MCB carrier.
137162306a36Sopenharmony_ci
137262306a36Sopenharmony_ci	  This driver can also be build as a module. If so, the module will be called
137362306a36Sopenharmony_ci	  men_z135_uart.ko
137462306a36Sopenharmony_ci
137562306a36Sopenharmony_ciconfig SERIAL_SPRD
137662306a36Sopenharmony_ci	tristate "Support for Spreadtrum serial"
137762306a36Sopenharmony_ci	select SERIAL_CORE
137862306a36Sopenharmony_ci	depends on COMMON_CLK
137962306a36Sopenharmony_ci	help
138062306a36Sopenharmony_ci	  This enables the driver for the Spreadtrum's serial.
138162306a36Sopenharmony_ci
138262306a36Sopenharmony_ciconfig SERIAL_SPRD_CONSOLE
138362306a36Sopenharmony_ci	bool "Spreadtrum UART console support"
138462306a36Sopenharmony_ci	depends on SERIAL_SPRD=y
138562306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
138662306a36Sopenharmony_ci	select SERIAL_EARLYCON
138762306a36Sopenharmony_ci	help
138862306a36Sopenharmony_ci	  Support for early debug console using Spreadtrum's serial. This enables
138962306a36Sopenharmony_ci	  the console before standard serial driver is probed. This is enabled
139062306a36Sopenharmony_ci	  with "earlycon" on the kernel command line. The console is
139162306a36Sopenharmony_ci	  enabled when early_param is processed.
139262306a36Sopenharmony_ci
139362306a36Sopenharmony_ciconfig SERIAL_STM32
139462306a36Sopenharmony_ci	tristate "STMicroelectronics STM32 serial port support"
139562306a36Sopenharmony_ci	select SERIAL_CORE
139662306a36Sopenharmony_ci	depends on ARCH_STM32 || COMPILE_TEST
139762306a36Sopenharmony_ci	select SERIAL_MCTRL_GPIO if GPIOLIB
139862306a36Sopenharmony_ci	help
139962306a36Sopenharmony_ci	  This driver is for the on-chip Serial Controller on
140062306a36Sopenharmony_ci	  STMicroelectronics STM32 MCUs.
140162306a36Sopenharmony_ci	  USART supports Rx & Tx functionality.
140262306a36Sopenharmony_ci	  It support all industry standard baud rates.
140362306a36Sopenharmony_ci
140462306a36Sopenharmony_ci	  If unsure, say N.
140562306a36Sopenharmony_ci
140662306a36Sopenharmony_ciconfig SERIAL_STM32_CONSOLE
140762306a36Sopenharmony_ci	bool "Support for console on STM32"
140862306a36Sopenharmony_ci	depends on SERIAL_STM32=y
140962306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
141062306a36Sopenharmony_ci	select SERIAL_EARLYCON
141162306a36Sopenharmony_ci
141262306a36Sopenharmony_ciconfig SERIAL_MVEBU_UART
141362306a36Sopenharmony_ci	bool "Marvell EBU serial port support"
141462306a36Sopenharmony_ci	depends on ARCH_MVEBU || COMPILE_TEST
141562306a36Sopenharmony_ci	depends on COMMON_CLK
141662306a36Sopenharmony_ci	select SERIAL_CORE
141762306a36Sopenharmony_ci	help
141862306a36Sopenharmony_ci	  This driver is for Marvell EBU SoC's UART. If you have a machine
141962306a36Sopenharmony_ci	  based on the Armada-3700 SoC and wish to use the on-board serial
142062306a36Sopenharmony_ci	  port,
142162306a36Sopenharmony_ci	  say 'Y' here.
142262306a36Sopenharmony_ci	  Otherwise, say 'N'.
142362306a36Sopenharmony_ci
142462306a36Sopenharmony_ciconfig SERIAL_MVEBU_CONSOLE
142562306a36Sopenharmony_ci	bool "Console on Marvell EBU serial port"
142662306a36Sopenharmony_ci	depends on SERIAL_MVEBU_UART
142762306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
142862306a36Sopenharmony_ci	select SERIAL_EARLYCON
142962306a36Sopenharmony_ci	default y
143062306a36Sopenharmony_ci	help
143162306a36Sopenharmony_ci	  Say 'Y' here if you wish to use Armada-3700 UART as the system console.
143262306a36Sopenharmony_ci	  (the system console is the device which receives all kernel messages
143362306a36Sopenharmony_ci	  and warnings and which allows logins in single user mode)
143462306a36Sopenharmony_ci	  Otherwise, say 'N'.
143562306a36Sopenharmony_ci
143662306a36Sopenharmony_ciconfig SERIAL_OWL
143762306a36Sopenharmony_ci	tristate "Actions Semi Owl serial port support"
143862306a36Sopenharmony_ci	depends on ARCH_ACTIONS || COMPILE_TEST
143962306a36Sopenharmony_ci	select SERIAL_CORE
144062306a36Sopenharmony_ci	help
144162306a36Sopenharmony_ci	  This driver is for Actions Semiconductor S500/S900 SoC's UART.
144262306a36Sopenharmony_ci	  Say 'Y' here if you wish to use the on-board serial port.
144362306a36Sopenharmony_ci	  Otherwise, say 'N'.
144462306a36Sopenharmony_ci
144562306a36Sopenharmony_ciconfig SERIAL_OWL_CONSOLE
144662306a36Sopenharmony_ci	bool "Console on Actions Semi Owl serial port"
144762306a36Sopenharmony_ci	depends on SERIAL_OWL=y
144862306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
144962306a36Sopenharmony_ci	select SERIAL_EARLYCON
145062306a36Sopenharmony_ci	default y
145162306a36Sopenharmony_ci	help
145262306a36Sopenharmony_ci	  Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
145362306a36Sopenharmony_ci	  as the system console.
145462306a36Sopenharmony_ci
145562306a36Sopenharmony_ciconfig SERIAL_RDA
145662306a36Sopenharmony_ci	bool "RDA Micro serial port support"
145762306a36Sopenharmony_ci	depends on ARCH_RDA || COMPILE_TEST
145862306a36Sopenharmony_ci	select SERIAL_CORE
145962306a36Sopenharmony_ci	help
146062306a36Sopenharmony_ci	  This driver is for RDA8810PL SoC's UART.
146162306a36Sopenharmony_ci	  Say 'Y' here if you wish to use the on-board serial port.
146262306a36Sopenharmony_ci	  Otherwise, say 'N'.
146362306a36Sopenharmony_ci
146462306a36Sopenharmony_ciconfig SERIAL_RDA_CONSOLE
146562306a36Sopenharmony_ci	bool "Console on RDA Micro serial port"
146662306a36Sopenharmony_ci	depends on SERIAL_RDA=y
146762306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
146862306a36Sopenharmony_ci	select SERIAL_EARLYCON
146962306a36Sopenharmony_ci	default y
147062306a36Sopenharmony_ci	help
147162306a36Sopenharmony_ci	  Say 'Y' here if you wish to use the RDA8810PL UART as the system
147262306a36Sopenharmony_ci	  console. Only earlycon is implemented currently.
147362306a36Sopenharmony_ci
147462306a36Sopenharmony_ciconfig SERIAL_MILBEAUT_USIO
147562306a36Sopenharmony_ci	tristate "Milbeaut USIO/UART serial port support"
147662306a36Sopenharmony_ci	depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
147762306a36Sopenharmony_ci	default ARCH_MILBEAUT
147862306a36Sopenharmony_ci	select SERIAL_CORE
147962306a36Sopenharmony_ci	help
148062306a36Sopenharmony_ci	  This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
148162306a36Sopenharmony_ci
148262306a36Sopenharmony_ciconfig SERIAL_MILBEAUT_USIO_PORTS
148362306a36Sopenharmony_ci	int "Maximum number of CSIO/UART ports (1-8)"
148462306a36Sopenharmony_ci	range 1 8
148562306a36Sopenharmony_ci	depends on SERIAL_MILBEAUT_USIO
148662306a36Sopenharmony_ci	default "4"
148762306a36Sopenharmony_ci
148862306a36Sopenharmony_ciconfig SERIAL_MILBEAUT_USIO_CONSOLE
148962306a36Sopenharmony_ci	bool "Support for console on MILBEAUT USIO/UART serial port"
149062306a36Sopenharmony_ci	depends on SERIAL_MILBEAUT_USIO=y
149162306a36Sopenharmony_ci	default y
149262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
149362306a36Sopenharmony_ci	select SERIAL_EARLYCON
149462306a36Sopenharmony_ci	help
149562306a36Sopenharmony_ci	  Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
149662306a36Sopenharmony_ci	  SoCs as the system console (the system console is the device which
149762306a36Sopenharmony_ci	  receives all kernel messages and warnings and which allows logins in
149862306a36Sopenharmony_ci	  single user mode).
149962306a36Sopenharmony_ci
150062306a36Sopenharmony_ciconfig SERIAL_LITEUART
150162306a36Sopenharmony_ci	tristate "LiteUART serial port support"
150262306a36Sopenharmony_ci	depends on HAS_IOMEM
150362306a36Sopenharmony_ci	depends on OF
150462306a36Sopenharmony_ci	depends on LITEX || COMPILE_TEST
150562306a36Sopenharmony_ci	select SERIAL_CORE
150662306a36Sopenharmony_ci	help
150762306a36Sopenharmony_ci	  This driver is for the FPGA-based LiteUART serial controller from LiteX
150862306a36Sopenharmony_ci	  SoC builder.
150962306a36Sopenharmony_ci
151062306a36Sopenharmony_ci	  Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
151162306a36Sopenharmony_ci	  Otherwise, say 'N'.
151262306a36Sopenharmony_ci
151362306a36Sopenharmony_ciconfig SERIAL_LITEUART_MAX_PORTS
151462306a36Sopenharmony_ci	int "Maximum number of LiteUART ports"
151562306a36Sopenharmony_ci	depends on SERIAL_LITEUART
151662306a36Sopenharmony_ci	default "1"
151762306a36Sopenharmony_ci	help
151862306a36Sopenharmony_ci	  Set this to the maximum number of serial ports you want the driver
151962306a36Sopenharmony_ci	  to support.
152062306a36Sopenharmony_ci
152162306a36Sopenharmony_ciconfig SERIAL_LITEUART_CONSOLE
152262306a36Sopenharmony_ci	bool "LiteUART serial port console support"
152362306a36Sopenharmony_ci	depends on SERIAL_LITEUART=y
152462306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
152562306a36Sopenharmony_ci	select SERIAL_EARLYCON
152662306a36Sopenharmony_ci	help
152762306a36Sopenharmony_ci	  Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
152862306a36Sopenharmony_ci	  controller from LiteX SoC builder as the system console
152962306a36Sopenharmony_ci	  (the system console is the device which receives all kernel messages
153062306a36Sopenharmony_ci	  and warnings and which allows logins in single user mode).
153162306a36Sopenharmony_ci	  Otherwise, say 'N'.
153262306a36Sopenharmony_ci
153362306a36Sopenharmony_ciconfig SERIAL_SUNPLUS
153462306a36Sopenharmony_ci	tristate "Sunplus UART support"
153562306a36Sopenharmony_ci	depends on ARCH_SUNPLUS || COMPILE_TEST
153662306a36Sopenharmony_ci	select SERIAL_CORE
153762306a36Sopenharmony_ci	help
153862306a36Sopenharmony_ci	  Select this option if you would like to use Sunplus serial port on
153962306a36Sopenharmony_ci	  Sunplus SoC SP7021.
154062306a36Sopenharmony_ci	  If you enable this option, Sunplus serial ports in the system will
154162306a36Sopenharmony_ci	  be registered as ttySUPx.
154262306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
154362306a36Sopenharmony_ci	  called sunplus-uart.
154462306a36Sopenharmony_ci
154562306a36Sopenharmony_ciconfig SERIAL_SUNPLUS_CONSOLE
154662306a36Sopenharmony_ci	bool "Console on Sunplus UART"
154762306a36Sopenharmony_ci	depends on SERIAL_SUNPLUS
154862306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
154962306a36Sopenharmony_ci	select SERIAL_EARLYCON
155062306a36Sopenharmony_ci	help
155162306a36Sopenharmony_ci	  Select this option if you would like to use a Sunplus UART as the
155262306a36Sopenharmony_ci	  system console.
155362306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
155462306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default, but
155562306a36Sopenharmony_ci	  you can alter that using a kernel command line option such as
155662306a36Sopenharmony_ci	  "console=ttySUPx".
155762306a36Sopenharmony_ci
155862306a36Sopenharmony_ciconfig SERIAL_NUVOTON_MA35D1
155962306a36Sopenharmony_ci	tristate "Nuvoton MA35D1 family UART support"
156062306a36Sopenharmony_ci	depends on ARCH_MA35 || COMPILE_TEST
156162306a36Sopenharmony_ci	select SERIAL_CORE
156262306a36Sopenharmony_ci	help
156362306a36Sopenharmony_ci	  This driver supports Nuvoton MA35D1 family UART ports. If you would
156462306a36Sopenharmony_ci	  like to use them, you must answer Y or M to this option. Note that
156562306a36Sopenharmony_ci	  for use as console, it must be included in kernel and not as a
156662306a36Sopenharmony_ci	  module. If you enable this option, Ma35D1 serial ports in the system
156762306a36Sopenharmony_ci	  will be registered as ttyNVTx.
156862306a36Sopenharmony_ci
156962306a36Sopenharmony_ciconfig SERIAL_NUVOTON_MA35D1_CONSOLE
157062306a36Sopenharmony_ci	bool "Console on a Nuvotn MA35D1 family UART port"
157162306a36Sopenharmony_ci	depends on SERIAL_NUVOTON_MA35D1=y
157262306a36Sopenharmony_ci	select SERIAL_CORE_CONSOLE
157362306a36Sopenharmony_ci	help
157462306a36Sopenharmony_ci	  Select this options if you'd like to use the UART port0 of the
157562306a36Sopenharmony_ci	  Nuvoton MA35D1 family as a console.
157662306a36Sopenharmony_ci	  Even if you say Y here, the currently visible virtual console
157762306a36Sopenharmony_ci	  (/dev/tty0) will still be used as the system console by default,
157862306a36Sopenharmony_ci	  but you can alter that using a kernel command line option such as
157962306a36Sopenharmony_ci	  "console=ttyNVTx".
158062306a36Sopenharmony_ci
158162306a36Sopenharmony_ciendmenu
158262306a36Sopenharmony_ci
158362306a36Sopenharmony_ciconfig SERIAL_MCTRL_GPIO
158462306a36Sopenharmony_ci	tristate
1585