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