driver core: Make Kconfig text for DEBUG_TEST_DRIVER_REMOVE stronger
[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         select SERIAL_MCTRL_GPIO if GPIOLIB
740
741 config SERIAL_SH_SCI_NR_UARTS
742         int "Maximum number of SCI(F) serial ports"
743         depends on SERIAL_SH_SCI
744         default "2"
745
746 config SERIAL_SH_SCI_CONSOLE
747         bool "Support for console on SuperH SCI(F)"
748         depends on SERIAL_SH_SCI=y
749         select SERIAL_CORE_CONSOLE
750
751 config SERIAL_SH_SCI_EARLYCON
752         bool "Support for early console on SuperH SCI(F)"
753         depends on SERIAL_SH_SCI=y
754         select SERIAL_CORE_CONSOLE
755         select SERIAL_EARLYCON
756
757 config SERIAL_SH_SCI_DMA
758         bool "DMA support"
759         depends on SERIAL_SH_SCI && DMA_ENGINE
760
761 config SERIAL_PNX8XXX
762         bool "Enable PNX8XXX SoCs' UART Support"
763         depends on SOC_PNX833X
764         select SERIAL_CORE
765         help
766           If you have a MIPS-based Philips SoC such as PNX8330 and you want
767           to use serial ports, say Y.  Otherwise, say N.
768
769 config SERIAL_PNX8XXX_CONSOLE
770         bool "Enable PNX8XX0 serial console"
771         depends on SERIAL_PNX8XXX
772         select SERIAL_CORE_CONSOLE
773         help
774           If you have a MIPS-based Philips SoC such as PNX8330 and you want
775           to use serial console, say Y. Otherwise, say N.
776
777 config SERIAL_HS_LPC32XX
778         tristate "LPC32XX high speed serial port support"
779         depends on ARCH_LPC32XX && OF
780         select SERIAL_CORE
781         help
782           Support for the LPC32XX high speed serial ports (up to 900kbps).
783           Those are UARTs completely different from the Standard UARTs on the
784           LPC32XX SoC.
785           Choose M or Y here to build this driver.
786
787 config SERIAL_HS_LPC32XX_CONSOLE
788         bool "Enable LPC32XX high speed UART serial console"
789         depends on SERIAL_HS_LPC32XX=y
790         select SERIAL_CORE_CONSOLE
791         help
792           If you would like to be able to use one of the high speed serial
793           ports on the LPC32XX as the console, you can do so by answering
794           Y to this option.
795
796 config SERIAL_CORE
797         tristate
798
799 config SERIAL_CORE_CONSOLE
800         bool
801
802 config CONSOLE_POLL
803         bool
804
805 config SERIAL_MCF
806         bool "Coldfire serial support"
807         depends on COLDFIRE
808         select SERIAL_CORE
809         help
810           This serial driver supports the Freescale Coldfire serial ports.
811
812 config SERIAL_MCF_BAUDRATE
813         int "Default baudrate for Coldfire serial ports"
814         depends on SERIAL_MCF
815         default 19200
816         help
817           This setting lets you define what the default baudrate is for the
818           ColdFire serial ports. The usual default varies from board to board,
819           and this setting is a way of catering for that.
820
821 config SERIAL_MCF_CONSOLE
822         bool "Coldfire serial console support"
823         depends on SERIAL_MCF
824         select SERIAL_CORE_CONSOLE
825         help
826           Enable a ColdFire internal serial port to be the system console.
827
828 config SERIAL_PMACZILOG
829         tristate "Mac or PowerMac z85c30 ESCC support"
830         depends on (M68K && MAC) || PPC_PMAC
831         select SERIAL_CORE
832         help
833           This driver supports the Zilog z85C30 serial ports found on
834           (Power)Mac machines.
835           Say Y or M if you want to be able to these serial ports.
836
837 config SERIAL_PMACZILOG_TTYS
838         bool "Use ttySn device nodes for Zilog z85c30"
839         depends on SERIAL_PMACZILOG
840         help
841           The pmac_zilog driver for the z85C30 chip on many powermacs
842           historically used the device numbers for /dev/ttySn.  The
843           8250 serial port driver also uses these numbers, which means
844           the two drivers being unable to coexist; you could not use
845           both z85C30 and 8250 type ports at the same time.
846
847           If this option is not selected, the pmac_zilog driver will
848           use the device numbers allocated for /dev/ttyPZn.  This allows
849           the pmac_zilog and 8250 drivers to co-exist, but may cause
850           existing userspace setups to break.  Programs that need to
851           access the built-in serial ports on powermacs will need to
852           be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
853
854           If you enable this option, any z85c30 ports in the system will
855           be registered as ttyS0 onwards as in the past, and you will be
856           unable to use the 8250 module for PCMCIA or other 16C550-style
857           UARTs.
858
859           Say N unless you need the z85c30 ports on your (Power)Mac
860           to appear as /dev/ttySn.
861
862 config SERIAL_PMACZILOG_CONSOLE
863         bool "Console on Mac or PowerMac z85c30 serial port"
864         depends on SERIAL_PMACZILOG=y
865         select SERIAL_CORE_CONSOLE
866         help
867           If you would like to be able to use the z85c30 serial port
868           on your (Power)Mac as the console, you can do so by answering
869           Y to this option.
870
871 config SERIAL_CPM
872         tristate "CPM SCC/SMC serial port support"
873         depends on CPM2 || CPM1
874         select SERIAL_CORE
875         help
876           This driver supports the SCC and SMC serial ports on Motorola 
877           embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)
878
879 config SERIAL_CPM_CONSOLE
880         bool "Support for console on CPM SCC/SMC serial port"
881         depends on SERIAL_CPM=y
882         select SERIAL_CORE_CONSOLE
883         help
884           Say Y here if you wish to use a SCC or SMC CPM UART as the system
885           console (the system console is the device which receives all kernel
886           messages and warnings and which allows logins in single user mode).
887
888           Even if you say Y here, the currently visible framebuffer console
889           (/dev/tty0) will still be used as the system console by default, but
890           you can alter that using a kernel command line option such as
891           "console=ttyCPM0". (Try "man bootparam" or see the documentation of
892           your boot loader (lilo or loadlin) about how to pass options to the
893           kernel at boot time.)
894
895 config SERIAL_SGI_L1_CONSOLE
896         bool "SGI Altix L1 serial console support"
897         depends on IA64_GENERIC || IA64_SGI_SN2
898         select SERIAL_CORE
899         select SERIAL_CORE_CONSOLE
900         help
901                 If you have an SGI Altix and you would like to use the system
902                 controller serial port as your console (you want this!),
903                 say Y.  Otherwise, say N.
904
905 config SERIAL_PIC32
906         tristate "Microchip PIC32 serial support"
907         depends on MACH_PIC32
908         select SERIAL_CORE
909         help
910           If you have a PIC32, this driver supports the serial ports.
911
912           Say Y or M to use PIC32 serial ports, otherwise say N. Note that
913           to use a serial port as a console, this must be included in kernel and
914           not as a module.
915
916 config SERIAL_PIC32_CONSOLE
917         bool "PIC32 serial console support"
918         depends on SERIAL_PIC32
919         select SERIAL_CORE_CONSOLE
920         help
921           If you have a PIC32, this driver supports the putting a console on one
922           of the serial ports.
923
924           Say Y to use the PIC32 console, otherwise say N.
925
926 config SERIAL_MPC52xx
927         tristate "Freescale MPC52xx/MPC512x family PSC serial support"
928         depends on PPC_MPC52xx || PPC_MPC512x
929         select SERIAL_CORE
930         help
931           This driver supports MPC52xx and MPC512x PSC serial ports. If you would
932           like to use them, you must answer Y or M to this option. Note that
933           for use as console, it must be included in kernel and not as a
934           module.
935
936 config SERIAL_MPC52xx_CONSOLE
937         bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
938         depends on SERIAL_MPC52xx=y
939         select SERIAL_CORE_CONSOLE
940         help
941           Select this options if you'd like to use one of the PSC serial port
942           of the Freescale MPC52xx family as a console.
943
944 config SERIAL_MPC52xx_CONSOLE_BAUD
945         int "Freescale MPC52xx/MPC512x family PSC serial port baud"
946         depends on SERIAL_MPC52xx_CONSOLE=y
947         default "9600"
948         help
949           Select the MPC52xx console baud rate.
950           This value is only used if the bootloader doesn't pass in the
951           console baudrate
952
953 config SERIAL_ICOM
954         tristate "IBM Multiport Serial Adapter"
955         depends on PCI && PPC_PSERIES
956         select SERIAL_CORE
957         select FW_LOADER
958         help
959           This driver is for a family of multiport serial adapters
960           including 2 port RVX, 2 port internal modem, 4 port internal
961           modem and a split 1 port RVX and 1 port internal modem.
962
963           This driver can also be built as a module.  If so, the module
964           will be called icom.
965
966 config SERIAL_M32R_SIO
967         bool "M32R SIO I/F"
968         depends on M32R
969         default y
970         select SERIAL_CORE
971         help
972           Say Y here if you want to use the M32R serial controller.
973
974 config SERIAL_M32R_SIO_CONSOLE
975         bool "use SIO console"
976         depends on SERIAL_M32R_SIO=y
977         select SERIAL_CORE_CONSOLE
978         help
979           Say Y here if you want to support a serial console.
980
981           If you use an M3T-M32700UT or an OPSPUT platform,
982           please say also y for SERIAL_M32R_PLDSIO.
983
984 config SERIAL_M32R_PLDSIO
985         bool "M32R SIO I/F on a PLD"
986         depends on SERIAL_M32R_SIO=y && (PLAT_OPSPUT || PLAT_USRV || PLAT_M32700UT)
987         default n
988         help
989           Say Y here if you want to use the M32R serial controller
990           on a PLD (Programmable Logic Device).
991
992           If you use an M3T-M32700UT or an OPSPUT platform,
993           please say Y.
994
995 config SERIAL_TXX9
996         bool "TMPTX39XX/49XX SIO support"
997         depends on HAS_TXX9_SERIAL
998         select SERIAL_CORE
999         default y
1000
1001 config HAS_TXX9_SERIAL
1002         bool
1003
1004 config SERIAL_TXX9_NR_UARTS
1005         int "Maximum number of TMPTX39XX/49XX SIO ports"
1006         depends on SERIAL_TXX9
1007         default "6"
1008
1009 config SERIAL_TXX9_CONSOLE
1010         bool "TMPTX39XX/49XX SIO Console support"
1011         depends on SERIAL_TXX9=y
1012         select SERIAL_CORE_CONSOLE
1013
1014 config SERIAL_TXX9_STDSERIAL
1015         bool "TX39XX/49XX SIO act as standard serial"
1016         depends on !SERIAL_8250 && SERIAL_TXX9
1017
1018 config SERIAL_VR41XX
1019         tristate "NEC VR4100 series Serial Interface Unit support"
1020         depends on CPU_VR41XX
1021         select SERIAL_CORE
1022         help
1023           If you have a NEC VR4100 series processor and you want to use
1024           Serial Interface Unit(SIU) or Debug Serial Interface Unit(DSIU)
1025           (not include VR4111/VR4121 DSIU), say Y.  Otherwise, say N.
1026
1027 config SERIAL_VR41XX_CONSOLE
1028         bool "Enable NEC VR4100 series Serial Interface Unit console"
1029         depends on SERIAL_VR41XX=y
1030         select SERIAL_CORE_CONSOLE
1031         help
1032           If you have a NEC VR4100 series processor and you want to use
1033           a console on a serial port, say Y.  Otherwise, say N.
1034
1035 config SERIAL_JSM
1036         tristate "Digi International NEO and Classic PCI Support"
1037         depends on PCI
1038         select SERIAL_CORE
1039         help
1040           This is a driver for Digi International's Neo and Classic series
1041           of cards which provide multiple serial ports. You would need
1042           something like this to connect more than two modems to your Linux
1043           box, for instance in order to become a dial-in server. This driver
1044           supports PCI boards only.
1045
1046           If you have a card like this, say Y here, otherwise say N.
1047
1048           To compile this driver as a module, choose M here: the
1049           module will be called jsm.
1050
1051 config SERIAL_SGI_IOC4
1052         tristate "SGI IOC4 controller serial support"
1053         depends on (IA64_GENERIC || IA64_SGI_SN2) && SGI_IOC4
1054         select SERIAL_CORE
1055         help
1056                 If you have an SGI Altix with an IOC4 based Base IO card
1057                 and wish to use the serial ports on this card, say Y.
1058                 Otherwise, say N.
1059
1060 config SERIAL_SGI_IOC3
1061         tristate "SGI Altix IOC3 serial support"
1062         depends on (IA64_GENERIC || IA64_SGI_SN2) && SGI_IOC3
1063         select SERIAL_CORE
1064         help
1065           If you have an SGI Altix with an IOC3 serial card,
1066           say Y or M.  Otherwise, say N.
1067
1068 config SERIAL_MSM
1069         tristate "MSM on-chip serial port support"
1070         depends on ARCH_QCOM
1071         select SERIAL_CORE
1072
1073 config SERIAL_MSM_CONSOLE
1074         bool "MSM serial console support"
1075         depends on SERIAL_MSM=y
1076         select SERIAL_CORE_CONSOLE
1077         select SERIAL_EARLYCON
1078
1079 config SERIAL_VT8500
1080         bool "VIA VT8500 on-chip serial port support"
1081         depends on ARCH_VT8500
1082         select SERIAL_CORE
1083
1084 config SERIAL_VT8500_CONSOLE
1085         bool "VIA VT8500 serial console support"
1086         depends on SERIAL_VT8500=y
1087         select SERIAL_CORE_CONSOLE
1088
1089 config SERIAL_ETRAXFS
1090         bool "ETRAX FS serial port support"
1091         depends on ETRAX_ARCH_V32 && OF
1092         select SERIAL_CORE
1093         select SERIAL_MCTRL_GPIO if GPIOLIB
1094
1095 config SERIAL_ETRAXFS_CONSOLE
1096         bool "ETRAX FS serial console support"
1097         depends on SERIAL_ETRAXFS
1098         select SERIAL_CORE_CONSOLE
1099
1100 config SERIAL_NETX
1101         tristate "NetX serial port support"
1102         depends on ARCH_NETX
1103         select SERIAL_CORE
1104         help
1105           If you have a machine based on a Hilscher NetX SoC you
1106           can enable its onboard serial port by enabling this option.
1107
1108           To compile this driver as a module, choose M here: the
1109           module will be called netx-serial.
1110
1111 config SERIAL_NETX_CONSOLE
1112         bool "Console on NetX serial port"
1113         depends on SERIAL_NETX=y
1114         select SERIAL_CORE_CONSOLE
1115         help
1116           If you have enabled the serial port on the Hilscher NetX SoC
1117           you can make it the console by answering Y to this option.
1118
1119 config SERIAL_OMAP
1120         tristate "OMAP serial port support"
1121         depends on ARCH_OMAP2PLUS
1122         select SERIAL_CORE
1123         help
1124           If you have a machine based on an Texas Instruments OMAP CPU you
1125           can enable its onboard serial ports by enabling this option.
1126
1127           By enabling this option you take advantage of dma feature available
1128           with the omap-serial driver. DMA support can be enabled from platform
1129           data.
1130
1131 config SERIAL_OMAP_CONSOLE
1132         bool "Console on OMAP serial port"
1133         depends on SERIAL_OMAP=y
1134         select SERIAL_CORE_CONSOLE
1135         help
1136           Select this option if you would like to use omap serial port as
1137           console.
1138
1139           Even if you say Y here, the currently visible virtual console
1140           (/dev/tty0) will still be used as the system console by default, but
1141           you can alter that using a kernel command line option such as
1142           "console=ttyOx". (Try "man bootparam" or see the documentation of
1143           your boot loader about how to pass options to the kernel at
1144           boot time.)
1145
1146 config SERIAL_LANTIQ
1147         bool "Lantiq serial driver"
1148         depends on LANTIQ
1149         select SERIAL_CORE
1150         select SERIAL_CORE_CONSOLE
1151         help
1152           Support for console and UART on Lantiq SoCs.
1153
1154 config SERIAL_QE
1155         tristate "Freescale QUICC Engine serial port support"
1156         depends on QUICC_ENGINE
1157         select SERIAL_CORE
1158         select FW_LOADER
1159         default n
1160         help
1161           This driver supports the QE serial ports on Freescale embedded
1162           PowerPC that contain a QUICC Engine.
1163
1164 config SERIAL_SCCNXP
1165         tristate "SCCNXP serial port support"
1166         select SERIAL_CORE
1167         help
1168           This selects support for an advanced UART from NXP (Philips).
1169           Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1170           SC28L202, SCC68681 and SCC68692.
1171
1172 config SERIAL_SCCNXP_CONSOLE
1173         bool "Console on SCCNXP serial port"
1174         depends on SERIAL_SCCNXP=y
1175         select SERIAL_CORE_CONSOLE
1176         help
1177           Support for console on SCCNXP serial ports.
1178
1179 config SERIAL_SC16IS7XX_CORE
1180         tristate
1181
1182 config SERIAL_SC16IS7XX
1183         tristate "SC16IS7xx serial support"
1184         select SERIAL_CORE
1185         depends on (SPI_MASTER && !I2C) || I2C
1186         help
1187           This selects support for SC16IS7xx serial ports.
1188           Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
1189           SC16IS760 and SC16IS762. Select supported buses using options below.
1190
1191 config SERIAL_SC16IS7XX_I2C
1192         bool "SC16IS7xx for I2C interface"
1193         depends on SERIAL_SC16IS7XX
1194         depends on I2C
1195         select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1196         select REGMAP_I2C if I2C
1197         default y
1198         help
1199           Enable SC16IS7xx driver on I2C bus,
1200           If required say y, and say n to i2c if not required,
1201           Enabled by default to support oldconfig.
1202           You must select at least one bus for the driver to be built.
1203
1204 config SERIAL_SC16IS7XX_SPI
1205         bool "SC16IS7xx for spi interface"
1206         depends on SERIAL_SC16IS7XX
1207         depends on SPI_MASTER
1208         select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1209         select REGMAP_SPI if SPI_MASTER
1210         help
1211           Enable SC16IS7xx driver on SPI bus,
1212           If required say y, and say n to spi if not required,
1213           This is additional support to exsisting driver.
1214           You must select at least one bus for the driver to be built.
1215
1216 config SERIAL_BFIN_SPORT
1217         tristate "Blackfin SPORT emulate UART"
1218         depends on BLACKFIN
1219         select SERIAL_CORE
1220         help
1221           Enable SPORT emulate UART on Blackfin series.
1222
1223           To compile this driver as a module, choose M here: the
1224           module will be called bfin_sport_uart.
1225
1226 config SERIAL_BFIN_SPORT_CONSOLE
1227         bool "Console on Blackfin sport emulated uart"
1228         depends on SERIAL_BFIN_SPORT=y
1229         select SERIAL_CORE_CONSOLE
1230
1231 config SERIAL_BFIN_SPORT0_UART
1232         bool "Enable UART over SPORT0"
1233         depends on SERIAL_BFIN_SPORT && !(BF542 || BF544)
1234         help
1235           Enable UART over SPORT0
1236
1237 config SERIAL_BFIN_SPORT0_UART_CTSRTS
1238         bool "Enable UART over SPORT0 hardware flow control"
1239         depends on SERIAL_BFIN_SPORT0_UART
1240         help
1241           Enable hardware flow control in the driver.
1242
1243 config SERIAL_BFIN_SPORT1_UART
1244         bool "Enable UART over SPORT1"
1245         depends on SERIAL_BFIN_SPORT
1246         help
1247           Enable UART over SPORT1
1248
1249 config SERIAL_BFIN_SPORT1_UART_CTSRTS
1250         bool "Enable UART over SPORT1 hardware flow control"
1251         depends on SERIAL_BFIN_SPORT1_UART
1252         help
1253           Enable hardware flow control in the driver.
1254
1255 config SERIAL_BFIN_SPORT2_UART
1256         bool "Enable UART over SPORT2"
1257         depends on SERIAL_BFIN_SPORT && (BF54x || BF538 || BF539)
1258         help
1259           Enable UART over SPORT2
1260
1261 config SERIAL_BFIN_SPORT2_UART_CTSRTS
1262         bool "Enable UART over SPORT2 hardware flow control"
1263         depends on SERIAL_BFIN_SPORT2_UART
1264         help
1265           Enable hardware flow control in the driver.
1266
1267 config SERIAL_BFIN_SPORT3_UART
1268         bool "Enable UART over SPORT3"
1269         depends on SERIAL_BFIN_SPORT && (BF54x || BF538 || BF539)
1270         help
1271           Enable UART over SPORT3
1272
1273 config SERIAL_BFIN_SPORT3_UART_CTSRTS
1274         bool "Enable UART over SPORT3 hardware flow control"
1275         depends on SERIAL_BFIN_SPORT3_UART
1276         help
1277           Enable hardware flow control in the driver.
1278
1279 config SERIAL_TIMBERDALE
1280         tristate "Support for timberdale UART"
1281         select SERIAL_CORE
1282         depends on X86_32 || COMPILE_TEST
1283         ---help---
1284         Add support for UART controller on timberdale.
1285
1286 config SERIAL_BCM63XX
1287         tristate "Broadcom BCM63xx/BCM33xx UART support"
1288         select SERIAL_CORE
1289         depends on MIPS || ARM || COMPILE_TEST
1290         help
1291           This enables the driver for the onchip UART core found on
1292           the following chipsets:
1293
1294             BCM33xx (cable modem)
1295             BCM63xx/BCM63xxx (DSL)
1296             BCM68xx (PON)
1297             BCM7xxx (STB) - DOCSIS console
1298
1299 config SERIAL_BCM63XX_CONSOLE
1300         bool "Console on BCM63xx serial port"
1301         depends on SERIAL_BCM63XX=y
1302         select SERIAL_CORE_CONSOLE
1303         select SERIAL_EARLYCON
1304         help
1305           If you have enabled the serial port on the BCM63xx CPU
1306           you can make it the console by answering Y to this option.
1307
1308 config SERIAL_GRLIB_GAISLER_APBUART
1309         tristate "GRLIB APBUART serial support"
1310         depends on OF && SPARC
1311         select SERIAL_CORE
1312         ---help---
1313         Add support for the GRLIB APBUART serial port.
1314
1315 config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1316         bool "Console on GRLIB APBUART serial port"
1317         depends on SERIAL_GRLIB_GAISLER_APBUART=y
1318         select SERIAL_CORE_CONSOLE
1319         help
1320         Support for running a console on the GRLIB APBUART
1321
1322 config SERIAL_ALTERA_JTAGUART
1323         tristate "Altera JTAG UART support"
1324         select SERIAL_CORE
1325         help
1326           This driver supports the Altera JTAG UART port.
1327
1328 config SERIAL_ALTERA_JTAGUART_CONSOLE
1329         bool "Altera JTAG UART console support"
1330         depends on SERIAL_ALTERA_JTAGUART=y
1331         select SERIAL_CORE_CONSOLE
1332         help
1333           Enable a Altera JTAG UART port to be the system console.
1334
1335 config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1336         bool "Bypass output when no connection"
1337         depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1338         select SERIAL_CORE_CONSOLE
1339         help
1340           Bypass console output and keep going even if there is no
1341           JTAG terminal connection with the host.
1342
1343 config SERIAL_ALTERA_UART
1344         tristate "Altera UART support"
1345         select SERIAL_CORE
1346         help
1347           This driver supports the Altera softcore UART port.
1348
1349 config SERIAL_ALTERA_UART_MAXPORTS
1350         int "Maximum number of Altera UART ports"
1351         depends on SERIAL_ALTERA_UART
1352         default 4
1353         help
1354           This setting lets you define the maximum number of the Altera
1355           UART ports. The usual default varies from board to board, and
1356           this setting is a way of catering for that.
1357
1358 config SERIAL_ALTERA_UART_BAUDRATE
1359         int "Default baudrate for Altera UART ports"
1360         depends on SERIAL_ALTERA_UART
1361         default 115200
1362         help
1363           This setting lets you define what the default baudrate is for the
1364           Altera UART ports. The usual default varies from board to board,
1365           and this setting is a way of catering for that.
1366
1367 config SERIAL_ALTERA_UART_CONSOLE
1368         bool "Altera UART console support"
1369         depends on SERIAL_ALTERA_UART=y
1370         select SERIAL_CORE_CONSOLE
1371         help
1372           Enable a Altera UART port to be the system console.
1373
1374 config SERIAL_IFX6X60
1375         tristate "SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)"
1376         depends on GPIOLIB || COMPILE_TEST
1377         depends on SPI && HAS_DMA
1378         help
1379           Support for the IFX6x60 modem devices on Intel MID platforms.
1380
1381 config SERIAL_PCH_UART
1382         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1383         depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1384         select SERIAL_CORE
1385         help
1386           This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1387           which is an IOH(Input/Output Hub) for x86 embedded processor.
1388           Enabling PCH_DMA, this PCH UART works as DMA mode.
1389
1390           This driver also can be used for LAPIS Semiconductor IOH(Input/
1391           Output Hub), ML7213, ML7223 and ML7831.
1392           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1393           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1394           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1395           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1396
1397 config SERIAL_PCH_UART_CONSOLE
1398         bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1399         depends on SERIAL_PCH_UART=y
1400         select SERIAL_CORE_CONSOLE
1401         help
1402           Say Y here if you wish to use the PCH UART as the system console
1403           (the system  console is the device which receives all kernel messages and
1404           warnings and which allows logins in single user mode).
1405
1406 config SERIAL_MXS_AUART
1407         tristate "MXS AUART support"
1408         depends on HAS_DMA
1409         depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1410         select SERIAL_CORE
1411         select SERIAL_MCTRL_GPIO if GPIOLIB
1412         help
1413           This driver supports the MXS and Alphascale ASM9260 Application
1414           UART (AUART) port.
1415
1416 config SERIAL_MXS_AUART_CONSOLE
1417         bool "MXS AUART console support"
1418         depends on SERIAL_MXS_AUART=y
1419         select SERIAL_CORE_CONSOLE
1420         help
1421           Enable a MXS AUART port to be the system console.
1422
1423 config SERIAL_XILINX_PS_UART
1424         tristate "Cadence (Xilinx Zynq) UART support"
1425         depends on OF
1426         select SERIAL_CORE
1427         help
1428           This driver supports the Cadence UART. It is found e.g. in Xilinx
1429           Zynq.
1430
1431 config SERIAL_XILINX_PS_UART_CONSOLE
1432         bool "Cadence UART console support"
1433         depends on SERIAL_XILINX_PS_UART=y
1434         select SERIAL_CORE_CONSOLE
1435         select SERIAL_EARLYCON
1436         help
1437           Enable a Cadence UART port to be the system console.
1438
1439 config SERIAL_AR933X
1440         tristate "AR933X serial port support"
1441         depends on HAVE_CLK && SOC_AR933X
1442         select SERIAL_CORE
1443         help
1444           If you have an Atheros AR933X SOC based board and want to use the
1445           built-in UART of the SoC, say Y to this option.
1446
1447           To compile this driver as a module, choose M here: the
1448           module will be called ar933x_uart.
1449
1450 config SERIAL_AR933X_CONSOLE
1451         bool "Console on AR933X serial port"
1452         depends on SERIAL_AR933X=y
1453         select SERIAL_CORE_CONSOLE
1454         help
1455           Enable a built-in UART port of the AR933X to be the system console.
1456
1457 config SERIAL_AR933X_NR_UARTS
1458         int "Maximum number of AR933X serial ports"
1459         depends on SERIAL_AR933X
1460         default "2"
1461         help
1462           Set this to the number of serial ports you want the driver
1463           to support.
1464
1465 config SERIAL_EFM32_UART
1466         tristate "EFM32 UART/USART port"
1467         depends on ARM && (ARCH_EFM32 || COMPILE_TEST)
1468         select SERIAL_CORE
1469         help
1470           This driver support the USART and UART ports on
1471           Energy Micro's efm32 SoCs.
1472
1473 config SERIAL_MPS2_UART_CONSOLE
1474         bool "MPS2 UART console support"
1475         depends on SERIAL_MPS2_UART
1476         select SERIAL_CORE_CONSOLE
1477         select SERIAL_EARLYCON
1478
1479 config SERIAL_MPS2_UART
1480         bool "MPS2 UART port"
1481         depends on ARCH_MPS2 || COMPILE_TEST
1482         select SERIAL_CORE
1483         help
1484           This driver support the UART ports on ARM MPS2.
1485
1486 config SERIAL_EFM32_UART_CONSOLE
1487         bool "EFM32 UART/USART console support"
1488         depends on SERIAL_EFM32_UART=y
1489         select SERIAL_CORE_CONSOLE
1490
1491 config SERIAL_TILEGX
1492         tristate "TILE-Gx on-chip serial port support"
1493         depends on TILEGX
1494         select TILE_GXIO_UART
1495         select SERIAL_CORE
1496         ---help---
1497           This device provides access to the on-chip UARTs on the TILE-Gx
1498           processor.
1499
1500 config SERIAL_ARC
1501         tristate "ARC UART driver support"
1502         select SERIAL_CORE
1503         help
1504           Driver for on-chip UART for ARC(Synopsys) for the legacy
1505           FPGA Boards (ML50x/ARCAngel4)
1506
1507 config SERIAL_ARC_CONSOLE
1508         bool "Console on ARC UART"
1509         depends on SERIAL_ARC=y
1510         select SERIAL_CORE_CONSOLE
1511         select SERIAL_EARLYCON
1512         help
1513           Enable system Console on ARC UART
1514
1515 config SERIAL_ARC_NR_PORTS
1516         int "Number of ARC UART ports"
1517         depends on SERIAL_ARC
1518         range 1 3
1519         default "1"
1520         help
1521           Set this to the number of serial ports you want the driver
1522           to support.
1523
1524 config SERIAL_RP2
1525         tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1526         depends on PCI
1527         select SERIAL_CORE
1528         help
1529           This driver supports the Comtrol RocketPort EXPRESS and
1530           RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1531           These adapters use a "RocketPort 2" ASIC that is not compatible
1532           with the original RocketPort driver (CONFIG_ROCKETPORT).
1533
1534           To compile this driver as a module, choose M here: the
1535           module will be called rp2.
1536
1537           If you want to compile this driver into the kernel, say Y here.  If
1538           you don't have a suitable RocketPort card installed, say N.
1539
1540 config SERIAL_RP2_NR_UARTS
1541         int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1542         depends on SERIAL_RP2
1543         default "32"
1544         help
1545           If multiple cards are present, the default limit of 32 ports may
1546           need to be increased.
1547
1548 config SERIAL_FSL_LPUART
1549         tristate "Freescale lpuart serial port support"
1550         depends on HAS_DMA
1551         select SERIAL_CORE
1552         help
1553           Support for the on-chip lpuart on some Freescale SOCs.
1554
1555 config SERIAL_FSL_LPUART_CONSOLE
1556         bool "Console on Freescale lpuart serial port"
1557         depends on SERIAL_FSL_LPUART=y
1558         select SERIAL_CORE_CONSOLE
1559         select SERIAL_EARLYCON
1560         help
1561           If you have enabled the lpuart serial port on the Freescale SoCs,
1562           you can make it the console by answering Y to this option.
1563
1564 config SERIAL_CONEXANT_DIGICOLOR
1565         tristate "Conexant Digicolor CX92xxx USART serial port support"
1566         depends on OF
1567         select SERIAL_CORE
1568         help
1569           Support for the on-chip USART on Conexant Digicolor SoCs.
1570
1571 config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1572         bool "Console on Conexant Digicolor serial port"
1573         depends on SERIAL_CONEXANT_DIGICOLOR=y
1574         select SERIAL_CORE_CONSOLE
1575         help
1576           If you have enabled the USART serial port on Conexant Digicolor
1577           SoCs, you can make it the console by answering Y to this option.
1578
1579 config SERIAL_ST_ASC
1580         tristate "ST ASC serial port support"
1581         select SERIAL_CORE
1582         depends on ARM || COMPILE_TEST
1583         help
1584           This driver is for the on-chip Asychronous Serial Controller on
1585           STMicroelectronics STi SoCs.
1586           ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1587           It support all industry standard baud rates.
1588
1589           If unsure, say N.
1590
1591 config SERIAL_ST_ASC_CONSOLE
1592         bool "Support for console on ST ASC"
1593         depends on SERIAL_ST_ASC=y
1594         select SERIAL_CORE_CONSOLE
1595
1596 config SERIAL_MEN_Z135
1597         tristate "MEN 16z135 Support"
1598         select SERIAL_CORE
1599         depends on MCB
1600         help
1601           Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1602           on a MCB carrier.
1603
1604           This driver can also be build as a module. If so, the module will be called
1605           men_z135_uart.ko
1606
1607 config SERIAL_SPRD
1608         tristate "Support for Spreadtrum serial"
1609         depends on ARCH_SPRD
1610         select SERIAL_CORE
1611         help
1612           This enables the driver for the Spreadtrum's serial.
1613
1614 config SERIAL_SPRD_CONSOLE
1615         bool "Spreadtrum UART console support"
1616         depends on SERIAL_SPRD=y
1617         select SERIAL_CORE_CONSOLE
1618         select SERIAL_EARLYCON
1619         help
1620           Support for early debug console using Spreadtrum's serial. This enables
1621           the console before standard serial driver is probed. This is enabled
1622           with "earlycon" on the kernel command line. The console is
1623           enabled when early_param is processed.
1624
1625 config SERIAL_STM32
1626         tristate "STMicroelectronics STM32 serial port support"
1627         select SERIAL_CORE
1628         depends on ARM || COMPILE_TEST
1629         help
1630           This driver is for the on-chip Serial Controller on
1631           STMicroelectronics STM32 MCUs.
1632           USART supports Rx & Tx functionality.
1633           It support all industry standard baud rates.
1634
1635           If unsure, say N.
1636
1637 config SERIAL_STM32_CONSOLE
1638         bool "Support for console on STM32"
1639         depends on SERIAL_STM32=y
1640         select SERIAL_CORE_CONSOLE
1641
1642 config SERIAL_MVEBU_UART
1643         bool "Marvell EBU serial port support"
1644         depends on ARCH_MVEBU || COMPILE_TEST
1645         select SERIAL_CORE
1646         help
1647           This driver is for Marvell EBU SoC's UART. If you have a machine
1648           based on the Armada-3700 SoC and wish to use the on-board serial
1649           port,
1650           say 'Y' here.
1651           Otherwise, say 'N'.
1652
1653 config SERIAL_MVEBU_CONSOLE
1654         bool "Console on Marvell EBU serial port"
1655         depends on SERIAL_MVEBU_UART
1656         select SERIAL_CORE_CONSOLE
1657         select SERIAL_EARLYCON
1658         default y
1659         help
1660           Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1661           (the system console is the device which receives all kernel messages
1662           and warnings and which allows logins in single user mode)
1663           Otherwise, say 'N'.
1664
1665 endmenu
1666
1667 config SERIAL_MCTRL_GPIO
1668         tristate
1669
1670 endif # TTY