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