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