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