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