Linux Audio

Check our new training course

Embedded Linux training

Mar 31-Apr 8, 2025
Register
Loading...
v6.8
   1# SPDX-License-Identifier: GPL-2.0
   2#
   3# Serial device configuration
   4#
   5
   6menu "Serial drivers"
   7	depends on HAS_IOMEM
   8
   9config SERIAL_EARLYCON
  10	bool
  11	depends on SERIAL_CORE
  12	help
  13	  Support for early consoles with the earlycon parameter. This enables
  14	  the console before standard serial driver is probed. The console is
  15	  enabled when early_param is processed.
  16
  17source "drivers/tty/serial/8250/Kconfig"
  18
  19comment "Non-8250 serial port support"
  20
  21config SERIAL_AMBA_PL010
  22	tristate "ARM AMBA PL010 serial port support"
  23	depends on ARM_AMBA || COMPILE_TEST
  24	select SERIAL_CORE
  25	help
  26	  This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have
  27	  an Integrator/AP or Integrator/PP2 platform, or if you have a
  28	  Cirrus Logic EP93xx CPU, say Y or M here.
  29
  30	  If unsure, say N.
  31
  32config SERIAL_AMBA_PL010_CONSOLE
  33	bool "Support for console on AMBA serial port"
  34	depends on SERIAL_AMBA_PL010=y
  35	select SERIAL_CORE_CONSOLE
  36	help
  37	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
  38	  console (the system console is the device which receives all kernel
  39	  messages and warnings and which allows logins in single user mode).
  40
  41	  Even if you say Y here, the currently visible framebuffer console
  42	  (/dev/tty0) will still be used as the system console by default, but
  43	  you can alter that using a kernel command line option such as
  44	  "console=ttyAM0". (Try "man bootparam" or see the documentation of
  45	  your boot loader (lilo or loadlin) about how to pass options to the
  46	  kernel at boot time.)
  47
  48config SERIAL_AMBA_PL011
  49	tristate "ARM AMBA PL011 serial port support"
  50	depends on ARM_AMBA
  51	select SERIAL_CORE
  52	help
  53	  This selects the ARM(R) AMBA(R) PrimeCell PL011 UART.  If you have
  54	  an Integrator/PP2, Integrator/CP or Versatile platform, say Y or M
  55	  here.
  56
  57	  If unsure, say N.
  58
  59config SERIAL_AMBA_PL011_CONSOLE
  60	bool "Support for console on AMBA serial port"
  61	depends on SERIAL_AMBA_PL011=y
  62	select SERIAL_CORE_CONSOLE
  63	select SERIAL_EARLYCON
  64	help
  65	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
  66	  console (the system console is the device which receives all kernel
  67	  messages and warnings and which allows logins in single user mode).
  68
  69	  Even if you say Y here, the currently visible framebuffer console
  70	  (/dev/tty0) will still be used as the system console by default, but
  71	  you can alter that using a kernel command line option such as
  72	  "console=ttyAMA0". (Try "man bootparam" or see the documentation of
  73	  your boot loader (lilo or loadlin) about how to pass options to the
  74	  kernel at boot time.)
  75
  76config SERIAL_EARLYCON_SEMIHOST
  77	bool "Early console using Arm compatible semihosting"
  78	depends on ARM64 || ARM || RISCV
  79	select SERIAL_CORE
  80	select SERIAL_CORE_CONSOLE
  81	select SERIAL_EARLYCON
  82	help
  83	  Support for early debug console using Arm compatible semihosting.
  84	  This enables the console before standard serial driver is probed.
  85	  This is enabled with "earlycon=smh" on the kernel command line.
  86	  The console is enabled when early_param is processed.
  87
  88config SERIAL_EARLYCON_RISCV_SBI
  89	bool "Early console using RISC-V SBI"
  90	depends on RISCV_SBI
  91	select SERIAL_CORE
  92	select SERIAL_CORE_CONSOLE
  93	select SERIAL_EARLYCON
  94	help
  95	  Support for early debug console using RISC-V SBI. This enables
  96	  the console before standard serial driver is probed. This is enabled
  97	  with "earlycon=sbi" on the kernel command line. The console is
  98	  enabled when early_param is processed.
  99
 100config SERIAL_SB1250_DUART
 101	tristate "BCM1xxx on-chip DUART serial support"
 102	depends on SIBYTE_SB1xxx_SOC=y
 103	select SERIAL_CORE
 104	default y
 105	help
 106	  Support for the asynchronous serial interface (DUART) included in
 107	  the BCM1250 and derived System-On-a-Chip (SOC) devices.  Note that
 108	  the letter D in DUART stands for "dual", which is how the device
 109	  is implemented.  Depending on the SOC configuration there may be
 110	  one or more DUARTs available of which all are handled.
 111
 112	  If unsure, say Y.  To compile this driver as a module, choose M here:
 113	  the module will be called sb1250-duart.
 114
 115config SERIAL_SB1250_DUART_CONSOLE
 116	bool "Support for console on a BCM1xxx DUART serial port"
 117	depends on SERIAL_SB1250_DUART=y
 118	select SERIAL_CORE_CONSOLE
 119	default y
 120	help
 121	  If you say Y here, it will be possible to use a serial port as the
 122	  system console (the system console is the device which receives all
 123	  kernel messages and warnings and which allows logins in single user
 124	  mode).
 125
 126	  If unsure, say Y.
 127
 128config SERIAL_ATMEL
 129	bool "AT91 on-chip serial port support"
 130	depends on COMMON_CLK
 131	depends on ARCH_AT91 || COMPILE_TEST
 132	select SERIAL_CORE
 133	select SERIAL_MCTRL_GPIO if GPIOLIB
 134	select MFD_AT91_USART
 135	help
 136	  This enables the driver for the on-chip UARTs of the Atmel
 137	  AT91 processors.
 138
 139config SERIAL_ATMEL_CONSOLE
 140	bool "Support for console on AT91 serial port"
 141	depends on SERIAL_ATMEL=y
 142	select SERIAL_CORE_CONSOLE
 143	select SERIAL_EARLYCON
 144	help
 145	  Say Y here if you wish to use an on-chip UART on a Atmel
 146	  AT91 processor as the system console (the system
 147	  console is the device which receives all kernel messages and
 148	  warnings and which allows logins in single user mode).
 149
 150config SERIAL_ATMEL_PDC
 151	bool "Support DMA transfers on AT91 serial port"
 152	depends on SERIAL_ATMEL
 153	default y
 154	help
 155	  Say Y here if you wish to use the PDC to do DMA transfers to
 156	  and from the Atmel AT91 serial port. In order to
 157	  actually use DMA transfers, make sure that the use_dma_tx
 158	  and use_dma_rx members in the atmel_uart_data struct is set
 159	  appropriately for each port.
 160
 161	  Note that break and error handling currently doesn't work
 162	  properly when DMA is enabled. Make sure that ports where
 163	  this matters don't use DMA.
 164
 165config SERIAL_ATMEL_TTYAT
 166	bool "Install as device ttyATn instead of ttySn"
 167	depends on SERIAL_ATMEL=y
 168	help
 169	  Say Y here if you wish to have the internal AT91 UARTs
 170	  appear as /dev/ttyATn (major 204, minor starting at 154)
 171	  instead of the normal /dev/ttySn (major 4, minor starting at
 172	  64). This is necessary if you also want other UARTs, such as
 173	  external 8250/16C550 compatible UARTs.
 174	  The ttySn nodes are legally reserved for the 8250 serial driver
 175	  but are often misused by other serial drivers.
 176
 177	  To use this, you should create suitable ttyATn device nodes in
 178	  /dev/, and pass "console=ttyATn" to the kernel.
 179
 180	  Say Y if you have an external 8250/16C550 UART.  If unsure, say N.
 181
 182config SERIAL_KGDB_NMI
 183	bool "Serial console over KGDB NMI debugger port"
 184	depends on KGDB_SERIAL_CONSOLE
 185	help
 186	  This special driver allows you to temporary use NMI debugger port
 187	  as a normal console (assuming that the port is attached to KGDB).
 188
 189	  Unlike KDB's disable_nmi command, with this driver you are always
 190	  able to go back to the debugger using KGDB escape sequence ($3#33).
 191	  This is because this console driver processes the input in NMI
 192	  context, and thus is able to intercept the magic sequence.
 193
 194	  Note that since the console interprets input and uses polling
 195	  communication methods, for things like PPP you still must fully
 196	  detach debugger port from the KGDB NMI (i.e. disable_nmi), and
 197	  use raw console.
 198
 199	  If unsure, say N.
 200
 201config SERIAL_MESON
 202	tristate "Meson serial port support"
 203	depends on ARCH_MESON || COMPILE_TEST
 204	select SERIAL_CORE
 205	help
 206	  This enables the driver for the on-chip UARTs of the Amlogic
 207	  MesonX processors.
 208
 209config SERIAL_MESON_CONSOLE
 210	bool "Support for console on meson"
 211	depends on SERIAL_MESON
 212	select SERIAL_CORE_CONSOLE
 213	select SERIAL_EARLYCON
 214	help
 215	  Say Y here if you wish to use a Amlogic MesonX UART as the
 216	  system console (the system console is the device which
 217	  receives all kernel messages and warnings and which allows
 218	  logins in single user mode) as /dev/ttyAMLx.
 219
 220config SERIAL_CLPS711X
 221	tristate "CLPS711X serial port support"
 222	depends on ARCH_CLPS711X || COMPILE_TEST
 223	select SERIAL_CORE
 224	select SERIAL_MCTRL_GPIO if GPIOLIB
 225	help
 226	  This enables the driver for the on-chip UARTs of the Cirrus
 227	  Logic EP711x/EP721x/EP731x processors.
 228
 229config SERIAL_CLPS711X_CONSOLE
 230	bool "Support for console on CLPS711X serial port"
 231	depends on SERIAL_CLPS711X=y
 232	select SERIAL_CORE_CONSOLE
 233	help
 234	  Even if you say Y here, the currently visible virtual console
 235	  (/dev/tty0) will still be used as the system console by default, but
 236	  you can alter that using a kernel command line option such as
 237	  "console=ttyCL1".
 238
 239config SERIAL_SAMSUNG
 240	tristate "Samsung SoC serial support"
 241	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || ARCH_ARTPEC || COMPILE_TEST
 242	select SERIAL_CORE
 243	help
 244	  Support for the on-chip UARTs on the Samsung
 245	  S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
 246	  /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
 247	  these ports, depending on how the serial port pins are configured.
 248
 249	  Choose Y/M here only if you build for such SoC.
 250
 251config SERIAL_SAMSUNG_UARTS
 252	int
 253	depends on SERIAL_SAMSUNG
 254	default 4
 255	help
 256	  Select the number of available UART ports for the Samsung S3C
 257	  serial driver
 258
 259config SERIAL_SAMSUNG_CONSOLE
 260	bool "Support for console on Samsung SoC serial port"
 261	depends on SERIAL_SAMSUNG
 262	select SERIAL_CORE_CONSOLE
 263	select SERIAL_EARLYCON
 264	help
 265	  Allow selection of the S3C24XX on-board serial ports for use as
 266	  an virtual console.
 267
 268	  Even if you say Y here, the currently visible virtual console
 269	  (/dev/tty0) will still be used as the system console by default, but
 270	  you can alter that using a kernel command line option such as
 271	  "console=ttySACx". (Try "man bootparam" or see the documentation of
 272	  your boot loader about how to pass options to the kernel at
 273	  boot time.)
 274
 275config SERIAL_TEGRA
 276	tristate "NVIDIA Tegra20/30 SoC serial controller"
 277	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
 278	select SERIAL_CORE
 279	help
 280	  Support for the on-chip UARTs on the NVIDIA Tegra series SOCs
 281	  providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not
 282	  provide all of these ports, depending on how the serial port
 283	  are enabled). This driver uses the APB DMA to achieve higher baudrate
 284	  and better performance.
 285
 286config SERIAL_TEGRA_TCU
 287	tristate "NVIDIA Tegra Combined UART"
 288	depends on MAILBOX
 289	depends on (ARCH_TEGRA && TEGRA_HSP_MBOX) || COMPILE_TEST
 290	select SERIAL_CORE
 291	help
 292	  Support for the mailbox-based TCU (Tegra Combined UART) serial port.
 293	  TCU is a virtual serial port that allows multiplexing multiple data
 294	  streams into a single hardware serial port.
 295
 296config SERIAL_TEGRA_TCU_CONSOLE
 297	bool "Support for console on a Tegra TCU serial port"
 298	depends on SERIAL_TEGRA_TCU=y
 299	select SERIAL_CORE_CONSOLE
 300	default y
 301	help
 302	  If you say Y here, it will be possible to use a the Tegra TCU as the
 303	  system console (the system console is the device which receives all
 304	  kernel messages and warnings and which allows logins in single user
 305	  mode).
 306
 307	  If unsure, say Y.
 308
 309config SERIAL_MAX3100
 310	tristate "MAX3100 support"
 311	depends on SPI
 312	select SERIAL_CORE
 313	help
 314	  MAX3100 chip support
 
 
 
 315
 316config SERIAL_MAX310X
 317	tristate "MAX310X support"
 318	depends on SPI_MASTER
 319	select SERIAL_CORE
 320	select REGMAP_SPI if SPI_MASTER
 321	select REGMAP_I2C if I2C
 322	help
 323	  This selects support for an advanced UART from Maxim (Dallas).
 324	  Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
 325	  Each IC contains 128 words each of receive and transmit FIFO
 326	  that can be controlled through I2C or high-speed SPI.
 327
 328	  Say Y here if you want to support this ICs.
 329
 330config SERIAL_DZ
 331	bool "DECstation DZ serial driver"
 332	depends on MACH_DECSTATION && 32BIT
 333	select SERIAL_CORE
 334	default y
 335	help
 336	  DZ11-family serial controllers for DECstations and VAXstations,
 337	  including the DC7085, M7814, and M7819.
 338
 339config SERIAL_DZ_CONSOLE
 340	bool "Support console on DECstation DZ serial driver"
 341	depends on SERIAL_DZ=y
 342	select SERIAL_CORE_CONSOLE
 343	default y
 344	help
 345	  If you say Y here, it will be possible to use a serial port as the
 346	  system console (the system console is the device which receives all
 347	  kernel messages and warnings and which allows logins in single user
 348	  mode).
 349
 350	  Note that the firmware uses ttyS3 as the serial console on
 351	  DECstations that use this driver.
 352
 353	  If unsure, say Y.
 354
 355config SERIAL_ZS
 356	tristate "DECstation Z85C30 serial support"
 357	depends on MACH_DECSTATION
 358	select SERIAL_CORE
 359	default y
 360	help
 361	  Support for the Zilog 85C350 serial communications controller used
 362	  for serial ports in newer DECstation systems.  These include the
 363	  DECsystem 5900 and all models of the DECstation and DECsystem 5000
 364	  systems except from model 200.
 365
 366	  If unsure, say Y.  To compile this driver as a module, choose M here:
 367	  the module will be called zs.
 368
 369config SERIAL_ZS_CONSOLE
 370	bool "Support for console on a DECstation Z85C30 serial port"
 371	depends on SERIAL_ZS=y
 372	select SERIAL_CORE_CONSOLE
 373	default y
 374	help
 375	  If you say Y here, it will be possible to use a serial port as the
 376	  system console (the system console is the device which receives all
 377	  kernel messages and warnings and which allows logins in single user
 378	  mode).
 379
 380	  Note that the firmware uses ttyS1 as the serial console on the
 381	  Maxine and ttyS3 on the others using this driver.
 382
 383	  If unsure, say Y.
 384
 385config SERIAL_21285
 386	tristate "DC21285 serial port support"
 387	depends on FOOTBRIDGE
 388	select SERIAL_CORE
 389	help
 390	  If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
 391	  PCI bridge you can enable its onboard serial port by enabling this
 392	  option.
 393
 394config SERIAL_21285_CONSOLE
 395	bool "Console on DC21285 serial port"
 396	depends on SERIAL_21285=y
 397	select SERIAL_CORE_CONSOLE
 398	help
 399	  If you have enabled the serial port on the 21285 footbridge you can
 400	  make it the console by answering Y to this option.
 401
 402	  Even if you say Y here, the currently visible virtual console
 403	  (/dev/tty0) will still be used as the system console by default, but
 404	  you can alter that using a kernel command line option such as
 405	  "console=ttyFB". (Try "man bootparam" or see the documentation of
 406	  your boot loader (lilo or loadlin) about how to pass options to the
 407	  kernel at boot time.)
 408
 409config SERIAL_PXA
 410	bool "PXA serial port support (DEPRECATED)"
 411	depends on ARCH_PXA || ARCH_MMP
 412	select SERIAL_CORE
 413	select SERIAL_8250_PXA if SERIAL_8250=y
 414	select SERIAL_PXA_NON8250 if !SERIAL_8250=y
 415	help
 416	  If you have a machine based on an Intel XScale PXA2xx CPU you
 417	  can enable its onboard serial ports by enabling this option.
 418
 419	  Unless you have a specific need, you should use SERIAL_8250_PXA
 420	  instead of this.
 421
 422config SERIAL_PXA_NON8250
 423	bool
 424	depends on !SERIAL_8250 || COMPILE_TEST
 425
 426config SERIAL_PXA_CONSOLE
 427	bool "Console on PXA serial port (DEPRECATED)"
 428	depends on SERIAL_PXA
 429	select SERIAL_CORE_CONSOLE
 430	select SERIAL_8250_CONSOLE if SERIAL_8250=y
 431	help
 432	  If you have enabled the serial port on the Intel XScale PXA
 433	  CPU you can make it the console by answering Y to this option.
 434
 435	  Even if you say Y here, the currently visible virtual console
 436	  (/dev/tty0) will still be used as the system console by default, but
 437	  you can alter that using a kernel command line option such as
 438	  "console=ttySA0". (Try "man bootparam" or see the documentation of
 439	  your boot loader (lilo or loadlin) about how to pass options to the
 440	  kernel at boot time.)
 441
 442	  Unless you have a specific need, you should use SERIAL_8250_PXA
 443	  and SERIAL_8250_CONSOLE instead of this.
 444
 445config SERIAL_SA1100
 446	bool "SA1100 serial port support"
 447	depends on ARCH_SA1100
 448	select SERIAL_CORE
 449	select SERIAL_MCTRL_GPIO if GPIOLIB
 450	help
 451	  If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
 452	  can enable its onboard serial port by enabling this option.
 453	  Please read <file:Documentation/arch/arm/sa1100/serial_uart.rst> for
 454	  further info.
 455
 456config SERIAL_SA1100_CONSOLE
 457	bool "Console on SA1100 serial port"
 458	depends on SERIAL_SA1100
 459	select SERIAL_CORE_CONSOLE
 460	help
 461	  If you have enabled the serial port on the SA1100/SA1110 StrongARM
 462	  CPU you can make it the console by answering Y to this option.
 463
 464	  Even if you say Y here, the currently visible virtual console
 465	  (/dev/tty0) will still be used as the system console by default, but
 466	  you can alter that using a kernel command line option such as
 467	  "console=ttySA0". (Try "man bootparam" or see the documentation of
 468	  your boot loader (lilo or loadlin) about how to pass options to the
 469	  kernel at boot time.)
 470
 471config SERIAL_IMX
 472	tristate "IMX serial port support"
 473	depends on ARCH_MXC || COMPILE_TEST
 474	select SERIAL_CORE
 475	select RATIONAL
 476	select SERIAL_MCTRL_GPIO if GPIOLIB
 477	help
 478	  If you have a machine based on a Motorola IMX CPU you
 479	  can enable its onboard serial port by enabling this option.
 480
 481config SERIAL_IMX_CONSOLE
 482	tristate "Console on IMX serial port"
 483	depends on SERIAL_IMX
 484	select SERIAL_CORE_CONSOLE
 485	help
 486	  If you have enabled the serial port on the Freescale IMX
 487	  CPU you can make it the console by answering Y/M to this option.
 488
 489	  Even if you say Y/M here, the currently visible virtual console
 490	  (/dev/tty0) will still be used as the system console by default, but
 491	  you can alter that using a kernel command line option such as
 492	  "console=ttymxc0". (Try "man bootparam" or see the documentation of
 493	  your bootloader about how to pass options to the kernel at boot time.)
 494
 495config SERIAL_IMX_EARLYCON
 496	bool "Earlycon on IMX serial port"
 497	depends on ARCH_MXC || COMPILE_TEST
 498	depends on OF
 499	select SERIAL_CORE
 500	select SERIAL_EARLYCON
 501	select SERIAL_CORE_CONSOLE
 502	default y if SERIAL_IMX_CONSOLE
 503	help
 504	  If you have enabled the earlycon on the Freescale IMX
 505	  CPU you can make it the earlycon by answering Y to this option.
 506
 507config SERIAL_UARTLITE
 508	tristate "Xilinx uartlite serial port support"
 509	depends on HAS_IOMEM
 510	select SERIAL_CORE
 511	help
 512	  Say Y here if you want to use the Xilinx uartlite serial controller.
 513
 514	  To compile this driver as a module, choose M here: the
 515	  module will be called uartlite.
 516
 517config SERIAL_UARTLITE_CONSOLE
 518	bool "Support for console on Xilinx uartlite serial port"
 519	depends on SERIAL_UARTLITE=y
 520	select SERIAL_CORE_CONSOLE
 521	select SERIAL_EARLYCON
 522	help
 523	  Say Y here if you wish to use a Xilinx uartlite as the system
 524	  console (the system console is the device which receives all kernel
 525	  messages and warnings and which allows logins in single user mode).
 526
 527config SERIAL_UARTLITE_NR_UARTS
 528	int "Maximum number of uartlite serial ports"
 529	depends on SERIAL_UARTLITE
 530	range 1 256
 531	default 1
 532	help
 533	  Set this to the number of uartlites in your system, or the number
 534	  you think you might implement.
 535	  If maximum number of uartlite serial ports is more than 4, then the
 536	  driver uses dynamic allocation instead of static allocation for major
 537	  number.
 538
 539config SERIAL_SUNCORE
 540	bool
 541	depends on SPARC
 542	select SERIAL_CORE
 543	select SERIAL_CORE_CONSOLE
 544	default y
 545
 546config SERIAL_SUNZILOG
 547	tristate "Sun Zilog8530 serial support"
 548	depends on SPARC
 549	help
 550	  This driver supports the Zilog8530 serial ports found on many Sparc
 551	  systems.  Say Y or M if you want to be able to these serial ports.
 552
 553config SERIAL_SUNZILOG_CONSOLE
 554	bool "Console on Sun Zilog8530 serial port"
 555	depends on SERIAL_SUNZILOG=y
 556	help
 557	  If you would like to be able to use the Zilog8530 serial port
 558	  on your Sparc system as the console, you can do so by answering
 559	  Y to this option.
 560
 561config SERIAL_SUNSU
 562	tristate "Sun SU serial support"
 563	depends on SPARC && PCI
 564	help
 565	  This driver supports the 8250 serial ports that run the keyboard and
 566	  mouse on (PCI) UltraSPARC systems.  Say Y or M if you want to be able
 567	  to these serial ports.
 568
 569config SERIAL_SUNSU_CONSOLE
 570	bool "Console on Sun SU serial port"
 571	depends on SERIAL_SUNSU=y
 572	help
 573	  If you would like to be able to use the SU serial port
 574	  on your Sparc system as the console, you can do so by answering
 575	  Y to this option.
 576
 577config SERIAL_MUX
 578	tristate "Serial MUX support"
 579	depends on GSC
 580	select SERIAL_CORE
 581	default y
 582	help
 583	  Saying Y here will enable the hardware MUX serial driver for
 584	  the Nova, K class systems and D class with a 'remote control card'.
 585	  The hardware MUX is not 8250/16550 compatible therefore the
 586	  /dev/ttyB0 device is shared between the Serial MUX and the PDC
 587	  software console. The following steps need to be completed to use
 588	  the Serial MUX:
 589
 590	    1. create the device entry (mknod /dev/ttyB0 c 11 0)
 591	    2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
 592	    3. Add device ttyB0 to /etc/securetty (if you want to log on as
 593		 root on this console.)
 594	    4. Change the kernel command console parameter to: console=ttyB0
 595
 596config SERIAL_MUX_CONSOLE
 597	bool "Support for console on serial MUX"
 598	depends on SERIAL_MUX=y
 599	select SERIAL_CORE_CONSOLE
 600	default y
 601
 602config SERIAL_SUNSAB
 603	tristate "Sun Siemens SAB82532 serial support"
 604	depends on SPARC && PCI
 605	help
 606	  This driver supports the Siemens SAB82532 DUSCC serial ports on newer
 607	  (PCI) UltraSPARC systems.  Say Y or M if you want to be able to these
 608	  serial ports.
 609
 610config SERIAL_SUNSAB_CONSOLE
 611	bool "Console on Sun Siemens SAB82532 serial port"
 612	depends on SERIAL_SUNSAB=y
 613	help
 614	  If you would like to be able to use the SAB82532 serial port
 615	  on your Sparc system as the console, you can do so by answering
 616	  Y to this option.
 617
 618config SERIAL_SUNHV
 619	bool "Sun4v Hypervisor Console support"
 620	depends on SPARC64
 621	help
 622	  This driver supports the console device found on SUN4V Sparc
 623	  systems.  Say Y if you want to be able to use this device.
 624
 625config SERIAL_IP22_ZILOG
 626	tristate "SGI Zilog8530 serial support"
 627	depends on SGI_HAS_ZILOG
 628	select SERIAL_CORE
 629	help
 630	  This driver supports the Zilog8530 serial ports found on SGI
 631	  systems.  Say Y or M if you want to be able to these serial ports.
 632
 633config SERIAL_IP22_ZILOG_CONSOLE
 634	bool "Console on SGI Zilog8530 serial port"
 635	depends on SERIAL_IP22_ZILOG=y
 636	select SERIAL_CORE_CONSOLE
 637
 638config SERIAL_SH_SCI
 639	tristate "SuperH SCI(F) serial port support"
 640	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
 641	select SERIAL_CORE
 642	select SERIAL_MCTRL_GPIO if GPIOLIB
 643
 644config SERIAL_SH_SCI_NR_UARTS
 645	int "Maximum number of SCI(F) serial ports" if EXPERT
 646	range 1 64 if 64BIT
 647	range 1 32 if !64BIT
 648	depends on SERIAL_SH_SCI
 649	default "10" if SUPERH
 650	default "18" if ARCH_RENESAS
 651	default "2"
 652
 653config SERIAL_SH_SCI_CONSOLE
 654	bool "Support for console on SuperH SCI(F)" if EXPERT
 655	depends on SERIAL_SH_SCI=y
 656	select SERIAL_CORE_CONSOLE
 657	default y
 658
 659config SERIAL_SH_SCI_EARLYCON
 660	bool "Support for early console on SuperH SCI(F)" if EXPERT
 661	depends on SERIAL_SH_SCI=y
 662	select SERIAL_CORE_CONSOLE
 663	select SERIAL_EARLYCON
 664	default ARCH_RENESAS
 665
 666config SERIAL_SH_SCI_DMA
 667	bool "DMA support" if EXPERT
 668	depends on SERIAL_SH_SCI && DMA_ENGINE
 669	default ARCH_RENESAS
 670
 671config SERIAL_HS_LPC32XX
 672	tristate "LPC32XX high speed serial port support"
 673	depends on ARCH_LPC32XX || COMPILE_TEST
 674	depends on OF
 675	select SERIAL_CORE
 676	help
 677	  Support for the LPC32XX high speed serial ports (up to 900kbps).
 678	  Those are UARTs completely different from the Standard UARTs on the
 679	  LPC32XX SoC.
 680	  Choose M or Y here to build this driver.
 681
 682config SERIAL_HS_LPC32XX_CONSOLE
 683	bool "Enable LPC32XX high speed UART serial console"
 684	depends on SERIAL_HS_LPC32XX=y
 685	select SERIAL_CORE_CONSOLE
 686	help
 687	  If you would like to be able to use one of the high speed serial
 688	  ports on the LPC32XX as the console, you can do so by answering
 689	  Y to this option.
 690
 691config SERIAL_CORE
 692	tristate
 693
 694config SERIAL_CORE_CONSOLE
 695	bool
 696
 697config CONSOLE_POLL
 698	bool
 699
 700config SERIAL_MCF
 701	bool "Coldfire serial support"
 702	depends on COLDFIRE
 703	select SERIAL_CORE
 704	help
 705	  This serial driver supports the Freescale Coldfire serial ports.
 706
 707config SERIAL_MCF_BAUDRATE
 708	int "Default baudrate for Coldfire serial ports"
 709	depends on SERIAL_MCF
 710	default 19200
 711	help
 712	  This setting lets you define what the default baudrate is for the
 713	  ColdFire serial ports. The usual default varies from board to board,
 714	  and this setting is a way of catering for that.
 715
 716config SERIAL_MCF_CONSOLE
 717	bool "Coldfire serial console support"
 718	depends on SERIAL_MCF
 719	select SERIAL_CORE_CONSOLE
 720	help
 721	  Enable a ColdFire internal serial port to be the system console.
 722
 723config SERIAL_PMACZILOG
 724	tristate "Mac or PowerMac z85c30 ESCC support"
 725	depends on (M68K && MAC) || PPC_PMAC
 726	select SERIAL_CORE
 727	help
 728	  This driver supports the Zilog z85C30 serial ports found on
 729	  (Power)Mac machines.
 730	  Say Y or M if you want to be able to these serial ports.
 731
 732config SERIAL_PMACZILOG_TTYS
 733	bool "Use ttySn device nodes for Zilog z85c30"
 734	depends on SERIAL_PMACZILOG
 735	help
 736	  The pmac_zilog driver for the z85C30 chip on many powermacs
 737	  historically used the device numbers for /dev/ttySn.  The
 738	  8250 serial port driver also uses these numbers, which means
 739	  the two drivers being unable to coexist; you could not use
 740	  both z85C30 and 8250 type ports at the same time.
 741
 742	  If this option is not selected, the pmac_zilog driver will
 743	  use the device numbers allocated for /dev/ttyPZn.  This allows
 744	  the pmac_zilog and 8250 drivers to co-exist, but may cause
 745	  existing userspace setups to break.  Programs that need to
 746	  access the built-in serial ports on powermacs will need to
 747	  be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
 748
 749	  If you enable this option, any z85c30 ports in the system will
 750	  be registered as ttyS0 onwards as in the past, and you will be
 751	  unable to use the 8250 module for PCMCIA or other 16C550-style
 752	  UARTs.
 753
 754	  Say N unless you need the z85c30 ports on your (Power)Mac
 755	  to appear as /dev/ttySn.
 756
 757config SERIAL_PMACZILOG_CONSOLE
 758	bool "Console on Mac or PowerMac z85c30 serial port"
 759	depends on SERIAL_PMACZILOG=y
 760	select SERIAL_CORE_CONSOLE
 761	help
 762	  If you would like to be able to use the z85c30 serial port
 763	  on your (Power)Mac as the console, you can do so by answering
 764	  Y to this option.
 765
 766config SERIAL_CPM
 767	tristate "CPM SCC/SMC serial port support"
 768	depends on CPM2 || CPM1
 769	select SERIAL_CORE
 770	help
 771	  This driver supports the SCC and SMC serial ports on Motorola 
 772	  embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)
 773
 774config SERIAL_CPM_CONSOLE
 775	bool "Support for console on CPM SCC/SMC serial port"
 776	depends on SERIAL_CPM=y
 777	select SERIAL_CORE_CONSOLE
 778	help
 779	  Say Y here if you wish to use a SCC or SMC CPM UART as the system
 780	  console (the system console is the device which receives all kernel
 781	  messages and warnings and which allows logins in single user mode).
 782
 783	  Even if you say Y here, the currently visible framebuffer console
 784	  (/dev/tty0) will still be used as the system console by default, but
 785	  you can alter that using a kernel command line option such as
 786	  "console=ttyCPM0". (Try "man bootparam" or see the documentation of
 787	  your boot loader (lilo or loadlin) about how to pass options to the
 788	  kernel at boot time.)
 789
 790config SERIAL_PIC32
 791	tristate "Microchip PIC32 serial support"
 792	depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
 793	select SERIAL_CORE
 794	help
 795	  If you have a PIC32, this driver supports the serial ports.
 796
 797	  Say Y or M to use PIC32 serial ports, otherwise say N. Note that
 798	  to use a serial port as a console, this must be included in kernel and
 799	  not as a module.
 800
 801config SERIAL_PIC32_CONSOLE
 802	bool "PIC32 serial console support"
 803	depends on SERIAL_PIC32=y
 804	select SERIAL_CORE_CONSOLE
 805	help
 806	  If you have a PIC32, this driver supports the putting a console on one
 807	  of the serial ports.
 808
 809	  Say Y to use the PIC32 console, otherwise say N.
 810
 811config SERIAL_MPC52xx
 812	tristate "Freescale MPC52xx/MPC512x family PSC serial support"
 813	depends on PPC_MPC52xx || PPC_MPC512x
 814	select SERIAL_CORE
 815	help
 816	  This driver supports MPC52xx and MPC512x PSC serial ports. If you would
 817	  like to use them, you must answer Y or M to this option. Note that
 818	  for use as console, it must be included in kernel and not as a
 819	  module.
 820
 821config SERIAL_MPC52xx_CONSOLE
 822	bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
 823	depends on SERIAL_MPC52xx=y
 824	select SERIAL_CORE_CONSOLE
 825	help
 826	  Select this options if you'd like to use one of the PSC serial port
 827	  of the Freescale MPC52xx family as a console.
 828
 829config SERIAL_MPC52xx_CONSOLE_BAUD
 830	int "Freescale MPC52xx/MPC512x family PSC serial port baud"
 831	depends on SERIAL_MPC52xx_CONSOLE=y
 832	default "9600"
 833	help
 834	  Select the MPC52xx console baud rate.
 835	  This value is only used if the bootloader doesn't pass in the
 836	  console baudrate
 837
 838config SERIAL_ICOM
 839	tristate "IBM Multiport Serial Adapter"
 840	depends on PCI
 841	depends on PPC_PSERIES || COMPILE_TEST
 842	select SERIAL_CORE
 843	select FW_LOADER
 844	help
 845	  This driver is for a family of multiport serial adapters
 846	  including 2 port RVX, 2 port internal modem, 4 port internal
 847	  modem and a split 1 port RVX and 1 port internal modem.
 848
 849	  This driver can also be built as a module.  If so, the module
 850	  will be called icom.
 851
 852config SERIAL_TXX9
 853	bool "TMPTX39XX/49XX SIO support"
 854	depends on HAS_TXX9_SERIAL
 855	select SERIAL_CORE
 856	default y
 857
 858config HAS_TXX9_SERIAL
 859	bool
 860
 861config SERIAL_TXX9_NR_UARTS
 862	int "Maximum number of TMPTX39XX/49XX SIO ports"
 863	depends on SERIAL_TXX9
 864	default "6"
 865
 866config SERIAL_TXX9_CONSOLE
 867	bool "TMPTX39XX/49XX SIO Console support"
 868	depends on SERIAL_TXX9=y
 869	select SERIAL_CORE_CONSOLE
 870
 871config SERIAL_TXX9_STDSERIAL
 872	bool "TX39XX/49XX SIO act as standard serial"
 873	depends on !SERIAL_8250 && SERIAL_TXX9
 874
 875config SERIAL_JSM
 876	tristate "Digi International NEO and Classic PCI Support"
 877	depends on PCI
 878	select SERIAL_CORE
 879	help
 880	  This is a driver for Digi International's Neo and Classic series
 881	  of cards which provide multiple serial ports. You would need
 882	  something like this to connect more than two modems to your Linux
 883	  box, for instance in order to become a dial-in server. This driver
 884	  supports PCI boards only.
 885
 886	  If you have a card like this, say Y here, otherwise say N.
 887
 888	  To compile this driver as a module, choose M here: the
 889	  module will be called jsm.
 890
 891config SERIAL_MSM
 892	tristate "MSM on-chip serial port support"
 893	depends on ARCH_QCOM || COMPILE_TEST
 894	select SERIAL_CORE
 895
 896config SERIAL_MSM_CONSOLE
 897	bool "MSM serial console support"
 898	depends on SERIAL_MSM=y
 899	select SERIAL_CORE_CONSOLE
 900	select SERIAL_EARLYCON
 901
 902config SERIAL_QCOM_GENI
 903	tristate "QCOM on-chip GENI based serial port support"
 904	depends on ARCH_QCOM || COMPILE_TEST
 905	depends on QCOM_GENI_SE
 906	select SERIAL_CORE
 907
 908config SERIAL_QCOM_GENI_CONSOLE
 909	bool "QCOM GENI Serial Console support"
 910	depends on SERIAL_QCOM_GENI
 911	select SERIAL_CORE_CONSOLE
 912	select SERIAL_EARLYCON
 913	help
 914	  Serial console driver for Qualcomm Technologies Inc's GENI based
 915	  QUP hardware.
 916
 917config SERIAL_VT8500
 918	bool "VIA VT8500 on-chip serial port support"
 919	depends on ARCH_VT8500 || COMPILE_TEST
 920	select SERIAL_CORE
 921
 922config SERIAL_VT8500_CONSOLE
 923	bool "VIA VT8500 serial console support"
 924	depends on SERIAL_VT8500=y
 925	select SERIAL_CORE_CONSOLE
 926
 927config SERIAL_OMAP
 928	tristate "OMAP serial port support"
 929	depends on (ARCH_OMAP2PLUS && !SERIAL_8250_OMAP) || COMPILE_TEST
 930	select SERIAL_CORE
 931	help
 932	  If you have a machine based on an Texas Instruments OMAP CPU you
 933	  can enable its onboard serial ports by enabling this option.
 934
 935	  By enabling this option you take advantage of dma feature available
 936	  with the omap-serial driver. DMA support can be enabled from platform
 937	  data.
 938
 939config SERIAL_OMAP_CONSOLE
 940	bool "Console on OMAP serial port"
 941	depends on SERIAL_OMAP=y
 942	select SERIAL_CORE_CONSOLE
 943	help
 944	  Select this option if you would like to use omap serial port as
 945	  console.
 946
 947	  Even if you say Y here, the currently visible virtual console
 948	  (/dev/tty0) will still be used as the system console by default, but
 949	  you can alter that using a kernel command line option such as
 950	  "console=ttyOx". (Try "man bootparam" or see the documentation of
 951	  your boot loader about how to pass options to the kernel at
 952	  boot time.)
 953
 954config SERIAL_SIFIVE
 955	tristate "SiFive UART support"
 956	depends on OF
 957	default ARCH_SIFIVE || ARCH_CANAAN
 958	select SERIAL_CORE
 959	help
 960	  Select this option if you are building a kernel for a device that
 961	  contains a SiFive UART IP block.  This type of UART is present on
 962	  SiFive FU540 SoCs, among others.
 963
 964config SERIAL_SIFIVE_CONSOLE
 965	bool "Console on SiFive UART"
 966	depends on SERIAL_SIFIVE=y
 967	default ARCH_SIFIVE || ARCH_CANAAN
 968	select SERIAL_CORE_CONSOLE
 969	select SERIAL_EARLYCON
 970	help
 971	  Select this option if you would like to use a SiFive UART as the
 972	  system console.
 973
 974	  Even if you say Y here, the currently visible virtual console
 975	  (/dev/tty0) will still be used as the system console by default, but
 976	  you can alter that using a kernel command line option such as
 977	  "console=ttySIFx". (Try "man bootparam" or see the documentation of
 978	  your boot loader about how to pass options to the kernel at
 979	  boot time.)
 980
 981config SERIAL_LANTIQ
 982	tristate "Lantiq serial driver"
 983	depends on (LANTIQ || X86) || COMPILE_TEST
 984	select SERIAL_CORE
 985	help
 986	  Support for UART on Lantiq and Intel SoCs.
 987	  To compile this driver as a module, select M here. The
 988	  module will be called lantiq.
 989
 990config SERIAL_LANTIQ_CONSOLE
 991	bool "Console on Lantiq UART"
 992	depends on SERIAL_LANTIQ=y
 993	select SERIAL_CORE_CONSOLE
 994	select SERIAL_EARLYCON
 995	help
 996	  Select this option if you would like to use a Lantiq UART as the
 997	  system console.
 998
 999config SERIAL_QE
1000	tristate "Freescale QUICC Engine serial port support"
1001	depends on QUICC_ENGINE
1002	select SERIAL_CORE
1003	select FW_LOADER
1004	help
1005	  This driver supports the QE serial ports on Freescale embedded
1006	  PowerPC that contain a QUICC Engine.
1007
1008config SERIAL_SCCNXP
1009	tristate "SCCNXP serial port support"
1010	select SERIAL_CORE
1011	help
1012	  This selects support for an advanced UART from NXP (Philips).
1013	  Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1014	  SC28L202, SCC68681 and SCC68692.
1015
1016config SERIAL_SCCNXP_CONSOLE
1017	bool "Console on SCCNXP serial port"
1018	depends on SERIAL_SCCNXP=y
1019	select SERIAL_CORE_CONSOLE
1020	help
1021	  Support for console on SCCNXP serial ports.
1022
1023config SERIAL_SC16IS7XX_CORE
1024	tristate
1025
1026config SERIAL_SC16IS7XX
1027	tristate "SC16IS7xx serial support"
 
1028	select SERIAL_CORE
1029	depends on (SPI_MASTER && !I2C) || I2C
 
1030	help
1031	  This selects support for SC16IS7xx serial ports.
1032	  Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
1033	  SC16IS760 and SC16IS762. Select supported buses using options below.
 
 
 
 
 
 
 
 
1034
1035config SERIAL_SC16IS7XX_I2C
1036	bool "SC16IS7xx for I2C interface"
1037	depends on SERIAL_SC16IS7XX
1038	depends on I2C
1039	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1040	select REGMAP_I2C if I2C
1041	default y
1042	help
1043	  Enable SC16IS7xx driver on I2C bus,
1044	  If required say y, and say n to i2c if not required,
1045	  Enabled by default to support oldconfig.
1046	  You must select at least one bus for the driver to be built.
1047
1048config SERIAL_SC16IS7XX_SPI
1049	bool "SC16IS7xx for spi interface"
1050	depends on SERIAL_SC16IS7XX
1051	depends on SPI_MASTER
1052	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1053	select REGMAP_SPI if SPI_MASTER
1054	help
1055	  Enable SC16IS7xx driver on SPI bus,
1056	  If required say y, and say n to spi if not required,
1057	  This is additional support to existing driver.
1058	  You must select at least one bus for the driver to be built.
1059
1060config SERIAL_TIMBERDALE
1061	tristate "Support for timberdale UART"
1062	select SERIAL_CORE
1063	depends on X86_32 || COMPILE_TEST
1064	help
1065	Add support for UART controller on timberdale.
1066
1067config SERIAL_BCM63XX
1068	tristate "Broadcom BCM63xx/BCM33xx UART support"
1069	select SERIAL_CORE
1070	depends on ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST
1071	default ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC
1072	help
1073	  This enables the driver for the onchip UART core found on
1074	  the following chipsets:
1075
1076	    BCM33xx (cable modem)
1077	    BCM63xx/BCM63xxx (DSL)
1078	    BCM68xx (PON)
1079	    BCM7xxx (STB) - DOCSIS console
1080
1081config SERIAL_BCM63XX_CONSOLE
1082	bool "Console on BCM63xx serial port"
1083	depends on SERIAL_BCM63XX=y
1084	select SERIAL_CORE_CONSOLE
1085	select SERIAL_EARLYCON
1086	help
1087	  If you have enabled the serial port on the BCM63xx CPU
1088	  you can make it the console by answering Y to this option.
1089
1090config SERIAL_GRLIB_GAISLER_APBUART
1091	tristate "GRLIB APBUART serial support"
1092	depends on OF && SPARC
1093	select SERIAL_CORE
1094	help
1095	Add support for the GRLIB APBUART serial port.
1096
1097config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1098	bool "Console on GRLIB APBUART serial port"
1099	depends on SERIAL_GRLIB_GAISLER_APBUART=y
1100	select SERIAL_CORE_CONSOLE
1101	help
1102	Support for running a console on the GRLIB APBUART
1103
1104config SERIAL_ALTERA_JTAGUART
1105	tristate "Altera JTAG UART support"
1106	select SERIAL_CORE
1107	help
1108	  This driver supports the Altera JTAG UART port.
1109
1110config SERIAL_ALTERA_JTAGUART_CONSOLE
1111	bool "Altera JTAG UART console support"
1112	depends on SERIAL_ALTERA_JTAGUART=y
1113	select SERIAL_CORE_CONSOLE
1114	select SERIAL_EARLYCON
1115	help
1116	  Enable a Altera JTAG UART port to be the system console.
1117
1118config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1119	bool "Bypass output when no connection"
1120	depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1121	select SERIAL_CORE_CONSOLE
1122	help
1123	  Bypass console output and keep going even if there is no
1124	  JTAG terminal connection with the host.
1125
1126config SERIAL_ALTERA_UART
1127	tristate "Altera UART support"
1128	select SERIAL_CORE
1129	help
1130	  This driver supports the Altera softcore UART port.
1131
1132config SERIAL_ALTERA_UART_MAXPORTS
1133	int "Maximum number of Altera UART ports"
1134	depends on SERIAL_ALTERA_UART
1135	default 4
1136	help
1137	  This setting lets you define the maximum number of the Altera
1138	  UART ports. The usual default varies from board to board, and
1139	  this setting is a way of catering for that.
1140
1141config SERIAL_ALTERA_UART_BAUDRATE
1142	int "Default baudrate for Altera UART ports"
1143	depends on SERIAL_ALTERA_UART
1144	default 115200
1145	help
1146	  This setting lets you define what the default baudrate is for the
1147	  Altera UART ports. The usual default varies from board to board,
1148	  and this setting is a way of catering for that.
1149
1150config SERIAL_ALTERA_UART_CONSOLE
1151	bool "Altera UART console support"
1152	depends on SERIAL_ALTERA_UART=y
1153	select SERIAL_CORE_CONSOLE
1154	select SERIAL_EARLYCON
1155	help
1156	  Enable a Altera UART port to be the system console.
1157
1158config SERIAL_PCH_UART
1159	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1160	depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1161	select SERIAL_CORE
1162	help
1163	  This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1164	  which is an IOH(Input/Output Hub) for x86 embedded processor.
1165	  Enabling PCH_DMA, this PCH UART works as DMA mode.
1166
1167	  This driver also can be used for LAPIS Semiconductor IOH(Input/
1168	  Output Hub), ML7213, ML7223 and ML7831.
1169	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1170	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1171	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1172	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1173
1174config SERIAL_PCH_UART_CONSOLE
1175	bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1176	depends on SERIAL_PCH_UART=y
1177	select SERIAL_CORE_CONSOLE
1178	help
1179	  Say Y here if you wish to use the PCH UART as the system console
1180	  (the system  console is the device which receives all kernel messages and
1181	  warnings and which allows logins in single user mode).
1182
1183config SERIAL_MXS_AUART
1184	tristate "MXS AUART support"
1185	depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1186	select SERIAL_CORE
1187	select SERIAL_MCTRL_GPIO if GPIOLIB
1188	help
1189	  This driver supports the MXS and Alphascale ASM9260 Application
1190	  UART (AUART) port.
1191
1192config SERIAL_MXS_AUART_CONSOLE
1193	bool "MXS AUART console support"
1194	depends on SERIAL_MXS_AUART=y
1195	select SERIAL_CORE_CONSOLE
1196	help
1197	  Enable a MXS AUART port to be the system console.
1198
1199config SERIAL_XILINX_PS_UART
1200	tristate "Cadence (Xilinx Zynq) UART support"
1201	depends on OF
1202	select SERIAL_CORE
1203	help
1204	  This driver supports the Cadence UART. It is found e.g. in Xilinx
1205	  Zynq.
1206
1207config SERIAL_XILINX_PS_UART_CONSOLE
1208	bool "Cadence UART console support"
1209	depends on SERIAL_XILINX_PS_UART=y
1210	select SERIAL_CORE_CONSOLE
1211	select SERIAL_EARLYCON
1212	help
1213	  Enable a Cadence UART port to be the system console.
1214
1215config SERIAL_AR933X
1216	tristate "AR933X serial port support"
1217	depends on (HAVE_CLK && ATH79) || (MIPS && COMPILE_TEST)
1218	select SERIAL_CORE
1219	select SERIAL_MCTRL_GPIO if GPIOLIB
1220	help
1221	  If you have an Atheros AR933X SOC based board and want to use the
1222	  built-in UART of the SoC, say Y to this option.
1223
1224	  To compile this driver as a module, choose M here: the
1225	  module will be called ar933x_uart.
1226
1227config SERIAL_AR933X_CONSOLE
1228	bool "Console on AR933X serial port"
1229	depends on SERIAL_AR933X=y
1230	select SERIAL_CORE_CONSOLE
1231	help
1232	  Enable a built-in UART port of the AR933X to be the system console.
1233
1234config SERIAL_AR933X_NR_UARTS
1235	int "Maximum number of AR933X serial ports"
1236	depends on SERIAL_AR933X
1237	default "2"
1238	help
1239	  Set this to the number of serial ports you want the driver
1240	  to support.
1241
1242config SERIAL_MPS2_UART_CONSOLE
1243	bool "MPS2 UART console support"
1244	depends on SERIAL_MPS2_UART
1245	select SERIAL_CORE_CONSOLE
1246	select SERIAL_EARLYCON
1247
1248config SERIAL_MPS2_UART
1249	bool "MPS2 UART port"
1250	depends on ARCH_MPS2 || COMPILE_TEST
1251	select SERIAL_CORE
1252	help
1253	  This driver support the UART ports on ARM MPS2.
1254
1255config SERIAL_ARC
1256	tristate "ARC UART driver support"
1257	select SERIAL_CORE
1258	help
1259	  Driver for on-chip UART for ARC(Synopsys) for the legacy
1260	  FPGA Boards (ML50x/ARCAngel4)
1261
1262config SERIAL_ARC_CONSOLE
1263	bool "Console on ARC UART"
1264	depends on SERIAL_ARC=y
1265	select SERIAL_CORE_CONSOLE
1266	select SERIAL_EARLYCON
1267	help
1268	  Enable system Console on ARC UART
1269
1270config SERIAL_ARC_NR_PORTS
1271	int "Number of ARC UART ports"
1272	depends on SERIAL_ARC
1273	range 1 3
1274	default "1"
1275	help
1276	  Set this to the number of serial ports you want the driver
1277	  to support.
1278
1279config SERIAL_RP2
1280	tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1281	depends on PCI
1282	select SERIAL_CORE
1283	help
1284	  This driver supports the Comtrol RocketPort EXPRESS and
1285	  RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1286	  These adapters use a "RocketPort 2" ASIC that is not compatible
1287	  with the original RocketPort driver (CONFIG_ROCKETPORT).
1288
1289	  To compile this driver as a module, choose M here: the
1290	  module will be called rp2.
1291
1292	  If you want to compile this driver into the kernel, say Y here.  If
1293	  you don't have a suitable RocketPort card installed, say N.
1294
1295config SERIAL_RP2_NR_UARTS
1296	int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1297	depends on SERIAL_RP2
1298	default "32"
1299	help
1300	  If multiple cards are present, the default limit of 32 ports may
1301	  need to be increased.
1302
1303config SERIAL_FSL_LPUART
1304	tristate "Freescale lpuart serial port support"
1305	depends on HAS_DMA
1306	select SERIAL_CORE
1307	help
1308	  Support for the on-chip lpuart on some Freescale SOCs.
1309
1310config SERIAL_FSL_LPUART_CONSOLE
1311	bool "Console on Freescale lpuart serial port"
1312	depends on SERIAL_FSL_LPUART=y
1313	select SERIAL_CORE_CONSOLE
1314	select SERIAL_EARLYCON
1315	help
1316	  If you have enabled the lpuart serial port on the Freescale SoCs,
1317	  you can make it the console by answering Y to this option.
1318
1319config SERIAL_FSL_LINFLEXUART
1320	tristate "Freescale LINFlexD UART serial port support"
1321	depends on PRINTK
1322	select SERIAL_CORE
1323	help
1324	  Support for the on-chip LINFlexD UART on some Freescale SOCs.
1325
1326config SERIAL_FSL_LINFLEXUART_CONSOLE
1327	bool "Console on Freescale LINFlexD UART serial port"
1328	depends on SERIAL_FSL_LINFLEXUART=y
1329	select SERIAL_CORE_CONSOLE
1330	select SERIAL_EARLYCON
1331	help
1332	  If you have enabled the LINFlexD UART serial port on the Freescale
1333	  SoCs, you can make it the console by answering Y to this option.
1334
1335config SERIAL_CONEXANT_DIGICOLOR
1336	tristate "Conexant Digicolor CX92xxx USART serial port support"
1337	depends on OF
1338	select SERIAL_CORE
1339	help
1340	  Support for the on-chip USART on Conexant Digicolor SoCs.
1341
1342config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1343	bool "Console on Conexant Digicolor serial port"
1344	depends on SERIAL_CONEXANT_DIGICOLOR=y
1345	select SERIAL_CORE_CONSOLE
1346	help
1347	  If you have enabled the USART serial port on Conexant Digicolor
1348	  SoCs, you can make it the console by answering Y to this option.
1349
1350config SERIAL_ST_ASC
1351	tristate "ST ASC serial port support"
1352	select SERIAL_CORE
1353	depends on ARM || COMPILE_TEST
1354	help
1355	  This driver is for the on-chip Asynchronous Serial Controller on
1356	  STMicroelectronics STi SoCs.
1357	  ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1358	  It support all industry standard baud rates.
1359
1360	  If unsure, say N.
1361
1362config SERIAL_ST_ASC_CONSOLE
1363	bool "Support for console on ST ASC"
1364	depends on SERIAL_ST_ASC=y
1365	select SERIAL_CORE_CONSOLE
1366
1367config SERIAL_MEN_Z135
1368	tristate "MEN 16z135 Support"
1369	select SERIAL_CORE
1370	depends on MCB
1371	help
1372	  Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1373	  on a MCB carrier.
1374
1375	  This driver can also be build as a module. If so, the module will be called
1376	  men_z135_uart.ko
1377
1378config SERIAL_SPRD
1379	tristate "Support for Spreadtrum serial"
1380	select SERIAL_CORE
1381	depends on COMMON_CLK
1382	help
1383	  This enables the driver for the Spreadtrum's serial.
1384
1385config SERIAL_SPRD_CONSOLE
1386	bool "Spreadtrum UART console support"
1387	depends on SERIAL_SPRD=y
1388	select SERIAL_CORE_CONSOLE
1389	select SERIAL_EARLYCON
1390	help
1391	  Support for early debug console using Spreadtrum's serial. This enables
1392	  the console before standard serial driver is probed. This is enabled
1393	  with "earlycon" on the kernel command line. The console is
1394	  enabled when early_param is processed.
1395
1396config SERIAL_STM32
1397	tristate "STMicroelectronics STM32 serial port support"
1398	select SERIAL_CORE
1399	depends on ARCH_STM32 || COMPILE_TEST
1400	select SERIAL_MCTRL_GPIO if GPIOLIB
1401	help
1402	  This driver is for the on-chip Serial Controller on
1403	  STMicroelectronics STM32 MCUs.
1404	  USART supports Rx & Tx functionality.
1405	  It support all industry standard baud rates.
1406
1407	  If unsure, say N.
1408
1409config SERIAL_STM32_CONSOLE
1410	bool "Support for console on STM32"
1411	depends on SERIAL_STM32=y
1412	select SERIAL_CORE_CONSOLE
1413	select SERIAL_EARLYCON
1414
1415config SERIAL_MVEBU_UART
1416	bool "Marvell EBU serial port support"
1417	depends on ARCH_MVEBU || COMPILE_TEST
1418	depends on COMMON_CLK
1419	select SERIAL_CORE
1420	help
1421	  This driver is for Marvell EBU SoC's UART. If you have a machine
1422	  based on the Armada-3700 SoC and wish to use the on-board serial
1423	  port,
1424	  say 'Y' here.
1425	  Otherwise, say 'N'.
1426
1427config SERIAL_MVEBU_CONSOLE
1428	bool "Console on Marvell EBU serial port"
1429	depends on SERIAL_MVEBU_UART
1430	select SERIAL_CORE_CONSOLE
1431	select SERIAL_EARLYCON
1432	default y
1433	help
1434	  Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1435	  (the system console is the device which receives all kernel messages
1436	  and warnings and which allows logins in single user mode)
1437	  Otherwise, say 'N'.
1438
1439config SERIAL_OWL
1440	tristate "Actions Semi Owl serial port support"
1441	depends on ARCH_ACTIONS || COMPILE_TEST
1442	select SERIAL_CORE
1443	help
1444	  This driver is for Actions Semiconductor S500/S900 SoC's UART.
1445	  Say 'Y' here if you wish to use the on-board serial port.
1446	  Otherwise, say 'N'.
1447
1448config SERIAL_OWL_CONSOLE
1449	bool "Console on Actions Semi Owl serial port"
1450	depends on SERIAL_OWL=y
1451	select SERIAL_CORE_CONSOLE
1452	select SERIAL_EARLYCON
1453	default y
1454	help
1455	  Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1456	  as the system console.
1457
1458config SERIAL_RDA
1459	bool "RDA Micro serial port support"
1460	depends on ARCH_RDA || COMPILE_TEST
1461	select SERIAL_CORE
1462	help
1463	  This driver is for RDA8810PL SoC's UART.
1464	  Say 'Y' here if you wish to use the on-board serial port.
1465	  Otherwise, say 'N'.
1466
1467config SERIAL_RDA_CONSOLE
1468	bool "Console on RDA Micro serial port"
1469	depends on SERIAL_RDA=y
1470	select SERIAL_CORE_CONSOLE
1471	select SERIAL_EARLYCON
1472	default y
1473	help
1474	  Say 'Y' here if you wish to use the RDA8810PL UART as the system
1475	  console. Only earlycon is implemented currently.
1476
1477config SERIAL_MILBEAUT_USIO
1478	tristate "Milbeaut USIO/UART serial port support"
1479	depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1480	default ARCH_MILBEAUT
1481	select SERIAL_CORE
1482	help
1483	  This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1484
1485config SERIAL_MILBEAUT_USIO_PORTS
1486	int "Maximum number of CSIO/UART ports (1-8)"
1487	range 1 8
1488	depends on SERIAL_MILBEAUT_USIO
1489	default "4"
1490
1491config SERIAL_MILBEAUT_USIO_CONSOLE
1492	bool "Support for console on MILBEAUT USIO/UART serial port"
1493	depends on SERIAL_MILBEAUT_USIO=y
1494	default y
1495	select SERIAL_CORE_CONSOLE
1496	select SERIAL_EARLYCON
1497	help
1498	  Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1499	  SoCs as the system console (the system console is the device which
1500	  receives all kernel messages and warnings and which allows logins in
1501	  single user mode).
1502
1503config SERIAL_LITEUART
1504	tristate "LiteUART serial port support"
1505	depends on HAS_IOMEM
1506	depends on OF
1507	depends on LITEX || COMPILE_TEST
1508	select SERIAL_CORE
1509	help
1510	  This driver is for the FPGA-based LiteUART serial controller from LiteX
1511	  SoC builder.
1512
1513	  Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
1514	  Otherwise, say 'N'.
1515
1516config SERIAL_LITEUART_MAX_PORTS
1517	int "Maximum number of LiteUART ports"
1518	depends on SERIAL_LITEUART
1519	default "1"
1520	help
1521	  Set this to the maximum number of serial ports you want the driver
1522	  to support.
1523
1524config SERIAL_LITEUART_CONSOLE
1525	bool "LiteUART serial port console support"
1526	depends on SERIAL_LITEUART=y
1527	select SERIAL_CORE_CONSOLE
1528	select SERIAL_EARLYCON
1529	help
1530	  Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
1531	  controller from LiteX SoC builder as the system console
1532	  (the system console is the device which receives all kernel messages
1533	  and warnings and which allows logins in single user mode).
1534	  Otherwise, say 'N'.
1535
1536config SERIAL_SUNPLUS
1537	tristate "Sunplus UART support"
1538	depends on ARCH_SUNPLUS || COMPILE_TEST
1539	select SERIAL_CORE
1540	help
1541	  Select this option if you would like to use Sunplus serial port on
1542	  Sunplus SoC SP7021.
1543	  If you enable this option, Sunplus serial ports in the system will
1544	  be registered as ttySUPx.
1545	  This driver can also be built as a module. If so, the module will be
1546	  called sunplus-uart.
1547
1548config SERIAL_SUNPLUS_CONSOLE
1549	bool "Console on Sunplus UART"
1550	depends on SERIAL_SUNPLUS
1551	select SERIAL_CORE_CONSOLE
1552	select SERIAL_EARLYCON
1553	help
1554	  Select this option if you would like to use a Sunplus UART as the
1555	  system console.
1556	  Even if you say Y here, the currently visible virtual console
1557	  (/dev/tty0) will still be used as the system console by default, but
1558	  you can alter that using a kernel command line option such as
1559	  "console=ttySUPx".
1560
1561config SERIAL_NUVOTON_MA35D1
1562	tristate "Nuvoton MA35D1 family UART support"
1563	depends on ARCH_MA35 || COMPILE_TEST
1564	select SERIAL_CORE
1565	help
1566	  This driver supports Nuvoton MA35D1 family UART ports. If you would
1567	  like to use them, you must answer Y or M to this option. Note that
1568	  for use as console, it must be included in kernel and not as a
1569	  module. If you enable this option, Ma35D1 serial ports in the system
1570	  will be registered as ttyNVTx.
1571
1572config SERIAL_NUVOTON_MA35D1_CONSOLE
1573	bool "Console on a Nuvotn MA35D1 family UART port"
1574	depends on SERIAL_NUVOTON_MA35D1=y
1575	select SERIAL_CORE_CONSOLE
1576	help
1577	  Select this options if you'd like to use the UART port0 of the
1578	  Nuvoton MA35D1 family as a console.
1579	  Even if you say Y here, the currently visible virtual console
1580	  (/dev/tty0) will still be used as the system console by default,
1581	  but you can alter that using a kernel command line option such as
1582	  "console=ttyNVTx".
1583
1584config SERIAL_ESP32
1585	tristate "Espressif ESP32 UART support"
1586	depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
1587	select SERIAL_CORE
1588	select SERIAL_CORE_CONSOLE
1589	select SERIAL_EARLYCON
1590	help
1591	  Driver for the UART controllers of the Espressif ESP32xx SoCs.
1592	  When earlycon option is enabled the following kernel command line
1593	  snippets may be used:
1594	    earlycon=esp32s3uart,mmio32,0x60000000,115200n8,40000000
1595	    earlycon=esp32uart,mmio32,0x3ff40000,115200n8
1596
1597config SERIAL_ESP32_ACM
1598	tristate "Espressif ESP32 USB ACM gadget support"
1599	depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
1600	select SERIAL_CORE
1601	select SERIAL_CORE_CONSOLE
1602	select SERIAL_EARLYCON
1603	help
1604	  Driver for the CDC ACM gadget controller of the Espressif ESP32S3
1605	  SoCs that share separate USB controller with the JTAG adapter.
1606	  When earlycon option is enabled the following kernel command line
1607	  snippet may be used:
1608	    earlycon=esp32s3acm,mmio32,0x60038000
1609
1610endmenu
1611
1612config SERIAL_MCTRL_GPIO
1613	tristate
v6.13.7
   1# SPDX-License-Identifier: GPL-2.0
   2#
   3# Serial device configuration
   4#
   5
   6menu "Serial drivers"
   7	depends on HAS_IOMEM
   8
   9config SERIAL_EARLYCON
  10	bool
  11	depends on SERIAL_CORE
  12	help
  13	  Support for early consoles with the earlycon parameter. This enables
  14	  the console before standard serial driver is probed. The console is
  15	  enabled when early_param is processed.
  16
  17source "drivers/tty/serial/8250/Kconfig"
  18
  19comment "Non-8250 serial port support"
  20
  21config SERIAL_AMBA_PL010
  22	tristate "ARM AMBA PL010 serial port support"
  23	depends on ARM_AMBA || COMPILE_TEST
  24	select SERIAL_CORE
  25	help
  26	  This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have
  27	  an Integrator/AP or Integrator/PP2 platform, or if you have a
  28	  Cirrus Logic EP93xx CPU, say Y or M here.
  29
  30	  If unsure, say N.
  31
  32config SERIAL_AMBA_PL010_CONSOLE
  33	bool "Support for console on AMBA serial port"
  34	depends on SERIAL_AMBA_PL010=y
  35	select SERIAL_CORE_CONSOLE
  36	help
  37	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
  38	  console (the system console is the device which receives all kernel
  39	  messages and warnings and which allows logins in single user mode).
  40
  41	  Even if you say Y here, the currently visible framebuffer console
  42	  (/dev/tty0) will still be used as the system console by default, but
  43	  you can alter that using a kernel command line option such as
  44	  "console=ttyAM0". (Try "man bootparam" or see the documentation of
  45	  your boot loader (lilo or loadlin) about how to pass options to the
  46	  kernel at boot time.)
  47
  48config SERIAL_AMBA_PL011
  49	tristate "ARM AMBA PL011 serial port support"
  50	depends on ARM_AMBA
  51	select SERIAL_CORE
  52	help
  53	  This selects the ARM(R) AMBA(R) PrimeCell PL011 UART.  If you have
  54	  an Integrator/PP2, Integrator/CP or Versatile platform, say Y or M
  55	  here.
  56
  57	  If unsure, say N.
  58
  59config SERIAL_AMBA_PL011_CONSOLE
  60	bool "Support for console on AMBA serial port"
  61	depends on SERIAL_AMBA_PL011=y
  62	select SERIAL_CORE_CONSOLE
  63	select SERIAL_EARLYCON
  64	help
  65	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
  66	  console (the system console is the device which receives all kernel
  67	  messages and warnings and which allows logins in single user mode).
  68
  69	  Even if you say Y here, the currently visible framebuffer console
  70	  (/dev/tty0) will still be used as the system console by default, but
  71	  you can alter that using a kernel command line option such as
  72	  "console=ttyAMA0". (Try "man bootparam" or see the documentation of
  73	  your boot loader (lilo or loadlin) about how to pass options to the
  74	  kernel at boot time.)
  75
  76config SERIAL_EARLYCON_SEMIHOST
  77	bool "Early console using Arm compatible semihosting"
  78	depends on ARM64 || ARM || RISCV
  79	select SERIAL_CORE
  80	select SERIAL_CORE_CONSOLE
  81	select SERIAL_EARLYCON
  82	help
  83	  Support for early debug console using Arm compatible semihosting.
  84	  This enables the console before standard serial driver is probed.
  85	  This is enabled with "earlycon=smh" on the kernel command line.
  86	  The console is enabled when early_param is processed.
  87
  88config SERIAL_EARLYCON_RISCV_SBI
  89	bool "Early console using RISC-V SBI"
  90	depends on RISCV_SBI
  91	select SERIAL_CORE
  92	select SERIAL_CORE_CONSOLE
  93	select SERIAL_EARLYCON
  94	help
  95	  Support for early debug console using RISC-V SBI. This enables
  96	  the console before standard serial driver is probed. This is enabled
  97	  with "earlycon=sbi" on the kernel command line. The console is
  98	  enabled when early_param is processed.
  99
 100config SERIAL_SB1250_DUART
 101	tristate "BCM1xxx on-chip DUART serial support"
 102	depends on SIBYTE_SB1xxx_SOC=y
 103	select SERIAL_CORE
 104	default y
 105	help
 106	  Support for the asynchronous serial interface (DUART) included in
 107	  the BCM1250 and derived System-On-a-Chip (SOC) devices.  Note that
 108	  the letter D in DUART stands for "dual", which is how the device
 109	  is implemented.  Depending on the SOC configuration there may be
 110	  one or more DUARTs available of which all are handled.
 111
 112	  If unsure, say Y.  To compile this driver as a module, choose M here:
 113	  the module will be called sb1250-duart.
 114
 115config SERIAL_SB1250_DUART_CONSOLE
 116	bool "Support for console on a BCM1xxx DUART serial port"
 117	depends on SERIAL_SB1250_DUART=y
 118	select SERIAL_CORE_CONSOLE
 119	default y
 120	help
 121	  If you say Y here, it will be possible to use a serial port as the
 122	  system console (the system console is the device which receives all
 123	  kernel messages and warnings and which allows logins in single user
 124	  mode).
 125
 126	  If unsure, say Y.
 127
 128config SERIAL_ATMEL
 129	bool "AT91 on-chip serial port support"
 130	depends on COMMON_CLK
 131	depends on ARCH_AT91 || COMPILE_TEST
 132	select SERIAL_CORE
 133	select SERIAL_MCTRL_GPIO if GPIOLIB
 134	select MFD_AT91_USART
 135	help
 136	  This enables the driver for the on-chip UARTs of the Atmel
 137	  AT91 processors.
 138
 139config SERIAL_ATMEL_CONSOLE
 140	bool "Support for console on AT91 serial port"
 141	depends on SERIAL_ATMEL=y
 142	select SERIAL_CORE_CONSOLE
 143	select SERIAL_EARLYCON
 144	help
 145	  Say Y here if you wish to use an on-chip UART on a Atmel
 146	  AT91 processor as the system console (the system
 147	  console is the device which receives all kernel messages and
 148	  warnings and which allows logins in single user mode).
 149
 150config SERIAL_ATMEL_PDC
 151	bool "Support DMA transfers on AT91 serial port"
 152	depends on SERIAL_ATMEL
 153	default y
 154	help
 155	  Say Y here if you wish to use the PDC to do DMA transfers to
 156	  and from the Atmel AT91 serial port. In order to
 157	  actually use DMA transfers, make sure that the use_dma_tx
 158	  and use_dma_rx members in the atmel_uart_data struct is set
 159	  appropriately for each port.
 160
 161	  Note that break and error handling currently doesn't work
 162	  properly when DMA is enabled. Make sure that ports where
 163	  this matters don't use DMA.
 164
 165config SERIAL_ATMEL_TTYAT
 166	bool "Install as device ttyATn instead of ttySn"
 167	depends on SERIAL_ATMEL=y
 168	help
 169	  Say Y here if you wish to have the internal AT91 UARTs
 170	  appear as /dev/ttyATn (major 204, minor starting at 154)
 171	  instead of the normal /dev/ttySn (major 4, minor starting at
 172	  64). This is necessary if you also want other UARTs, such as
 173	  external 8250/16C550 compatible UARTs.
 174	  The ttySn nodes are legally reserved for the 8250 serial driver
 175	  but are often misused by other serial drivers.
 176
 177	  To use this, you should create suitable ttyATn device nodes in
 178	  /dev/, and pass "console=ttyATn" to the kernel.
 179
 180	  Say Y if you have an external 8250/16C550 UART.  If unsure, say N.
 181
 182config SERIAL_KGDB_NMI
 183	bool "Serial console over KGDB NMI debugger port"
 184	depends on KGDB_SERIAL_CONSOLE
 185	help
 186	  This special driver allows you to temporary use NMI debugger port
 187	  as a normal console (assuming that the port is attached to KGDB).
 188
 189	  Unlike KDB's disable_nmi command, with this driver you are always
 190	  able to go back to the debugger using KGDB escape sequence ($3#33).
 191	  This is because this console driver processes the input in NMI
 192	  context, and thus is able to intercept the magic sequence.
 193
 194	  Note that since the console interprets input and uses polling
 195	  communication methods, for things like PPP you still must fully
 196	  detach debugger port from the KGDB NMI (i.e. disable_nmi), and
 197	  use raw console.
 198
 199	  If unsure, say N.
 200
 201config SERIAL_MESON
 202	tristate "Meson serial port support"
 203	depends on ARCH_MESON || COMPILE_TEST
 204	select SERIAL_CORE
 205	help
 206	  This enables the driver for the on-chip UARTs of the Amlogic
 207	  MesonX processors.
 208
 209config SERIAL_MESON_CONSOLE
 210	bool "Support for console on meson"
 211	depends on SERIAL_MESON
 212	select SERIAL_CORE_CONSOLE
 213	select SERIAL_EARLYCON
 214	help
 215	  Say Y here if you wish to use a Amlogic MesonX UART as the
 216	  system console (the system console is the device which
 217	  receives all kernel messages and warnings and which allows
 218	  logins in single user mode) as /dev/ttyAMLx.
 219
 220config SERIAL_CLPS711X
 221	tristate "CLPS711X serial port support"
 222	depends on ARCH_CLPS711X || COMPILE_TEST
 223	select SERIAL_CORE
 224	select SERIAL_MCTRL_GPIO if GPIOLIB
 225	help
 226	  This enables the driver for the on-chip UARTs of the Cirrus
 227	  Logic EP711x/EP721x/EP731x processors.
 228
 229config SERIAL_CLPS711X_CONSOLE
 230	bool "Support for console on CLPS711X serial port"
 231	depends on SERIAL_CLPS711X=y
 232	select SERIAL_CORE_CONSOLE
 233	help
 234	  Even if you say Y here, the currently visible virtual console
 235	  (/dev/tty0) will still be used as the system console by default, but
 236	  you can alter that using a kernel command line option such as
 237	  "console=ttyCL1".
 238
 239config SERIAL_SAMSUNG
 240	tristate "Samsung SoC serial support"
 241	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || ARCH_ARTPEC || COMPILE_TEST
 242	select SERIAL_CORE
 243	help
 244	  Support for the on-chip UARTs on the Samsung
 245	  S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
 246	  /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
 247	  these ports, depending on how the serial port pins are configured.
 248
 249	  Choose Y/M here only if you build for such SoC.
 250
 251config SERIAL_SAMSUNG_UARTS
 252	int
 253	depends on SERIAL_SAMSUNG
 254	default 4
 255	help
 256	  Select the number of available UART ports for the Samsung S3C
 257	  serial driver
 258
 259config SERIAL_SAMSUNG_CONSOLE
 260	bool "Support for console on Samsung SoC serial port"
 261	depends on SERIAL_SAMSUNG
 262	select SERIAL_CORE_CONSOLE
 263	select SERIAL_EARLYCON
 264	help
 265	  Allow selection of the S3C24XX on-board serial ports for use as
 266	  an virtual console.
 267
 268	  Even if you say Y here, the currently visible virtual console
 269	  (/dev/tty0) will still be used as the system console by default, but
 270	  you can alter that using a kernel command line option such as
 271	  "console=ttySACx". (Try "man bootparam" or see the documentation of
 272	  your boot loader about how to pass options to the kernel at
 273	  boot time.)
 274
 275config SERIAL_TEGRA
 276	tristate "NVIDIA Tegra20/30 SoC serial controller"
 277	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
 278	select SERIAL_CORE
 279	help
 280	  Support for the on-chip UARTs on the NVIDIA Tegra series SOCs
 281	  providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not
 282	  provide all of these ports, depending on how the serial port
 283	  are enabled). This driver uses the APB DMA to achieve higher baudrate
 284	  and better performance.
 285
 286config SERIAL_TEGRA_TCU
 287	tristate "NVIDIA Tegra Combined UART"
 288	depends on MAILBOX
 289	depends on (ARCH_TEGRA && TEGRA_HSP_MBOX) || COMPILE_TEST
 290	select SERIAL_CORE
 291	help
 292	  Support for the mailbox-based TCU (Tegra Combined UART) serial port.
 293	  TCU is a virtual serial port that allows multiplexing multiple data
 294	  streams into a single hardware serial port.
 295
 296config SERIAL_TEGRA_TCU_CONSOLE
 297	bool "Support for console on a Tegra TCU serial port"
 298	depends on SERIAL_TEGRA_TCU=y
 299	select SERIAL_CORE_CONSOLE
 300	default y
 301	help
 302	  If you say Y here, it will be possible to use a the Tegra TCU as the
 303	  system console (the system console is the device which receives all
 304	  kernel messages and warnings and which allows logins in single user
 305	  mode).
 306
 307	  If unsure, say Y.
 308
 309config SERIAL_MAX3100
 310	tristate "MAX3100/3110/3111/3222 support"
 311	depends on SPI
 312	select SERIAL_CORE
 313	help
 314	  This selects support for an advanced UART from Maxim.
 315	  Supported ICs are MAX3100, MAX3110, MAX3111, MAX3222.
 316
 317	  Say Y here if you want to support these ICs.
 318
 319config SERIAL_MAX310X
 320	tristate "MAX310X support"
 321	depends on SPI_MASTER
 322	select SERIAL_CORE
 323	select REGMAP_SPI if SPI_MASTER
 324	select REGMAP_I2C if I2C
 325	help
 326	  This selects support for an advanced UART from Maxim (Dallas).
 327	  Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
 328	  Each IC contains 128 words each of receive and transmit FIFO
 329	  that can be controlled through I2C or high-speed SPI.
 330
 331	  Say Y here if you want to support this ICs.
 332
 333config SERIAL_DZ
 334	bool "DECstation DZ serial driver"
 335	depends on MACH_DECSTATION && 32BIT
 336	select SERIAL_CORE
 337	default y
 338	help
 339	  DZ11-family serial controllers for DECstations and VAXstations,
 340	  including the DC7085, M7814, and M7819.
 341
 342config SERIAL_DZ_CONSOLE
 343	bool "Support console on DECstation DZ serial driver"
 344	depends on SERIAL_DZ=y
 345	select SERIAL_CORE_CONSOLE
 346	default y
 347	help
 348	  If you say Y here, it will be possible to use a serial port as the
 349	  system console (the system console is the device which receives all
 350	  kernel messages and warnings and which allows logins in single user
 351	  mode).
 352
 353	  Note that the firmware uses ttyS3 as the serial console on
 354	  DECstations that use this driver.
 355
 356	  If unsure, say Y.
 357
 358config SERIAL_ZS
 359	tristate "DECstation Z85C30 serial support"
 360	depends on MACH_DECSTATION
 361	select SERIAL_CORE
 362	default y
 363	help
 364	  Support for the Zilog 85C350 serial communications controller used
 365	  for serial ports in newer DECstation systems.  These include the
 366	  DECsystem 5900 and all models of the DECstation and DECsystem 5000
 367	  systems except from model 200.
 368
 369	  If unsure, say Y.  To compile this driver as a module, choose M here:
 370	  the module will be called zs.
 371
 372config SERIAL_ZS_CONSOLE
 373	bool "Support for console on a DECstation Z85C30 serial port"
 374	depends on SERIAL_ZS=y
 375	select SERIAL_CORE_CONSOLE
 376	default y
 377	help
 378	  If you say Y here, it will be possible to use a serial port as the
 379	  system console (the system console is the device which receives all
 380	  kernel messages and warnings and which allows logins in single user
 381	  mode).
 382
 383	  Note that the firmware uses ttyS1 as the serial console on the
 384	  Maxine and ttyS3 on the others using this driver.
 385
 386	  If unsure, say Y.
 387
 388config SERIAL_21285
 389	tristate "DC21285 serial port support"
 390	depends on FOOTBRIDGE
 391	select SERIAL_CORE
 392	help
 393	  If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
 394	  PCI bridge you can enable its onboard serial port by enabling this
 395	  option.
 396
 397config SERIAL_21285_CONSOLE
 398	bool "Console on DC21285 serial port"
 399	depends on SERIAL_21285=y
 400	select SERIAL_CORE_CONSOLE
 401	help
 402	  If you have enabled the serial port on the 21285 footbridge you can
 403	  make it the console by answering Y to this option.
 404
 405	  Even if you say Y here, the currently visible virtual console
 406	  (/dev/tty0) will still be used as the system console by default, but
 407	  you can alter that using a kernel command line option such as
 408	  "console=ttyFB". (Try "man bootparam" or see the documentation of
 409	  your boot loader (lilo or loadlin) about how to pass options to the
 410	  kernel at boot time.)
 411
 412config SERIAL_PXA
 413	bool "PXA serial port support (DEPRECATED)"
 414	depends on ARCH_PXA || ARCH_MMP
 415	select SERIAL_CORE
 416	select SERIAL_8250_PXA if SERIAL_8250=y
 417	select SERIAL_PXA_NON8250 if !SERIAL_8250=y
 418	help
 419	  If you have a machine based on an Intel XScale PXA2xx CPU you
 420	  can enable its onboard serial ports by enabling this option.
 421
 422	  Unless you have a specific need, you should use SERIAL_8250_PXA
 423	  instead of this.
 424
 425config SERIAL_PXA_NON8250
 426	bool
 427	depends on !SERIAL_8250 || COMPILE_TEST
 428
 429config SERIAL_PXA_CONSOLE
 430	bool "Console on PXA serial port (DEPRECATED)"
 431	depends on SERIAL_PXA
 432	select SERIAL_CORE_CONSOLE
 433	select SERIAL_8250_CONSOLE if SERIAL_8250=y
 434	help
 435	  If you have enabled the serial port on the Intel XScale PXA
 436	  CPU you can make it the console by answering Y to this option.
 437
 438	  Even if you say Y here, the currently visible virtual console
 439	  (/dev/tty0) will still be used as the system console by default, but
 440	  you can alter that using a kernel command line option such as
 441	  "console=ttySA0". (Try "man bootparam" or see the documentation of
 442	  your boot loader (lilo or loadlin) about how to pass options to the
 443	  kernel at boot time.)
 444
 445	  Unless you have a specific need, you should use SERIAL_8250_PXA
 446	  and SERIAL_8250_CONSOLE instead of this.
 447
 448config SERIAL_SA1100
 449	bool "SA1100 serial port support"
 450	depends on ARCH_SA1100
 451	select SERIAL_CORE
 452	select SERIAL_MCTRL_GPIO if GPIOLIB
 453	help
 454	  If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
 455	  can enable its onboard serial port by enabling this option.
 456	  Please read <file:Documentation/arch/arm/sa1100/serial_uart.rst> for
 457	  further info.
 458
 459config SERIAL_SA1100_CONSOLE
 460	bool "Console on SA1100 serial port"
 461	depends on SERIAL_SA1100
 462	select SERIAL_CORE_CONSOLE
 463	help
 464	  If you have enabled the serial port on the SA1100/SA1110 StrongARM
 465	  CPU you can make it the console by answering Y to this option.
 466
 467	  Even if you say Y here, the currently visible virtual console
 468	  (/dev/tty0) will still be used as the system console by default, but
 469	  you can alter that using a kernel command line option such as
 470	  "console=ttySA0". (Try "man bootparam" or see the documentation of
 471	  your boot loader (lilo or loadlin) about how to pass options to the
 472	  kernel at boot time.)
 473
 474config SERIAL_IMX
 475	tristate "IMX serial port support"
 476	depends on ARCH_MXC || COMPILE_TEST
 477	select SERIAL_CORE
 478	select RATIONAL
 479	select SERIAL_MCTRL_GPIO if GPIOLIB
 480	help
 481	  If you have a machine based on a Motorola IMX CPU you
 482	  can enable its onboard serial port by enabling this option.
 483
 484config SERIAL_IMX_CONSOLE
 485	tristate "Console on IMX serial port"
 486	depends on SERIAL_IMX
 487	select SERIAL_CORE_CONSOLE
 488	help
 489	  If you have enabled the serial port on the Freescale IMX
 490	  CPU you can make it the console by answering Y/M to this option.
 491
 492	  Even if you say Y/M here, the currently visible virtual console
 493	  (/dev/tty0) will still be used as the system console by default, but
 494	  you can alter that using a kernel command line option such as
 495	  "console=ttymxc0". (Try "man bootparam" or see the documentation of
 496	  your bootloader about how to pass options to the kernel at boot time.)
 497
 498config SERIAL_IMX_EARLYCON
 499	bool "Earlycon on IMX serial port"
 500	depends on ARCH_MXC || COMPILE_TEST
 501	depends on OF
 502	select SERIAL_CORE
 503	select SERIAL_EARLYCON
 504	select SERIAL_CORE_CONSOLE
 505	default y if SERIAL_IMX_CONSOLE
 506	help
 507	  If you have enabled the earlycon on the Freescale IMX
 508	  CPU you can make it the earlycon by answering Y to this option.
 509
 510config SERIAL_UARTLITE
 511	tristate "Xilinx uartlite serial port support"
 512	depends on HAS_IOMEM
 513	select SERIAL_CORE
 514	help
 515	  Say Y here if you want to use the Xilinx uartlite serial controller.
 516
 517	  To compile this driver as a module, choose M here: the
 518	  module will be called uartlite.
 519
 520config SERIAL_UARTLITE_CONSOLE
 521	bool "Support for console on Xilinx uartlite serial port"
 522	depends on SERIAL_UARTLITE=y
 523	select SERIAL_CORE_CONSOLE
 524	select SERIAL_EARLYCON
 525	help
 526	  Say Y here if you wish to use a Xilinx uartlite as the system
 527	  console (the system console is the device which receives all kernel
 528	  messages and warnings and which allows logins in single user mode).
 529
 530config SERIAL_UARTLITE_NR_UARTS
 531	int "Maximum number of uartlite serial ports"
 532	depends on SERIAL_UARTLITE
 533	range 1 256
 534	default 1
 535	help
 536	  Set this to the number of uartlites in your system, or the number
 537	  you think you might implement.
 538	  If maximum number of uartlite serial ports is more than 4, then the
 539	  driver uses dynamic allocation instead of static allocation for major
 540	  number.
 541
 542config SERIAL_SUNCORE
 543	bool
 544	depends on SPARC
 545	select SERIAL_CORE
 546	select SERIAL_CORE_CONSOLE
 547	default y
 548
 549config SERIAL_SUNZILOG
 550	tristate "Sun Zilog8530 serial support"
 551	depends on SPARC
 552	help
 553	  This driver supports the Zilog8530 serial ports found on many Sparc
 554	  systems.  Say Y or M if you want to be able to these serial ports.
 555
 556config SERIAL_SUNZILOG_CONSOLE
 557	bool "Console on Sun Zilog8530 serial port"
 558	depends on SERIAL_SUNZILOG=y
 559	help
 560	  If you would like to be able to use the Zilog8530 serial port
 561	  on your Sparc system as the console, you can do so by answering
 562	  Y to this option.
 563
 564config SERIAL_SUNSU
 565	tristate "Sun SU serial support"
 566	depends on SPARC && PCI
 567	help
 568	  This driver supports the 8250 serial ports that run the keyboard and
 569	  mouse on (PCI) UltraSPARC systems.  Say Y or M if you want to be able
 570	  to these serial ports.
 571
 572config SERIAL_SUNSU_CONSOLE
 573	bool "Console on Sun SU serial port"
 574	depends on SERIAL_SUNSU=y
 575	help
 576	  If you would like to be able to use the SU serial port
 577	  on your Sparc system as the console, you can do so by answering
 578	  Y to this option.
 579
 580config SERIAL_MUX
 581	tristate "Serial MUX support"
 582	depends on GSC
 583	select SERIAL_CORE
 584	default y
 585	help
 586	  Saying Y here will enable the hardware MUX serial driver for
 587	  the Nova, K class systems and D class with a 'remote control card'.
 588	  The hardware MUX is not 8250/16550 compatible therefore the
 589	  /dev/ttyB0 device is shared between the Serial MUX and the PDC
 590	  software console. The following steps need to be completed to use
 591	  the Serial MUX:
 592
 593	    1. create the device entry (mknod /dev/ttyB0 c 11 0)
 594	    2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
 595	    3. Add device ttyB0 to /etc/securetty (if you want to log on as
 596		 root on this console.)
 597	    4. Change the kernel command console parameter to: console=ttyB0
 598
 599config SERIAL_MUX_CONSOLE
 600	bool "Support for console on serial MUX"
 601	depends on SERIAL_MUX=y
 602	select SERIAL_CORE_CONSOLE
 603	default y
 604
 605config SERIAL_SUNSAB
 606	tristate "Sun Siemens SAB82532 serial support"
 607	depends on SPARC && PCI
 608	help
 609	  This driver supports the Siemens SAB82532 DUSCC serial ports on newer
 610	  (PCI) UltraSPARC systems.  Say Y or M if you want to be able to these
 611	  serial ports.
 612
 613config SERIAL_SUNSAB_CONSOLE
 614	bool "Console on Sun Siemens SAB82532 serial port"
 615	depends on SERIAL_SUNSAB=y
 616	help
 617	  If you would like to be able to use the SAB82532 serial port
 618	  on your Sparc system as the console, you can do so by answering
 619	  Y to this option.
 620
 621config SERIAL_SUNHV
 622	bool "Sun4v Hypervisor Console support"
 623	depends on SPARC64
 624	help
 625	  This driver supports the console device found on SUN4V Sparc
 626	  systems.  Say Y if you want to be able to use this device.
 627
 628config SERIAL_IP22_ZILOG
 629	tristate "SGI Zilog8530 serial support"
 630	depends on SGI_HAS_ZILOG
 631	select SERIAL_CORE
 632	help
 633	  This driver supports the Zilog8530 serial ports found on SGI
 634	  systems.  Say Y or M if you want to be able to these serial ports.
 635
 636config SERIAL_IP22_ZILOG_CONSOLE
 637	bool "Console on SGI Zilog8530 serial port"
 638	depends on SERIAL_IP22_ZILOG=y
 639	select SERIAL_CORE_CONSOLE
 640
 641config SERIAL_SH_SCI
 642	tristate "SuperH SCI(F) serial port support"
 643	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
 644	select SERIAL_CORE
 645	select SERIAL_MCTRL_GPIO if GPIOLIB
 646
 647config SERIAL_SH_SCI_NR_UARTS
 648	int "Maximum number of SCI(F) serial ports" if EXPERT
 649	range 1 64 if 64BIT
 650	range 1 32 if !64BIT
 651	depends on SERIAL_SH_SCI
 652	default "10" if SUPERH
 653	default "18" if ARCH_RENESAS
 654	default "2"
 655
 656config SERIAL_SH_SCI_CONSOLE
 657	bool "Support for console on SuperH SCI(F)" if EXPERT
 658	depends on SERIAL_SH_SCI=y
 659	select SERIAL_CORE_CONSOLE
 660	default y
 661
 662config SERIAL_SH_SCI_EARLYCON
 663	bool "Support for early console on SuperH SCI(F)" if EXPERT
 664	depends on SERIAL_SH_SCI=y
 665	select SERIAL_CORE_CONSOLE
 666	select SERIAL_EARLYCON
 667	default ARCH_RENESAS
 668
 669config SERIAL_SH_SCI_DMA
 670	bool "DMA support" if EXPERT
 671	depends on SERIAL_SH_SCI && DMA_ENGINE
 672	default ARCH_RENESAS
 673
 674config SERIAL_HS_LPC32XX
 675	tristate "LPC32XX high speed serial port support"
 676	depends on ARCH_LPC32XX || COMPILE_TEST
 677	depends on OF
 678	select SERIAL_CORE
 679	help
 680	  Support for the LPC32XX high speed serial ports (up to 900kbps).
 681	  Those are UARTs completely different from the Standard UARTs on the
 682	  LPC32XX SoC.
 683	  Choose M or Y here to build this driver.
 684
 685config SERIAL_HS_LPC32XX_CONSOLE
 686	bool "Enable LPC32XX high speed UART serial console"
 687	depends on SERIAL_HS_LPC32XX=y
 688	select SERIAL_CORE_CONSOLE
 689	help
 690	  If you would like to be able to use one of the high speed serial
 691	  ports on the LPC32XX as the console, you can do so by answering
 692	  Y to this option.
 693
 694config SERIAL_CORE
 695	tristate
 696
 697config SERIAL_CORE_CONSOLE
 698	bool
 699
 700config CONSOLE_POLL
 701	bool
 702
 703config SERIAL_MCF
 704	bool "Coldfire serial support"
 705	depends on COLDFIRE
 706	select SERIAL_CORE
 707	help
 708	  This serial driver supports the Freescale Coldfire serial ports.
 709
 710config SERIAL_MCF_BAUDRATE
 711	int "Default baudrate for Coldfire serial ports"
 712	depends on SERIAL_MCF
 713	default 19200
 714	help
 715	  This setting lets you define what the default baudrate is for the
 716	  ColdFire serial ports. The usual default varies from board to board,
 717	  and this setting is a way of catering for that.
 718
 719config SERIAL_MCF_CONSOLE
 720	bool "Coldfire serial console support"
 721	depends on SERIAL_MCF
 722	select SERIAL_CORE_CONSOLE
 723	help
 724	  Enable a ColdFire internal serial port to be the system console.
 725
 726config SERIAL_PMACZILOG
 727	tristate "Mac or PowerMac z85c30 ESCC support"
 728	depends on (M68K && MAC) || PPC_PMAC
 729	select SERIAL_CORE
 730	help
 731	  This driver supports the Zilog z85C30 serial ports found on
 732	  (Power)Mac machines.
 733	  Say Y or M if you want to be able to these serial ports.
 734
 735config SERIAL_PMACZILOG_TTYS
 736	bool "Use ttySn device nodes for Zilog z85c30"
 737	depends on SERIAL_PMACZILOG
 738	help
 739	  The pmac_zilog driver for the z85C30 chip on many powermacs
 740	  historically used the device numbers for /dev/ttySn.  The
 741	  8250 serial port driver also uses these numbers, which means
 742	  the two drivers being unable to coexist; you could not use
 743	  both z85C30 and 8250 type ports at the same time.
 744
 745	  If this option is not selected, the pmac_zilog driver will
 746	  use the device numbers allocated for /dev/ttyPZn.  This allows
 747	  the pmac_zilog and 8250 drivers to co-exist, but may cause
 748	  existing userspace setups to break.  Programs that need to
 749	  access the built-in serial ports on powermacs will need to
 750	  be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
 751
 752	  If you enable this option, any z85c30 ports in the system will
 753	  be registered as ttyS0 onwards as in the past, and you will be
 754	  unable to use the 8250 module for PCMCIA or other 16C550-style
 755	  UARTs.
 756
 757	  Say N unless you need the z85c30 ports on your (Power)Mac
 758	  to appear as /dev/ttySn.
 759
 760config SERIAL_PMACZILOG_CONSOLE
 761	bool "Console on Mac or PowerMac z85c30 serial port"
 762	depends on SERIAL_PMACZILOG=y
 763	select SERIAL_CORE_CONSOLE
 764	help
 765	  If you would like to be able to use the z85c30 serial port
 766	  on your (Power)Mac as the console, you can do so by answering
 767	  Y to this option.
 768
 769config SERIAL_CPM
 770	tristate "CPM SCC/SMC serial port support"
 771	depends on CPM2 || CPM1
 772	select SERIAL_CORE
 773	help
 774	  This driver supports the SCC and SMC serial ports on Motorola 
 775	  embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)
 776
 777config SERIAL_CPM_CONSOLE
 778	bool "Support for console on CPM SCC/SMC serial port"
 779	depends on SERIAL_CPM=y
 780	select SERIAL_CORE_CONSOLE
 781	help
 782	  Say Y here if you wish to use a SCC or SMC CPM UART as the system
 783	  console (the system console is the device which receives all kernel
 784	  messages and warnings and which allows logins in single user mode).
 785
 786	  Even if you say Y here, the currently visible framebuffer console
 787	  (/dev/tty0) will still be used as the system console by default, but
 788	  you can alter that using a kernel command line option such as
 789	  "console=ttyCPM0". (Try "man bootparam" or see the documentation of
 790	  your boot loader (lilo or loadlin) about how to pass options to the
 791	  kernel at boot time.)
 792
 793config SERIAL_PIC32
 794	tristate "Microchip PIC32 serial support"
 795	depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
 796	select SERIAL_CORE
 797	help
 798	  If you have a PIC32, this driver supports the serial ports.
 799
 800	  Say Y or M to use PIC32 serial ports, otherwise say N. Note that
 801	  to use a serial port as a console, this must be included in kernel and
 802	  not as a module.
 803
 804config SERIAL_PIC32_CONSOLE
 805	bool "PIC32 serial console support"
 806	depends on SERIAL_PIC32=y
 807	select SERIAL_CORE_CONSOLE
 808	help
 809	  If you have a PIC32, this driver supports the putting a console on one
 810	  of the serial ports.
 811
 812	  Say Y to use the PIC32 console, otherwise say N.
 813
 814config SERIAL_MPC52xx
 815	tristate "Freescale MPC52xx/MPC512x family PSC serial support"
 816	depends on PPC_MPC52xx || PPC_MPC512x
 817	select SERIAL_CORE
 818	help
 819	  This driver supports MPC52xx and MPC512x PSC serial ports. If you would
 820	  like to use them, you must answer Y or M to this option. Note that
 821	  for use as console, it must be included in kernel and not as a
 822	  module.
 823
 824config SERIAL_MPC52xx_CONSOLE
 825	bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
 826	depends on SERIAL_MPC52xx=y
 827	select SERIAL_CORE_CONSOLE
 828	help
 829	  Select this options if you'd like to use one of the PSC serial port
 830	  of the Freescale MPC52xx family as a console.
 831
 832config SERIAL_MPC52xx_CONSOLE_BAUD
 833	int "Freescale MPC52xx/MPC512x family PSC serial port baud"
 834	depends on SERIAL_MPC52xx_CONSOLE=y
 835	default "9600"
 836	help
 837	  Select the MPC52xx console baud rate.
 838	  This value is only used if the bootloader doesn't pass in the
 839	  console baudrate
 840
 841config SERIAL_ICOM
 842	tristate "IBM Multiport Serial Adapter"
 843	depends on PCI
 844	depends on PPC_PSERIES || COMPILE_TEST
 845	select SERIAL_CORE
 846	select FW_LOADER
 847	help
 848	  This driver is for a family of multiport serial adapters
 849	  including 2 port RVX, 2 port internal modem, 4 port internal
 850	  modem and a split 1 port RVX and 1 port internal modem.
 851
 852	  This driver can also be built as a module.  If so, the module
 853	  will be called icom.
 854
 855config SERIAL_TXX9
 856	bool "TMPTX39XX/49XX SIO support"
 857	depends on HAS_TXX9_SERIAL
 858	select SERIAL_CORE
 859	default y
 860
 861config HAS_TXX9_SERIAL
 862	bool
 863
 864config SERIAL_TXX9_NR_UARTS
 865	int "Maximum number of TMPTX39XX/49XX SIO ports"
 866	depends on SERIAL_TXX9
 867	default "6"
 868
 869config SERIAL_TXX9_CONSOLE
 870	bool "TMPTX39XX/49XX SIO Console support"
 871	depends on SERIAL_TXX9=y
 872	select SERIAL_CORE_CONSOLE
 873
 874config SERIAL_TXX9_STDSERIAL
 875	bool "TX39XX/49XX SIO act as standard serial"
 876	depends on !SERIAL_8250 && SERIAL_TXX9
 877
 878config SERIAL_JSM
 879	tristate "Digi International NEO and Classic PCI Support"
 880	depends on PCI && HAS_IOPORT
 881	select SERIAL_CORE
 882	help
 883	  This is a driver for Digi International's Neo and Classic series
 884	  of cards which provide multiple serial ports. You would need
 885	  something like this to connect more than two modems to your Linux
 886	  box, for instance in order to become a dial-in server. This driver
 887	  supports PCI boards only.
 888
 889	  If you have a card like this, say Y here, otherwise say N.
 890
 891	  To compile this driver as a module, choose M here: the
 892	  module will be called jsm.
 893
 894config SERIAL_MSM
 895	tristate "MSM on-chip serial port support"
 896	depends on ARCH_QCOM || COMPILE_TEST
 897	select SERIAL_CORE
 898
 899config SERIAL_MSM_CONSOLE
 900	bool "MSM serial console support"
 901	depends on SERIAL_MSM=y
 902	select SERIAL_CORE_CONSOLE
 903	select SERIAL_EARLYCON
 904
 905config SERIAL_QCOM_GENI
 906	tristate "QCOM on-chip GENI based serial port support"
 907	depends on ARCH_QCOM || COMPILE_TEST
 908	depends on QCOM_GENI_SE
 909	select SERIAL_CORE
 910
 911config SERIAL_QCOM_GENI_CONSOLE
 912	bool "QCOM GENI Serial Console support"
 913	depends on SERIAL_QCOM_GENI
 914	select SERIAL_CORE_CONSOLE
 915	select SERIAL_EARLYCON
 916	help
 917	  Serial console driver for Qualcomm Technologies Inc's GENI based
 918	  QUP hardware.
 919
 920config SERIAL_VT8500
 921	bool "VIA VT8500 on-chip serial port support"
 922	depends on ARCH_VT8500 || COMPILE_TEST
 923	select SERIAL_CORE
 924
 925config SERIAL_VT8500_CONSOLE
 926	bool "VIA VT8500 serial console support"
 927	depends on SERIAL_VT8500=y
 928	select SERIAL_CORE_CONSOLE
 929
 930config SERIAL_OMAP
 931	tristate "OMAP serial port support"
 932	depends on (ARCH_OMAP2PLUS && !SERIAL_8250_OMAP) || COMPILE_TEST
 933	select SERIAL_CORE
 934	help
 935	  If you have a machine based on an Texas Instruments OMAP CPU you
 936	  can enable its onboard serial ports by enabling this option.
 937
 938	  By enabling this option you take advantage of dma feature available
 939	  with the omap-serial driver. DMA support can be enabled from platform
 940	  data.
 941
 942config SERIAL_OMAP_CONSOLE
 943	bool "Console on OMAP serial port"
 944	depends on SERIAL_OMAP=y
 945	select SERIAL_CORE_CONSOLE
 946	help
 947	  Select this option if you would like to use omap serial port as
 948	  console.
 949
 950	  Even if you say Y here, the currently visible virtual console
 951	  (/dev/tty0) will still be used as the system console by default, but
 952	  you can alter that using a kernel command line option such as
 953	  "console=ttyOx". (Try "man bootparam" or see the documentation of
 954	  your boot loader about how to pass options to the kernel at
 955	  boot time.)
 956
 957config SERIAL_SIFIVE
 958	tristate "SiFive UART support"
 959	depends on OF
 960	default ARCH_SIFIVE || ARCH_CANAAN
 961	select SERIAL_CORE
 962	help
 963	  Select this option if you are building a kernel for a device that
 964	  contains a SiFive UART IP block.  This type of UART is present on
 965	  SiFive FU540 SoCs, among others.
 966
 967config SERIAL_SIFIVE_CONSOLE
 968	bool "Console on SiFive UART"
 969	depends on SERIAL_SIFIVE=y
 970	default ARCH_SIFIVE || ARCH_CANAAN
 971	select SERIAL_CORE_CONSOLE
 972	select SERIAL_EARLYCON
 973	help
 974	  Select this option if you would like to use a SiFive UART as the
 975	  system console.
 976
 977	  Even if you say Y here, the currently visible virtual console
 978	  (/dev/tty0) will still be used as the system console by default, but
 979	  you can alter that using a kernel command line option such as
 980	  "console=ttySIFx". (Try "man bootparam" or see the documentation of
 981	  your boot loader about how to pass options to the kernel at
 982	  boot time.)
 983
 984config SERIAL_LANTIQ
 985	tristate "Lantiq serial driver"
 986	depends on (LANTIQ || X86) || COMPILE_TEST
 987	select SERIAL_CORE
 988	help
 989	  Support for UART on Lantiq and Intel SoCs.
 990	  To compile this driver as a module, select M here. The
 991	  module will be called lantiq.
 992
 993config SERIAL_LANTIQ_CONSOLE
 994	bool "Console on Lantiq UART"
 995	depends on SERIAL_LANTIQ=y
 996	select SERIAL_CORE_CONSOLE
 997	select SERIAL_EARLYCON
 998	help
 999	  Select this option if you would like to use a Lantiq UART as the
1000	  system console.
1001
1002config SERIAL_QE
1003	tristate "Freescale QUICC Engine serial port support"
1004	depends on QUICC_ENGINE
1005	select SERIAL_CORE
1006	select FW_LOADER
1007	help
1008	  This driver supports the QE serial ports on Freescale embedded
1009	  PowerPC that contain a QUICC Engine.
1010
1011config SERIAL_SCCNXP
1012	tristate "SCCNXP serial port support"
1013	select SERIAL_CORE
1014	help
1015	  This selects support for an advanced UART from NXP (Philips).
1016	  Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1017	  SC28L202, SCC68681 and SCC68692.
1018
1019config SERIAL_SCCNXP_CONSOLE
1020	bool "Console on SCCNXP serial port"
1021	depends on SERIAL_SCCNXP=y
1022	select SERIAL_CORE_CONSOLE
1023	help
1024	  Support for console on SCCNXP serial ports.
1025
 
 
 
1026config SERIAL_SC16IS7XX
1027	tristate "NXP SC16IS7xx UART support"
1028	depends on SPI_MASTER || I2C
1029	select SERIAL_CORE
1030	select SERIAL_SC16IS7XX_SPI if SPI_MASTER
1031	select SERIAL_SC16IS7XX_I2C if I2C
1032	help
1033	  Core driver for NXP SC16IS7xx UARTs.
1034	  Supported ICs are:
1035
1036	    SC16IS740
1037	    SC16IS741
1038	    SC16IS750
1039	    SC16IS752
1040	    SC16IS760
1041	    SC16IS762
1042
1043	  The driver supports both I2C and SPI interfaces.
1044
1045config SERIAL_SC16IS7XX_I2C
1046	tristate
1047	select REGMAP_I2C
 
 
 
 
 
 
 
 
 
1048
1049config SERIAL_SC16IS7XX_SPI
1050	tristate
1051	select REGMAP_SPI
 
 
 
 
 
 
 
 
1052
1053config SERIAL_TIMBERDALE
1054	tristate "Support for timberdale UART"
1055	select SERIAL_CORE
1056	depends on X86_32 || COMPILE_TEST
1057	help
1058	Add support for UART controller on timberdale.
1059
1060config SERIAL_BCM63XX
1061	tristate "Broadcom BCM63xx/BCM33xx UART support"
1062	select SERIAL_CORE
1063	depends on ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST
1064	default ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC
1065	help
1066	  This enables the driver for the onchip UART core found on
1067	  the following chipsets:
1068
1069	    BCM33xx (cable modem)
1070	    BCM63xx/BCM63xxx (DSL)
1071	    BCM68xx (PON)
1072	    BCM7xxx (STB) - DOCSIS console
1073
1074config SERIAL_BCM63XX_CONSOLE
1075	bool "Console on BCM63xx serial port"
1076	depends on SERIAL_BCM63XX=y
1077	select SERIAL_CORE_CONSOLE
1078	select SERIAL_EARLYCON
1079	help
1080	  If you have enabled the serial port on the BCM63xx CPU
1081	  you can make it the console by answering Y to this option.
1082
1083config SERIAL_GRLIB_GAISLER_APBUART
1084	tristate "GRLIB APBUART serial support"
1085	depends on OF && SPARC
1086	select SERIAL_CORE
1087	help
1088	Add support for the GRLIB APBUART serial port.
1089
1090config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1091	bool "Console on GRLIB APBUART serial port"
1092	depends on SERIAL_GRLIB_GAISLER_APBUART=y
1093	select SERIAL_CORE_CONSOLE
1094	help
1095	Support for running a console on the GRLIB APBUART
1096
1097config SERIAL_ALTERA_JTAGUART
1098	tristate "Altera JTAG UART support"
1099	select SERIAL_CORE
1100	help
1101	  This driver supports the Altera JTAG UART port.
1102
1103config SERIAL_ALTERA_JTAGUART_CONSOLE
1104	bool "Altera JTAG UART console support"
1105	depends on SERIAL_ALTERA_JTAGUART=y
1106	select SERIAL_CORE_CONSOLE
1107	select SERIAL_EARLYCON
1108	help
1109	  Enable a Altera JTAG UART port to be the system console.
1110
1111config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1112	bool "Bypass output when no connection"
1113	depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1114	select SERIAL_CORE_CONSOLE
1115	help
1116	  Bypass console output and keep going even if there is no
1117	  JTAG terminal connection with the host.
1118
1119config SERIAL_ALTERA_UART
1120	tristate "Altera UART support"
1121	select SERIAL_CORE
1122	help
1123	  This driver supports the Altera softcore UART port.
1124
1125config SERIAL_ALTERA_UART_MAXPORTS
1126	int "Maximum number of Altera UART ports"
1127	depends on SERIAL_ALTERA_UART
1128	default 4
1129	help
1130	  This setting lets you define the maximum number of the Altera
1131	  UART ports. The usual default varies from board to board, and
1132	  this setting is a way of catering for that.
1133
1134config SERIAL_ALTERA_UART_BAUDRATE
1135	int "Default baudrate for Altera UART ports"
1136	depends on SERIAL_ALTERA_UART
1137	default 115200
1138	help
1139	  This setting lets you define what the default baudrate is for the
1140	  Altera UART ports. The usual default varies from board to board,
1141	  and this setting is a way of catering for that.
1142
1143config SERIAL_ALTERA_UART_CONSOLE
1144	bool "Altera UART console support"
1145	depends on SERIAL_ALTERA_UART=y
1146	select SERIAL_CORE_CONSOLE
1147	select SERIAL_EARLYCON
1148	help
1149	  Enable a Altera UART port to be the system console.
1150
1151config SERIAL_PCH_UART
1152	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1153	depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1154	select SERIAL_CORE
1155	help
1156	  This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1157	  which is an IOH(Input/Output Hub) for x86 embedded processor.
1158	  Enabling PCH_DMA, this PCH UART works as DMA mode.
1159
1160	  This driver also can be used for LAPIS Semiconductor IOH(Input/
1161	  Output Hub), ML7213, ML7223 and ML7831.
1162	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1163	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1164	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1165	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1166
1167config SERIAL_PCH_UART_CONSOLE
1168	bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1169	depends on SERIAL_PCH_UART=y
1170	select SERIAL_CORE_CONSOLE
1171	help
1172	  Say Y here if you wish to use the PCH UART as the system console
1173	  (the system  console is the device which receives all kernel messages and
1174	  warnings and which allows logins in single user mode).
1175
1176config SERIAL_MXS_AUART
1177	tristate "MXS AUART support"
1178	depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1179	select SERIAL_CORE
1180	select SERIAL_MCTRL_GPIO if GPIOLIB
1181	help
1182	  This driver supports the MXS and Alphascale ASM9260 Application
1183	  UART (AUART) port.
1184
1185config SERIAL_MXS_AUART_CONSOLE
1186	bool "MXS AUART console support"
1187	depends on SERIAL_MXS_AUART=y
1188	select SERIAL_CORE_CONSOLE
1189	help
1190	  Enable a MXS AUART port to be the system console.
1191
1192config SERIAL_XILINX_PS_UART
1193	tristate "Cadence (Xilinx Zynq) UART support"
1194	depends on OF
1195	select SERIAL_CORE
1196	help
1197	  This driver supports the Cadence UART. It is found e.g. in Xilinx
1198	  Zynq.
1199
1200config SERIAL_XILINX_PS_UART_CONSOLE
1201	bool "Cadence UART console support"
1202	depends on SERIAL_XILINX_PS_UART=y
1203	select SERIAL_CORE_CONSOLE
1204	select SERIAL_EARLYCON
1205	help
1206	  Enable a Cadence UART port to be the system console.
1207
1208config SERIAL_AR933X
1209	tristate "AR933X serial port support"
1210	depends on (HAVE_CLK && ATH79) || (MIPS && COMPILE_TEST)
1211	select SERIAL_CORE
1212	select SERIAL_MCTRL_GPIO if GPIOLIB
1213	help
1214	  If you have an Atheros AR933X SOC based board and want to use the
1215	  built-in UART of the SoC, say Y to this option.
1216
1217	  To compile this driver as a module, choose M here: the
1218	  module will be called ar933x_uart.
1219
1220config SERIAL_AR933X_CONSOLE
1221	bool "Console on AR933X serial port"
1222	depends on SERIAL_AR933X=y
1223	select SERIAL_CORE_CONSOLE
1224	help
1225	  Enable a built-in UART port of the AR933X to be the system console.
1226
1227config SERIAL_AR933X_NR_UARTS
1228	int "Maximum number of AR933X serial ports"
1229	depends on SERIAL_AR933X
1230	default "2"
1231	help
1232	  Set this to the number of serial ports you want the driver
1233	  to support.
1234
1235config SERIAL_MPS2_UART_CONSOLE
1236	bool "MPS2 UART console support"
1237	depends on SERIAL_MPS2_UART
1238	select SERIAL_CORE_CONSOLE
1239	select SERIAL_EARLYCON
1240
1241config SERIAL_MPS2_UART
1242	bool "MPS2 UART port"
1243	depends on ARCH_MPS2 || COMPILE_TEST
1244	select SERIAL_CORE
1245	help
1246	  This driver support the UART ports on ARM MPS2.
1247
1248config SERIAL_ARC
1249	tristate "ARC UART driver support"
1250	select SERIAL_CORE
1251	help
1252	  Driver for on-chip UART for ARC(Synopsys) for the legacy
1253	  FPGA Boards (ML50x/ARCAngel4)
1254
1255config SERIAL_ARC_CONSOLE
1256	bool "Console on ARC UART"
1257	depends on SERIAL_ARC=y
1258	select SERIAL_CORE_CONSOLE
1259	select SERIAL_EARLYCON
1260	help
1261	  Enable system Console on ARC UART
1262
1263config SERIAL_ARC_NR_PORTS
1264	int "Number of ARC UART ports"
1265	depends on SERIAL_ARC
1266	range 1 3
1267	default "1"
1268	help
1269	  Set this to the number of serial ports you want the driver
1270	  to support.
1271
1272config SERIAL_RP2
1273	tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1274	depends on PCI
1275	select SERIAL_CORE
1276	help
1277	  This driver supports the Comtrol RocketPort EXPRESS and
1278	  RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1279	  These adapters use a "RocketPort 2" ASIC that is not compatible
1280	  with the original RocketPort driver (CONFIG_ROCKETPORT).
1281
1282	  To compile this driver as a module, choose M here: the
1283	  module will be called rp2.
1284
1285	  If you want to compile this driver into the kernel, say Y here.  If
1286	  you don't have a suitable RocketPort card installed, say N.
1287
1288config SERIAL_RP2_NR_UARTS
1289	int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1290	depends on SERIAL_RP2
1291	default "32"
1292	help
1293	  If multiple cards are present, the default limit of 32 ports may
1294	  need to be increased.
1295
1296config SERIAL_FSL_LPUART
1297	tristate "Freescale lpuart serial port support"
1298	depends on HAS_DMA
1299	select SERIAL_CORE
1300	help
1301	  Support for the on-chip lpuart on some Freescale SOCs.
1302
1303config SERIAL_FSL_LPUART_CONSOLE
1304	bool "Console on Freescale lpuart serial port"
1305	depends on SERIAL_FSL_LPUART=y
1306	select SERIAL_CORE_CONSOLE
1307	select SERIAL_EARLYCON
1308	help
1309	  If you have enabled the lpuart serial port on the Freescale SoCs,
1310	  you can make it the console by answering Y to this option.
1311
1312config SERIAL_FSL_LINFLEXUART
1313	tristate "Freescale LINFlexD UART serial port support"
1314	depends on PRINTK
1315	select SERIAL_CORE
1316	help
1317	  Support for the on-chip LINFlexD UART on some Freescale SOCs.
1318
1319config SERIAL_FSL_LINFLEXUART_CONSOLE
1320	bool "Console on Freescale LINFlexD UART serial port"
1321	depends on SERIAL_FSL_LINFLEXUART=y
1322	select SERIAL_CORE_CONSOLE
1323	select SERIAL_EARLYCON
1324	help
1325	  If you have enabled the LINFlexD UART serial port on the Freescale
1326	  SoCs, you can make it the console by answering Y to this option.
1327
1328config SERIAL_CONEXANT_DIGICOLOR
1329	tristate "Conexant Digicolor CX92xxx USART serial port support"
1330	depends on OF
1331	select SERIAL_CORE
1332	help
1333	  Support for the on-chip USART on Conexant Digicolor SoCs.
1334
1335config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1336	bool "Console on Conexant Digicolor serial port"
1337	depends on SERIAL_CONEXANT_DIGICOLOR=y
1338	select SERIAL_CORE_CONSOLE
1339	help
1340	  If you have enabled the USART serial port on Conexant Digicolor
1341	  SoCs, you can make it the console by answering Y to this option.
1342
1343config SERIAL_ST_ASC
1344	tristate "ST ASC serial port support"
1345	select SERIAL_CORE
1346	depends on ARM || COMPILE_TEST
1347	help
1348	  This driver is for the on-chip Asynchronous Serial Controller on
1349	  STMicroelectronics STi SoCs.
1350	  ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1351	  It support all industry standard baud rates.
1352
1353	  If unsure, say N.
1354
1355config SERIAL_ST_ASC_CONSOLE
1356	bool "Support for console on ST ASC"
1357	depends on SERIAL_ST_ASC=y
1358	select SERIAL_CORE_CONSOLE
1359
1360config SERIAL_MEN_Z135
1361	tristate "MEN 16z135 Support"
1362	select SERIAL_CORE
1363	depends on MCB
1364	help
1365	  Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1366	  on a MCB carrier.
1367
1368	  This driver can also be build as a module. If so, the module will be called
1369	  men_z135_uart.ko
1370
1371config SERIAL_SPRD
1372	tristate "Support for Spreadtrum serial"
1373	select SERIAL_CORE
1374	depends on COMMON_CLK
1375	help
1376	  This enables the driver for the Spreadtrum's serial.
1377
1378config SERIAL_SPRD_CONSOLE
1379	bool "Spreadtrum UART console support"
1380	depends on SERIAL_SPRD=y
1381	select SERIAL_CORE_CONSOLE
1382	select SERIAL_EARLYCON
1383	help
1384	  Support for early debug console using Spreadtrum's serial. This enables
1385	  the console before standard serial driver is probed. This is enabled
1386	  with "earlycon" on the kernel command line. The console is
1387	  enabled when early_param is processed.
1388
1389config SERIAL_STM32
1390	tristate "STMicroelectronics STM32 serial port support"
1391	select SERIAL_CORE
1392	depends on ARCH_STM32 || COMPILE_TEST
1393	select SERIAL_MCTRL_GPIO if GPIOLIB
1394	help
1395	  This driver is for the on-chip Serial Controller on
1396	  STMicroelectronics STM32 MCUs.
1397	  USART supports Rx & Tx functionality.
1398	  It support all industry standard baud rates.
1399
1400	  If unsure, say N.
1401
1402config SERIAL_STM32_CONSOLE
1403	bool "Support for console on STM32"
1404	depends on SERIAL_STM32=y
1405	select SERIAL_CORE_CONSOLE
1406	select SERIAL_EARLYCON
1407
1408config SERIAL_MVEBU_UART
1409	bool "Marvell EBU serial port support"
1410	depends on ARCH_MVEBU || COMPILE_TEST
1411	depends on COMMON_CLK
1412	select SERIAL_CORE
1413	help
1414	  This driver is for Marvell EBU SoC's UART. If you have a machine
1415	  based on the Armada-3700 SoC and wish to use the on-board serial
1416	  port,
1417	  say 'Y' here.
1418	  Otherwise, say 'N'.
1419
1420config SERIAL_MVEBU_CONSOLE
1421	bool "Console on Marvell EBU serial port"
1422	depends on SERIAL_MVEBU_UART
1423	select SERIAL_CORE_CONSOLE
1424	select SERIAL_EARLYCON
1425	default y
1426	help
1427	  Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1428	  (the system console is the device which receives all kernel messages
1429	  and warnings and which allows logins in single user mode)
1430	  Otherwise, say 'N'.
1431
1432config SERIAL_OWL
1433	tristate "Actions Semi Owl serial port support"
1434	depends on ARCH_ACTIONS || COMPILE_TEST
1435	select SERIAL_CORE
1436	help
1437	  This driver is for Actions Semiconductor S500/S900 SoC's UART.
1438	  Say 'Y' here if you wish to use the on-board serial port.
1439	  Otherwise, say 'N'.
1440
1441config SERIAL_OWL_CONSOLE
1442	bool "Console on Actions Semi Owl serial port"
1443	depends on SERIAL_OWL=y
1444	select SERIAL_CORE_CONSOLE
1445	select SERIAL_EARLYCON
1446	default y
1447	help
1448	  Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1449	  as the system console.
1450
1451config SERIAL_RDA
1452	bool "RDA Micro serial port support"
1453	depends on ARCH_RDA || COMPILE_TEST
1454	select SERIAL_CORE
1455	help
1456	  This driver is for RDA8810PL SoC's UART.
1457	  Say 'Y' here if you wish to use the on-board serial port.
1458	  Otherwise, say 'N'.
1459
1460config SERIAL_RDA_CONSOLE
1461	bool "Console on RDA Micro serial port"
1462	depends on SERIAL_RDA=y
1463	select SERIAL_CORE_CONSOLE
1464	select SERIAL_EARLYCON
1465	default y
1466	help
1467	  Say 'Y' here if you wish to use the RDA8810PL UART as the system
1468	  console. Only earlycon is implemented currently.
1469
1470config SERIAL_MILBEAUT_USIO
1471	tristate "Milbeaut USIO/UART serial port support"
1472	depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1473	default ARCH_MILBEAUT
1474	select SERIAL_CORE
1475	help
1476	  This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1477
1478config SERIAL_MILBEAUT_USIO_PORTS
1479	int "Maximum number of CSIO/UART ports (1-8)"
1480	range 1 8
1481	depends on SERIAL_MILBEAUT_USIO
1482	default "4"
1483
1484config SERIAL_MILBEAUT_USIO_CONSOLE
1485	bool "Support for console on MILBEAUT USIO/UART serial port"
1486	depends on SERIAL_MILBEAUT_USIO=y
1487	default y
1488	select SERIAL_CORE_CONSOLE
1489	select SERIAL_EARLYCON
1490	help
1491	  Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1492	  SoCs as the system console (the system console is the device which
1493	  receives all kernel messages and warnings and which allows logins in
1494	  single user mode).
1495
1496config SERIAL_LITEUART
1497	tristate "LiteUART serial port support"
1498	depends on HAS_IOMEM
1499	depends on OF
1500	depends on LITEX || COMPILE_TEST
1501	select SERIAL_CORE
1502	help
1503	  This driver is for the FPGA-based LiteUART serial controller from LiteX
1504	  SoC builder.
1505
1506	  Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
1507	  Otherwise, say 'N'.
1508
1509config SERIAL_LITEUART_MAX_PORTS
1510	int "Maximum number of LiteUART ports"
1511	depends on SERIAL_LITEUART
1512	default "1"
1513	help
1514	  Set this to the maximum number of serial ports you want the driver
1515	  to support.
1516
1517config SERIAL_LITEUART_CONSOLE
1518	bool "LiteUART serial port console support"
1519	depends on SERIAL_LITEUART=y
1520	select SERIAL_CORE_CONSOLE
1521	select SERIAL_EARLYCON
1522	help
1523	  Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
1524	  controller from LiteX SoC builder as the system console
1525	  (the system console is the device which receives all kernel messages
1526	  and warnings and which allows logins in single user mode).
1527	  Otherwise, say 'N'.
1528
1529config SERIAL_SUNPLUS
1530	tristate "Sunplus UART support"
1531	depends on ARCH_SUNPLUS || COMPILE_TEST
1532	select SERIAL_CORE
1533	help
1534	  Select this option if you would like to use Sunplus serial port on
1535	  Sunplus SoC SP7021.
1536	  If you enable this option, Sunplus serial ports in the system will
1537	  be registered as ttySUPx.
1538	  This driver can also be built as a module. If so, the module will be
1539	  called sunplus-uart.
1540
1541config SERIAL_SUNPLUS_CONSOLE
1542	bool "Console on Sunplus UART"
1543	depends on SERIAL_SUNPLUS
1544	select SERIAL_CORE_CONSOLE
1545	select SERIAL_EARLYCON
1546	help
1547	  Select this option if you would like to use a Sunplus UART as the
1548	  system console.
1549	  Even if you say Y here, the currently visible virtual console
1550	  (/dev/tty0) will still be used as the system console by default, but
1551	  you can alter that using a kernel command line option such as
1552	  "console=ttySUPx".
1553
1554config SERIAL_NUVOTON_MA35D1
1555	tristate "Nuvoton MA35D1 family UART support"
1556	depends on ARCH_MA35 || COMPILE_TEST
1557	select SERIAL_CORE
1558	help
1559	  This driver supports Nuvoton MA35D1 family UART ports. If you would
1560	  like to use them, you must answer Y or M to this option. Note that
1561	  for use as console, it must be included in kernel and not as a
1562	  module. If you enable this option, Ma35D1 serial ports in the system
1563	  will be registered as ttyNVTx.
1564
1565config SERIAL_NUVOTON_MA35D1_CONSOLE
1566	bool "Console on a Nuvotn MA35D1 family UART port"
1567	depends on SERIAL_NUVOTON_MA35D1=y
1568	select SERIAL_CORE_CONSOLE
1569	help
1570	  Select this options if you'd like to use the UART port0 of the
1571	  Nuvoton MA35D1 family as a console.
1572	  Even if you say Y here, the currently visible virtual console
1573	  (/dev/tty0) will still be used as the system console by default,
1574	  but you can alter that using a kernel command line option such as
1575	  "console=ttyNVTx".
1576
1577config SERIAL_ESP32
1578	tristate "Espressif ESP32 UART support"
1579	depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
1580	select SERIAL_CORE
1581	select SERIAL_CORE_CONSOLE
1582	select SERIAL_EARLYCON
1583	help
1584	  Driver for the UART controllers of the Espressif ESP32xx SoCs.
1585	  When earlycon option is enabled the following kernel command line
1586	  snippets may be used:
1587	    earlycon=esp32s3uart,mmio32,0x60000000,115200n8,40000000
1588	    earlycon=esp32uart,mmio32,0x3ff40000,115200n8
1589
1590config SERIAL_ESP32_ACM
1591	tristate "Espressif ESP32 USB ACM gadget support"
1592	depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
1593	select SERIAL_CORE
1594	select SERIAL_CORE_CONSOLE
1595	select SERIAL_EARLYCON
1596	help
1597	  Driver for the CDC ACM gadget controller of the Espressif ESP32S3
1598	  SoCs that share separate USB controller with the JTAG adapter.
1599	  When earlycon option is enabled the following kernel command line
1600	  snippet may be used:
1601	    earlycon=esp32s3acm,mmio32,0x60038000
1602
1603endmenu
1604
1605config SERIAL_MCTRL_GPIO
1606	tristate