Merge branch 'remove-h8300' of git://git.infradead.org/users/hch/misc into asm-generic
[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         select SERIAL_EARLYCON
143         help
144           Say Y here if you wish to use an on-chip UART on a Atmel
145           AT91 processor as the system console (the system
146           console is the device which receives all kernel messages and
147           warnings and which allows logins in single user mode).
148
149 config SERIAL_ATMEL_PDC
150         bool "Support DMA transfers on AT91 serial port"
151         depends on SERIAL_ATMEL
152         default y
153         help
154           Say Y here if you wish to use the PDC to do DMA transfers to
155           and from the Atmel AT91 serial port. In order to
156           actually use DMA transfers, make sure that the use_dma_tx
157           and use_dma_rx members in the atmel_uart_data struct is set
158           appropriately for each port.
159
160           Note that break and error handling currently doesn't work
161           properly when DMA is enabled. Make sure that ports where
162           this matters don't use DMA.
163
164 config SERIAL_ATMEL_TTYAT
165         bool "Install as device ttyATn instead of ttySn"
166         depends on SERIAL_ATMEL=y
167         help
168           Say Y here if you wish to have the internal AT91 UARTs
169           appear as /dev/ttyATn (major 204, minor starting at 154)
170           instead of the normal /dev/ttySn (major 4, minor starting at
171           64). This is necessary if you also want other UARTs, such as
172           external 8250/16C550 compatible UARTs.
173           The ttySn nodes are legally reserved for the 8250 serial driver
174           but are often misused by other serial drivers.
175
176           To use this, you should create suitable ttyATn device nodes in
177           /dev/, and pass "console=ttyATn" to the kernel.
178
179           Say Y if you have an external 8250/16C550 UART.  If unsure, say N.
180
181 config SERIAL_KGDB_NMI
182         bool "Serial console over KGDB NMI debugger port"
183         depends on KGDB_SERIAL_CONSOLE
184         help
185           This special driver allows you to temporary use NMI debugger port
186           as a normal console (assuming that the port is attached to KGDB).
187
188           Unlike KDB's disable_nmi command, with this driver you are always
189           able to go back to the debugger using KGDB escape sequence ($3#33).
190           This is because this console driver processes the input in NMI
191           context, and thus is able to intercept the magic sequence.
192
193           Note that since the console interprets input and uses polling
194           communication methods, for things like PPP you still must fully
195           detach debugger port from the KGDB NMI (i.e. disable_nmi), and
196           use raw console.
197
198           If unsure, say N.
199
200 config SERIAL_MESON
201         tristate "Meson serial port support"
202         depends on ARCH_MESON || COMPILE_TEST
203         select SERIAL_CORE
204         help
205           This enables the driver for the on-chip UARTs of the Amlogic
206           MesonX processors.
207
208 config SERIAL_MESON_CONSOLE
209         bool "Support for console on meson"
210         depends on SERIAL_MESON
211         select SERIAL_CORE_CONSOLE
212         select SERIAL_EARLYCON
213         help
214           Say Y here if you wish to use a Amlogic MesonX UART as the
215           system console (the system console is the device which
216           receives all kernel messages and warnings and which allows
217           logins in single user mode) as /dev/ttyAMLx.
218
219 config SERIAL_CLPS711X
220         tristate "CLPS711X serial port support"
221         depends on ARCH_CLPS711X || COMPILE_TEST
222         select SERIAL_CORE
223         select SERIAL_MCTRL_GPIO if GPIOLIB
224         help
225           This enables the driver for the on-chip UARTs of the Cirrus
226           Logic EP711x/EP721x/EP731x processors.
227
228 config SERIAL_CLPS711X_CONSOLE
229         bool "Support for console on CLPS711X serial port"
230         depends on SERIAL_CLPS711X=y
231         select SERIAL_CORE_CONSOLE
232         help
233           Even if you say Y here, the currently visible virtual console
234           (/dev/tty0) will still be used as the system console by default, but
235           you can alter that using a kernel command line option such as
236           "console=ttyCL1".
237
238 config SERIAL_SAMSUNG
239         tristate "Samsung SoC serial support"
240         depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || ARCH_ARTPEC || COMPILE_TEST
241         select SERIAL_CORE
242         help
243           Support for the on-chip UARTs on the Samsung
244           S3C24xx/S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
245           /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
246           these ports, depending on how the serial port pins are configured.
247           Choose Y/M here only if you build for such SoC.
248
249 config SERIAL_SAMSUNG_UARTS_4
250         bool
251         depends on SERIAL_SAMSUNG
252         default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442)
253         help
254           Internal node for the common case of 4 Samsung compatible UARTs
255
256 config SERIAL_SAMSUNG_UARTS
257         int
258         depends on SERIAL_SAMSUNG
259         default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416
260         default 3
261         help
262           Select the number of available UART ports for the Samsung S3C
263           serial driver
264
265 config SERIAL_SAMSUNG_CONSOLE
266         bool "Support for console on Samsung SoC serial port"
267         depends on SERIAL_SAMSUNG
268         select SERIAL_CORE_CONSOLE
269         select SERIAL_EARLYCON
270         help
271           Allow selection of the S3C24XX on-board serial ports for use as
272           an virtual console.
273
274           Even if you say Y here, the currently visible virtual console
275           (/dev/tty0) will still be used as the system console by default, but
276           you can alter that using a kernel command line option such as
277           "console=ttySACx". (Try "man bootparam" or see the documentation of
278           your boot loader about how to pass options to the kernel at
279           boot time.)
280
281 config SERIAL_TEGRA
282         tristate "NVIDIA Tegra20/30 SoC serial controller"
283         depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
284         select SERIAL_CORE
285         help
286           Support for the on-chip UARTs on the NVIDIA Tegra series SOCs
287           providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not
288           provide all of these ports, depending on how the serial port
289           are enabled). This driver uses the APB DMA to achieve higher baudrate
290           and better performance.
291
292 config SERIAL_TEGRA_TCU
293         tristate "NVIDIA Tegra Combined UART"
294         depends on MAILBOX
295         depends on (ARCH_TEGRA && TEGRA_HSP_MBOX) || COMPILE_TEST
296         select SERIAL_CORE
297         help
298           Support for the mailbox-based TCU (Tegra Combined UART) serial port.
299           TCU is a virtual serial port that allows multiplexing multiple data
300           streams into a single hardware serial port.
301
302 config SERIAL_TEGRA_TCU_CONSOLE
303         bool "Support for console on a Tegra TCU serial port"
304         depends on SERIAL_TEGRA_TCU=y
305         select SERIAL_CORE_CONSOLE
306         default y
307         help
308           If you say Y here, it will be possible to use a the Tegra TCU as the
309           system console (the system console is the device which receives all
310           kernel messages and warnings and which allows logins in single user
311           mode).
312
313           If unsure, say Y.
314
315 config SERIAL_MAX3100
316         tristate "MAX3100 support"
317         depends on SPI
318         select SERIAL_CORE
319         help
320           MAX3100 chip support
321
322 config SERIAL_MAX310X
323         tristate "MAX310X support"
324         depends on SPI_MASTER
325         select SERIAL_CORE
326         select REGMAP_SPI if SPI_MASTER
327         help
328           This selects support for an advanced UART from Maxim (Dallas).
329           Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
330           Each IC contains 128 words each of receive and transmit FIFO
331           that can be controlled through I2C or high-speed SPI.
332
333           Say Y here if you want to support this ICs.
334
335 config SERIAL_DZ
336         bool "DECstation DZ serial driver"
337         depends on MACH_DECSTATION && 32BIT
338         select SERIAL_CORE
339         default y
340         help
341           DZ11-family serial controllers for DECstations and VAXstations,
342           including the DC7085, M7814, and M7819.
343
344 config SERIAL_DZ_CONSOLE
345         bool "Support console on DECstation DZ serial driver"
346         depends on SERIAL_DZ=y
347         select SERIAL_CORE_CONSOLE
348         default y
349         help
350           If you say Y here, it will be possible to use a serial port as the
351           system console (the system console is the device which receives all
352           kernel messages and warnings and which allows logins in single user
353           mode).
354
355           Note that the firmware uses ttyS3 as the serial console on
356           DECstations that use this driver.
357
358           If unsure, say Y.
359
360 config SERIAL_ZS
361         tristate "DECstation Z85C30 serial support"
362         depends on MACH_DECSTATION
363         select SERIAL_CORE
364         default y
365         help
366           Support for the Zilog 85C350 serial communications controller used
367           for serial ports in newer DECstation systems.  These include the
368           DECsystem 5900 and all models of the DECstation and DECsystem 5000
369           systems except from model 200.
370
371           If unsure, say Y.  To compile this driver as a module, choose M here:
372           the module will be called zs.
373
374 config SERIAL_ZS_CONSOLE
375         bool "Support for console on a DECstation Z85C30 serial port"
376         depends on SERIAL_ZS=y
377         select SERIAL_CORE_CONSOLE
378         default y
379         help
380           If you say Y here, it will be possible to use a serial port as the
381           system console (the system console is the device which receives all
382           kernel messages and warnings and which allows logins in single user
383           mode).
384
385           Note that the firmware uses ttyS1 as the serial console on the
386           Maxine and ttyS3 on the others using this driver.
387
388           If unsure, say Y.
389
390 config SERIAL_21285
391         tristate "DC21285 serial port support"
392         depends on FOOTBRIDGE
393         select SERIAL_CORE
394         help
395           If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
396           PCI bridge you can enable its onboard serial port by enabling this
397           option.
398
399 config SERIAL_21285_CONSOLE
400         bool "Console on DC21285 serial port"
401         depends on SERIAL_21285=y
402         select SERIAL_CORE_CONSOLE
403         help
404           If you have enabled the serial port on the 21285 footbridge you can
405           make it the console by answering Y to this option.
406
407           Even if you say Y here, the currently visible virtual console
408           (/dev/tty0) will still be used as the system console by default, but
409           you can alter that using a kernel command line option such as
410           "console=ttyFB". (Try "man bootparam" or see the documentation of
411           your boot loader (lilo or loadlin) about how to pass options to the
412           kernel at boot time.)
413
414 config SERIAL_PXA
415         bool "PXA serial port support (DEPRECATED)"
416         depends on ARCH_PXA || ARCH_MMP
417         select SERIAL_CORE
418         select SERIAL_8250_PXA if SERIAL_8250=y
419         select SERIAL_PXA_NON8250 if !SERIAL_8250=y
420         help
421           If you have a machine based on an Intel XScale PXA2xx CPU you
422           can enable its onboard serial ports by enabling this option.
423
424           Unless you have a specific need, you should use SERIAL_8250_PXA
425           instead of this.
426
427 config SERIAL_PXA_NON8250
428         bool
429         depends on !SERIAL_8250
430
431 config SERIAL_PXA_CONSOLE
432         bool "Console on PXA serial port (DEPRECATED)"
433         depends on SERIAL_PXA
434         select SERIAL_CORE_CONSOLE
435         select SERIAL_8250_CONSOLE if SERIAL_8250=y
436         help
437           If you have enabled the serial port on the Intel XScale PXA
438           CPU you can make it the console by answering Y to this option.
439
440           Even if you say Y here, the currently visible virtual console
441           (/dev/tty0) will still be used as the system console by default, but
442           you can alter that using a kernel command line option such as
443           "console=ttySA0". (Try "man bootparam" or see the documentation of
444           your boot loader (lilo or loadlin) about how to pass options to the
445           kernel at boot time.)
446
447           Unless you have a specific need, you should use SERIAL_8250_PXA
448           and SERIAL_8250_CONSOLE instead of this.
449
450 config SERIAL_SA1100
451         bool "SA1100 serial port support"
452         depends on ARCH_SA1100
453         select SERIAL_CORE
454         select SERIAL_MCTRL_GPIO if GPIOLIB
455         help
456           If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
457           can enable its onboard serial port by enabling this option.
458           Please read <file:Documentation/arm/sa1100/serial_uart.rst> for further
459           info.
460
461 config SERIAL_SA1100_CONSOLE
462         bool "Console on SA1100 serial port"
463         depends on SERIAL_SA1100
464         select SERIAL_CORE_CONSOLE
465         help
466           If you have enabled the serial port on the SA1100/SA1110 StrongARM
467           CPU you can make it the console by answering Y to this option.
468
469           Even if you say Y here, the currently visible virtual console
470           (/dev/tty0) will still be used as the system console by default, but
471           you can alter that using a kernel command line option such as
472           "console=ttySA0". (Try "man bootparam" or see the documentation of
473           your boot loader (lilo or loadlin) about how to pass options to the
474           kernel at boot time.)
475
476 config SERIAL_IMX
477         tristate "IMX serial port support"
478         depends on ARCH_MXC || COMPILE_TEST
479         select SERIAL_CORE
480         select RATIONAL
481         select SERIAL_MCTRL_GPIO if GPIOLIB
482         help
483           If you have a machine based on a Motorola IMX CPU you
484           can enable its onboard serial port by enabling this option.
485
486 config SERIAL_IMX_CONSOLE
487         tristate "Console on IMX serial port"
488         depends on SERIAL_IMX
489         select SERIAL_CORE_CONSOLE
490         help
491           If you have enabled the serial port on the Freescale IMX
492           CPU you can make it the console by answering Y/M to this option.
493
494           Even if you say Y/M here, the currently visible virtual console
495           (/dev/tty0) will still be used as the system console by default, but
496           you can alter that using a kernel command line option such as
497           "console=ttymxc0". (Try "man bootparam" or see the documentation of
498           your bootloader about how to pass options to the kernel at boot time.)
499
500 config SERIAL_IMX_EARLYCON
501         bool "Earlycon on IMX serial port"
502         depends on ARCH_MXC || COMPILE_TEST
503         depends on OF
504         select SERIAL_CORE
505         select SERIAL_EARLYCON
506         select SERIAL_CORE_CONSOLE
507         default y if SERIAL_IMX_CONSOLE
508         help
509           If you have enabled the earlycon on the Freescale IMX
510           CPU you can make it the earlycon by answering Y to this option.
511
512 config SERIAL_UARTLITE
513         tristate "Xilinx uartlite serial port support"
514         depends on HAS_IOMEM
515         select SERIAL_CORE
516         help
517           Say Y here if you want to use the Xilinx uartlite serial controller.
518
519           To compile this driver as a module, choose M here: the
520           module will be called uartlite.
521
522 config SERIAL_UARTLITE_CONSOLE
523         bool "Support for console on Xilinx uartlite serial port"
524         depends on SERIAL_UARTLITE=y
525         select SERIAL_CORE_CONSOLE
526         select SERIAL_EARLYCON
527         help
528           Say Y here if you wish to use a Xilinx uartlite as the system
529           console (the system console is the device which receives all kernel
530           messages and warnings and which allows logins in single user mode).
531
532 config SERIAL_UARTLITE_NR_UARTS
533         int "Maximum number of uartlite serial ports"
534         depends on SERIAL_UARTLITE
535         range 1 256
536         default 1
537         help
538           Set this to the number of uartlites in your system, or the number
539           you think you might implement.
540
541 config SERIAL_SUNCORE
542         bool
543         depends on SPARC
544         select SERIAL_CORE
545         select SERIAL_CORE_CONSOLE
546         default y
547
548 config SERIAL_SUNZILOG
549         tristate "Sun Zilog8530 serial support"
550         depends on SPARC
551         help
552           This driver supports the Zilog8530 serial ports found on many Sparc
553           systems.  Say Y or M if you want to be able to these serial ports.
554
555 config SERIAL_SUNZILOG_CONSOLE
556         bool "Console on Sun Zilog8530 serial port"
557         depends on SERIAL_SUNZILOG=y
558         help
559           If you would like to be able to use the Zilog8530 serial port
560           on your Sparc system as the console, you can do so by answering
561           Y to this option.
562
563 config SERIAL_SUNSU
564         tristate "Sun SU serial support"
565         depends on SPARC && PCI
566         help
567           This driver supports the 8250 serial ports that run the keyboard and
568           mouse on (PCI) UltraSPARC systems.  Say Y or M if you want to be able
569           to these serial ports.
570
571 config SERIAL_SUNSU_CONSOLE
572         bool "Console on Sun SU serial port"
573         depends on SERIAL_SUNSU=y
574         help
575           If you would like to be able to use the SU serial port
576           on your Sparc system as the console, you can do so by answering
577           Y to this option.
578
579 config SERIAL_MUX
580         tristate "Serial MUX support"
581         depends on GSC
582         select SERIAL_CORE
583         default y
584         help
585           Saying Y here will enable the hardware MUX serial driver for
586           the Nova, K class systems and D class with a 'remote control card'.
587           The hardware MUX is not 8250/16550 compatible therefore the
588           /dev/ttyB0 device is shared between the Serial MUX and the PDC
589           software console. The following steps need to be completed to use
590           the Serial MUX:
591
592             1. create the device entry (mknod /dev/ttyB0 c 11 0)
593             2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
594             3. Add device ttyB0 to /etc/securetty (if you want to log on as
595                  root on this console.)
596             4. Change the kernel command console parameter to: console=ttyB0
597
598 config SERIAL_MUX_CONSOLE
599         bool "Support for console on serial MUX"
600         depends on SERIAL_MUX=y
601         select SERIAL_CORE_CONSOLE
602         default y
603
604 config PDC_CONSOLE
605         bool "PDC software console support"
606         depends on PARISC && !SERIAL_MUX && VT
607         help
608           Saying Y here will enable the software based PDC console to be 
609           used as the system console.  This is useful for machines in 
610           which the hardware based console has not been written yet.  The
611           following steps must be completed to use the PDC console:
612
613             1. create the device entry (mknod /dev/ttyB0 c 11 0)
614             2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
615             3. Add device ttyB0 to /etc/securetty (if you want to log on as
616                  root on this console.)
617             4. Change the kernel command console parameter to: console=ttyB0
618
619 config SERIAL_SUNSAB
620         tristate "Sun Siemens SAB82532 serial support"
621         depends on SPARC && PCI
622         help
623           This driver supports the Siemens SAB82532 DUSCC serial ports on newer
624           (PCI) UltraSPARC systems.  Say Y or M if you want to be able to these
625           serial ports.
626
627 config SERIAL_SUNSAB_CONSOLE
628         bool "Console on Sun Siemens SAB82532 serial port"
629         depends on SERIAL_SUNSAB=y
630         help
631           If you would like to be able to use the SAB82532 serial port
632           on your Sparc system as the console, you can do so by answering
633           Y to this option.
634
635 config SERIAL_SUNHV
636         bool "Sun4v Hypervisor Console support"
637         depends on SPARC64
638         help
639           This driver supports the console device found on SUN4V Sparc
640           systems.  Say Y if you want to be able to use this device.
641
642 config SERIAL_IP22_ZILOG
643         tristate "SGI Zilog8530 serial support"
644         depends on SGI_HAS_ZILOG
645         select SERIAL_CORE
646         help
647           This driver supports the Zilog8530 serial ports found on SGI
648           systems.  Say Y or M if you want to be able to these serial ports.
649
650 config SERIAL_IP22_ZILOG_CONSOLE
651         bool "Console on SGI Zilog8530 serial port"
652         depends on SERIAL_IP22_ZILOG=y
653         select SERIAL_CORE_CONSOLE
654
655 config SERIAL_SH_SCI
656         tristate "SuperH SCI(F) serial port support"
657         depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
658         select SERIAL_CORE
659         select SERIAL_MCTRL_GPIO if GPIOLIB
660
661 config SERIAL_SH_SCI_NR_UARTS
662         int "Maximum number of SCI(F) serial ports" if EXPERT
663         range 1 64 if 64BIT
664         range 1 32 if !64BIT
665         depends on SERIAL_SH_SCI
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
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 ARCH_BCM4908 || ARCH_BCM_63XX || BCM63XX || BMIPS_GENERIC || COMPILE_TEST
1103         default ARCH_BCM4908 || ARCH_BCM_63XX || BCM63XX || BMIPS_GENERIC
1104         help
1105           This enables the driver for the onchip UART core found on
1106           the following chipsets:
1107
1108             BCM33xx (cable modem)
1109             BCM63xx/BCM63xxx (DSL)
1110             BCM68xx (PON)
1111             BCM7xxx (STB) - DOCSIS console
1112
1113 config SERIAL_BCM63XX_CONSOLE
1114         bool "Console on BCM63xx serial port"
1115         depends on SERIAL_BCM63XX=y
1116         select SERIAL_CORE_CONSOLE
1117         select SERIAL_EARLYCON
1118         help
1119           If you have enabled the serial port on the BCM63xx CPU
1120           you can make it the console by answering Y to this option.
1121
1122 config SERIAL_GRLIB_GAISLER_APBUART
1123         tristate "GRLIB APBUART serial support"
1124         depends on OF && SPARC
1125         select SERIAL_CORE
1126         help
1127         Add support for the GRLIB APBUART serial port.
1128
1129 config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1130         bool "Console on GRLIB APBUART serial port"
1131         depends on SERIAL_GRLIB_GAISLER_APBUART=y
1132         select SERIAL_CORE_CONSOLE
1133         help
1134         Support for running a console on the GRLIB APBUART
1135
1136 config SERIAL_ALTERA_JTAGUART
1137         tristate "Altera JTAG UART support"
1138         select SERIAL_CORE
1139         help
1140           This driver supports the Altera JTAG UART port.
1141
1142 config SERIAL_ALTERA_JTAGUART_CONSOLE
1143         bool "Altera JTAG UART console support"
1144         depends on SERIAL_ALTERA_JTAGUART=y
1145         select SERIAL_CORE_CONSOLE
1146         select SERIAL_EARLYCON
1147         help
1148           Enable a Altera JTAG UART port to be the system console.
1149
1150 config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1151         bool "Bypass output when no connection"
1152         depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1153         select SERIAL_CORE_CONSOLE
1154         help
1155           Bypass console output and keep going even if there is no
1156           JTAG terminal connection with the host.
1157
1158 config SERIAL_ALTERA_UART
1159         tristate "Altera UART support"
1160         select SERIAL_CORE
1161         help
1162           This driver supports the Altera softcore UART port.
1163
1164 config SERIAL_ALTERA_UART_MAXPORTS
1165         int "Maximum number of Altera UART ports"
1166         depends on SERIAL_ALTERA_UART
1167         default 4
1168         help
1169           This setting lets you define the maximum number of the Altera
1170           UART ports. The usual default varies from board to board, and
1171           this setting is a way of catering for that.
1172
1173 config SERIAL_ALTERA_UART_BAUDRATE
1174         int "Default baudrate for Altera UART ports"
1175         depends on SERIAL_ALTERA_UART
1176         default 115200
1177         help
1178           This setting lets you define what the default baudrate is for the
1179           Altera UART ports. The usual default varies from board to board,
1180           and this setting is a way of catering for that.
1181
1182 config SERIAL_ALTERA_UART_CONSOLE
1183         bool "Altera UART console support"
1184         depends on SERIAL_ALTERA_UART=y
1185         select SERIAL_CORE_CONSOLE
1186         select SERIAL_EARLYCON
1187         help
1188           Enable a Altera UART port to be the system console.
1189
1190 config SERIAL_PCH_UART
1191         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1192         depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1193         select SERIAL_CORE
1194         help
1195           This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1196           which is an IOH(Input/Output Hub) for x86 embedded processor.
1197           Enabling PCH_DMA, this PCH UART works as DMA mode.
1198
1199           This driver also can be used for LAPIS Semiconductor IOH(Input/
1200           Output Hub), ML7213, ML7223 and ML7831.
1201           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1202           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1203           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1204           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1205
1206 config SERIAL_PCH_UART_CONSOLE
1207         bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1208         depends on SERIAL_PCH_UART=y
1209         select SERIAL_CORE_CONSOLE
1210         help
1211           Say Y here if you wish to use the PCH UART as the system console
1212           (the system  console is the device which receives all kernel messages and
1213           warnings and which allows logins in single user mode).
1214
1215 config SERIAL_MXS_AUART
1216         tristate "MXS AUART support"
1217         depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1218         select SERIAL_CORE
1219         select SERIAL_MCTRL_GPIO if GPIOLIB
1220         help
1221           This driver supports the MXS and Alphascale ASM9260 Application
1222           UART (AUART) port.
1223
1224 config SERIAL_MXS_AUART_CONSOLE
1225         bool "MXS AUART console support"
1226         depends on SERIAL_MXS_AUART=y
1227         select SERIAL_CORE_CONSOLE
1228         help
1229           Enable a MXS AUART port to be the system console.
1230
1231 config SERIAL_XILINX_PS_UART
1232         tristate "Cadence (Xilinx Zynq) UART support"
1233         depends on OF
1234         select SERIAL_CORE
1235         help
1236           This driver supports the Cadence UART. It is found e.g. in Xilinx
1237           Zynq.
1238
1239 config SERIAL_XILINX_PS_UART_CONSOLE
1240         bool "Cadence UART console support"
1241         depends on SERIAL_XILINX_PS_UART=y
1242         select SERIAL_CORE_CONSOLE
1243         select SERIAL_EARLYCON
1244         help
1245           Enable a Cadence UART port to be the system console.
1246
1247 config SERIAL_AR933X
1248         tristate "AR933X serial port support"
1249         depends on HAVE_CLK && ATH79
1250         select SERIAL_CORE
1251         select SERIAL_MCTRL_GPIO if GPIOLIB
1252         help
1253           If you have an Atheros AR933X SOC based board and want to use the
1254           built-in UART of the SoC, say Y to this option.
1255
1256           To compile this driver as a module, choose M here: the
1257           module will be called ar933x_uart.
1258
1259 config SERIAL_AR933X_CONSOLE
1260         bool "Console on AR933X serial port"
1261         depends on SERIAL_AR933X=y
1262         select SERIAL_CORE_CONSOLE
1263         help
1264           Enable a built-in UART port of the AR933X to be the system console.
1265
1266 config SERIAL_AR933X_NR_UARTS
1267         int "Maximum number of AR933X serial ports"
1268         depends on SERIAL_AR933X
1269         default "2"
1270         help
1271           Set this to the number of serial ports you want the driver
1272           to support.
1273
1274 config SERIAL_MPS2_UART_CONSOLE
1275         bool "MPS2 UART console support"
1276         depends on SERIAL_MPS2_UART
1277         select SERIAL_CORE_CONSOLE
1278         select SERIAL_EARLYCON
1279
1280 config SERIAL_MPS2_UART
1281         bool "MPS2 UART port"
1282         depends on ARCH_MPS2 || COMPILE_TEST
1283         select SERIAL_CORE
1284         help
1285           This driver support the UART ports on ARM MPS2.
1286
1287 config SERIAL_ARC
1288         tristate "ARC UART driver support"
1289         select SERIAL_CORE
1290         help
1291           Driver for on-chip UART for ARC(Synopsys) for the legacy
1292           FPGA Boards (ML50x/ARCAngel4)
1293
1294 config SERIAL_ARC_CONSOLE
1295         bool "Console on ARC UART"
1296         depends on SERIAL_ARC=y
1297         select SERIAL_CORE_CONSOLE
1298         select SERIAL_EARLYCON
1299         help
1300           Enable system Console on ARC UART
1301
1302 config SERIAL_ARC_NR_PORTS
1303         int "Number of ARC UART ports"
1304         depends on SERIAL_ARC
1305         range 1 3
1306         default "1"
1307         help
1308           Set this to the number of serial ports you want the driver
1309           to support.
1310
1311 config SERIAL_RP2
1312         tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1313         depends on PCI
1314         select SERIAL_CORE
1315         help
1316           This driver supports the Comtrol RocketPort EXPRESS and
1317           RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1318           These adapters use a "RocketPort 2" ASIC that is not compatible
1319           with the original RocketPort driver (CONFIG_ROCKETPORT).
1320
1321           To compile this driver as a module, choose M here: the
1322           module will be called rp2.
1323
1324           If you want to compile this driver into the kernel, say Y here.  If
1325           you don't have a suitable RocketPort card installed, say N.
1326
1327 config SERIAL_RP2_NR_UARTS
1328         int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1329         depends on SERIAL_RP2
1330         default "32"
1331         help
1332           If multiple cards are present, the default limit of 32 ports may
1333           need to be increased.
1334
1335 config SERIAL_FSL_LPUART
1336         tristate "Freescale lpuart serial port support"
1337         depends on HAS_DMA
1338         select SERIAL_CORE
1339         help
1340           Support for the on-chip lpuart on some Freescale SOCs.
1341
1342 config SERIAL_FSL_LPUART_CONSOLE
1343         bool "Console on Freescale lpuart serial port"
1344         depends on SERIAL_FSL_LPUART=y
1345         select SERIAL_CORE_CONSOLE
1346         select SERIAL_EARLYCON
1347         help
1348           If you have enabled the lpuart serial port on the Freescale SoCs,
1349           you can make it the console by answering Y to this option.
1350
1351 config SERIAL_FSL_LINFLEXUART
1352         tristate "Freescale LINFlexD UART serial port support"
1353         depends on PRINTK
1354         select SERIAL_CORE
1355         help
1356           Support for the on-chip LINFlexD UART on some Freescale SOCs.
1357
1358 config SERIAL_FSL_LINFLEXUART_CONSOLE
1359         bool "Console on Freescale LINFlexD UART serial port"
1360         depends on SERIAL_FSL_LINFLEXUART=y
1361         select SERIAL_CORE_CONSOLE
1362         select SERIAL_EARLYCON
1363         help
1364           If you have enabled the LINFlexD UART serial port on the Freescale
1365           SoCs, you can make it the console by answering Y to this option.
1366
1367 config SERIAL_CONEXANT_DIGICOLOR
1368         tristate "Conexant Digicolor CX92xxx USART serial port support"
1369         depends on OF
1370         select SERIAL_CORE
1371         help
1372           Support for the on-chip USART on Conexant Digicolor SoCs.
1373
1374 config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1375         bool "Console on Conexant Digicolor serial port"
1376         depends on SERIAL_CONEXANT_DIGICOLOR=y
1377         select SERIAL_CORE_CONSOLE
1378         help
1379           If you have enabled the USART serial port on Conexant Digicolor
1380           SoCs, you can make it the console by answering Y to this option.
1381
1382 config SERIAL_ST_ASC
1383         tristate "ST ASC serial port support"
1384         select SERIAL_CORE
1385         depends on ARM || COMPILE_TEST
1386         help
1387           This driver is for the on-chip Asynchronous Serial Controller on
1388           STMicroelectronics STi SoCs.
1389           ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1390           It support all industry standard baud rates.
1391
1392           If unsure, say N.
1393
1394 config SERIAL_ST_ASC_CONSOLE
1395         bool "Support for console on ST ASC"
1396         depends on SERIAL_ST_ASC=y
1397         select SERIAL_CORE_CONSOLE
1398
1399 config SERIAL_MEN_Z135
1400         tristate "MEN 16z135 Support"
1401         select SERIAL_CORE
1402         depends on MCB
1403         help
1404           Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1405           on a MCB carrier.
1406
1407           This driver can also be build as a module. If so, the module will be called
1408           men_z135_uart.ko
1409
1410 config SERIAL_SPRD
1411         tristate "Support for Spreadtrum serial"
1412         select SERIAL_CORE
1413         depends on COMMON_CLK
1414         help
1415           This enables the driver for the Spreadtrum's serial.
1416
1417 config SERIAL_SPRD_CONSOLE
1418         bool "Spreadtrum UART console support"
1419         depends on SERIAL_SPRD=y
1420         select SERIAL_CORE_CONSOLE
1421         select SERIAL_EARLYCON
1422         help
1423           Support for early debug console using Spreadtrum's serial. This enables
1424           the console before standard serial driver is probed. This is enabled
1425           with "earlycon" on the kernel command line. The console is
1426           enabled when early_param is processed.
1427
1428 config SERIAL_STM32
1429         tristate "STMicroelectronics STM32 serial port support"
1430         select SERIAL_CORE
1431         depends on ARCH_STM32 || COMPILE_TEST
1432         select SERIAL_MCTRL_GPIO if GPIOLIB
1433         help
1434           This driver is for the on-chip Serial Controller on
1435           STMicroelectronics STM32 MCUs.
1436           USART supports Rx & Tx functionality.
1437           It support all industry standard baud rates.
1438
1439           If unsure, say N.
1440
1441 config SERIAL_STM32_CONSOLE
1442         bool "Support for console on STM32"
1443         depends on SERIAL_STM32=y
1444         select SERIAL_CORE_CONSOLE
1445
1446 config SERIAL_MVEBU_UART
1447         bool "Marvell EBU serial port support"
1448         depends on ARCH_MVEBU || COMPILE_TEST
1449         depends on COMMON_CLK
1450         select SERIAL_CORE
1451         help
1452           This driver is for Marvell EBU SoC's UART. If you have a machine
1453           based on the Armada-3700 SoC and wish to use the on-board serial
1454           port,
1455           say 'Y' here.
1456           Otherwise, say 'N'.
1457
1458 config SERIAL_MVEBU_CONSOLE
1459         bool "Console on Marvell EBU serial port"
1460         depends on SERIAL_MVEBU_UART
1461         select SERIAL_CORE_CONSOLE
1462         select SERIAL_EARLYCON
1463         default y
1464         help
1465           Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1466           (the system console is the device which receives all kernel messages
1467           and warnings and which allows logins in single user mode)
1468           Otherwise, say 'N'.
1469
1470 config SERIAL_OWL
1471         tristate "Actions Semi Owl serial port support"
1472         depends on ARCH_ACTIONS || COMPILE_TEST
1473         select SERIAL_CORE
1474         help
1475           This driver is for Actions Semiconductor S500/S900 SoC's UART.
1476           Say 'Y' here if you wish to use the on-board serial port.
1477           Otherwise, say 'N'.
1478
1479 config SERIAL_OWL_CONSOLE
1480         bool "Console on Actions Semi Owl serial port"
1481         depends on SERIAL_OWL=y
1482         select SERIAL_CORE_CONSOLE
1483         select SERIAL_EARLYCON
1484         default y
1485         help
1486           Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1487           as the system console.
1488
1489 config SERIAL_RDA
1490         bool "RDA Micro serial port support"
1491         depends on ARCH_RDA || COMPILE_TEST
1492         select SERIAL_CORE
1493         help
1494           This driver is for RDA8810PL SoC's UART.
1495           Say 'Y' here if you wish to use the on-board serial port.
1496           Otherwise, say 'N'.
1497
1498 config SERIAL_RDA_CONSOLE
1499         bool "Console on RDA Micro serial port"
1500         depends on SERIAL_RDA=y
1501         select SERIAL_CORE_CONSOLE
1502         select SERIAL_EARLYCON
1503         default y
1504         help
1505           Say 'Y' here if you wish to use the RDA8810PL UART as the system
1506           console. Only earlycon is implemented currently.
1507
1508 config SERIAL_MILBEAUT_USIO
1509         tristate "Milbeaut USIO/UART serial port support"
1510         depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1511         default ARCH_MILBEAUT
1512         select SERIAL_CORE
1513         help
1514           This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1515
1516 config SERIAL_MILBEAUT_USIO_PORTS
1517         int "Maximum number of CSIO/UART ports (1-8)"
1518         range 1 8
1519         depends on SERIAL_MILBEAUT_USIO
1520         default "4"
1521
1522 config SERIAL_MILBEAUT_USIO_CONSOLE
1523         bool "Support for console on MILBEAUT USIO/UART serial port"
1524         depends on SERIAL_MILBEAUT_USIO=y
1525         default y
1526         select SERIAL_CORE_CONSOLE
1527         select SERIAL_EARLYCON
1528         help
1529           Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1530           SoCs as the system console (the system console is the device which
1531           receives all kernel messages and warnings and which allows logins in
1532           single user mode).
1533
1534 config SERIAL_LITEUART
1535         tristate "LiteUART serial port support"
1536         depends on HAS_IOMEM
1537         depends on OF || COMPILE_TEST
1538         depends on LITEX || COMPILE_TEST
1539         select SERIAL_CORE
1540         help
1541           This driver is for the FPGA-based LiteUART serial controller from LiteX
1542           SoC builder.
1543
1544           Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
1545           Otherwise, say 'N'.
1546
1547 config SERIAL_LITEUART_MAX_PORTS
1548         int "Maximum number of LiteUART ports"
1549         depends on SERIAL_LITEUART
1550         default "1"
1551         help
1552           Set this to the maximum number of serial ports you want the driver
1553           to support.
1554
1555 config SERIAL_LITEUART_CONSOLE
1556         bool "LiteUART serial port console support"
1557         depends on SERIAL_LITEUART=y
1558         select SERIAL_CORE_CONSOLE
1559         select SERIAL_EARLYCON
1560         help
1561           Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
1562           controller from LiteX SoC builder as the system console
1563           (the system console is the device which receives all kernel messages
1564           and warnings and which allows logins in single user mode).
1565           Otherwise, say 'N'.
1566
1567 config SERIAL_SUNPLUS
1568         tristate "Sunplus UART support"
1569         depends on ARCH_SUNPLUS || COMPILE_TEST
1570         select SERIAL_CORE
1571         help
1572           Select this option if you would like to use Sunplus serial port on
1573           Sunplus SoC SP7021.
1574           If you enable this option, Sunplus serial ports in the system will
1575           be registered as ttySUPx.
1576           This driver can also be built as a module. If so, the module will be
1577           called sunplus-uart.
1578
1579 config SERIAL_SUNPLUS_CONSOLE
1580         bool "Console on Sunplus UART"
1581         depends on SERIAL_SUNPLUS
1582         select SERIAL_CORE_CONSOLE
1583         select SERIAL_EARLYCON
1584         help
1585           Select this option if you would like to use a Sunplus UART as the
1586           system console.
1587           Even if you say Y here, the currently visible virtual console
1588           (/dev/tty0) will still be used as the system console by default, but
1589           you can alter that using a kernel command line option such as
1590           "console=ttySUPx".
1591
1592 endmenu
1593
1594 config SERIAL_MCTRL_GPIO
1595         tristate