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