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