]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - drivers/tty/serial/Kconfig
serial: altera_uart: add earlycon support
[karo-tx-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 (DEPRECATED)"
442         depends on ARCH_PXA || ARCH_MMP
443         select SERIAL_CORE
444         select SERIAL_8250_PXA if SERIAL_8250=y
445         select SERIAL_PXA_NON8250 if !SERIAL_8250=y
446         help
447           If you have a machine based on an Intel XScale PXA2xx CPU you
448           can enable its onboard serial ports by enabling this option.
449
450           Unless you have a specific need, you should use SERIAL_8250_PXA
451           instead of this.
452
453 config SERIAL_PXA_NON8250
454         bool
455         depends on !SERIAL_8250
456
457 config SERIAL_PXA_CONSOLE
458         bool "Console on PXA serial port (DEPRECATED)"
459         depends on SERIAL_PXA
460         select SERIAL_CORE_CONSOLE
461         select SERIAL_8250_CONSOLE if SERIAL_8250=y
462         help
463           If you have enabled the serial port on the Intel XScale PXA
464           CPU you can make it the console by answering Y to this option.
465
466           Even if you say Y here, the currently visible virtual console
467           (/dev/tty0) will still be used as the system console by default, but
468           you can alter that using a kernel command line option such as
469           "console=ttySA0". (Try "man bootparam" or see the documentation of
470           your boot loader (lilo or loadlin) about how to pass options to the
471           kernel at boot time.)
472
473           Unless you have a specific need, you should use SERIAL_8250_PXA
474           and SERIAL_8250_CONSOLE instead of this.
475
476 config SERIAL_SA1100
477         bool "SA1100 serial port support"
478         depends on ARCH_SA1100
479         select SERIAL_CORE
480         help
481           If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
482           can enable its onboard serial port by enabling this option.
483           Please read <file:Documentation/arm/SA1100/serial_UART> for further
484           info.
485
486 config SERIAL_SA1100_CONSOLE
487         bool "Console on SA1100 serial port"
488         depends on SERIAL_SA1100
489         select SERIAL_CORE_CONSOLE
490         help
491           If you have enabled the serial port on the SA1100/SA1110 StrongARM
492           CPU you can make it the console by answering Y to this option.
493
494           Even if you say Y here, the currently visible virtual console
495           (/dev/tty0) will still be used as the system console by default, but
496           you can alter that using a kernel command line option such as
497           "console=ttySA0". (Try "man bootparam" or see the documentation of
498           your boot loader (lilo or loadlin) about how to pass options to the
499           kernel at boot time.)
500
501 config SERIAL_BFIN
502         tristate "Blackfin serial port support"
503         depends on BLACKFIN
504         select SERIAL_CORE
505         select SERIAL_BFIN_UART0 if (BF531 || BF532 || BF533 || BF561)
506         help
507           Add support for the built-in UARTs on the Blackfin.
508
509           To compile this driver as a module, choose M here: the
510           module is named bfin_uart.ko.
511
512 config SERIAL_BFIN_CONSOLE
513         bool "Console on Blackfin serial port"
514         depends on SERIAL_BFIN=y
515         select SERIAL_CORE_CONSOLE
516
517 choice
518         prompt "UART Mode"
519         depends on SERIAL_BFIN
520         default SERIAL_BFIN_DMA
521         help
522           This driver supports the built-in serial ports of the Blackfin family
523           of CPUs
524
525 config SERIAL_BFIN_DMA
526         bool "DMA mode"
527         depends on !DMA_UNCACHED_NONE && KGDB_SERIAL_CONSOLE=n
528         help
529           This driver works under DMA mode. If this option is selected, the
530           blackfin simple dma driver is also enabled.
531
532 config SERIAL_BFIN_PIO
533         bool "PIO mode"
534         help
535           This driver works under PIO mode.
536
537 endchoice
538
539 config SERIAL_BFIN_UART0
540         bool "Enable UART0"
541         depends on SERIAL_BFIN
542         help
543           Enable UART0
544
545 config BFIN_UART0_CTSRTS
546         bool "Enable UART0 hardware flow control"
547         depends on SERIAL_BFIN_UART0
548         help
549           Enable hardware flow control in the driver.
550
551 config SERIAL_BFIN_UART1
552         bool "Enable UART1"
553         depends on SERIAL_BFIN && (!BF531 && !BF532 && !BF533 && !BF561)
554         help
555           Enable UART1
556
557 config BFIN_UART1_CTSRTS
558         bool "Enable UART1 hardware flow control"
559         depends on SERIAL_BFIN_UART1
560         help
561           Enable hardware flow control in the driver.
562
563 config SERIAL_BFIN_UART2
564         bool "Enable UART2"
565         depends on SERIAL_BFIN && (BF54x || BF538 || BF539)
566         help
567           Enable UART2
568
569 config BFIN_UART2_CTSRTS
570         bool "Enable UART2 hardware flow control"
571         depends on SERIAL_BFIN_UART2
572         help
573           Enable hardware flow control in the driver.
574
575 config SERIAL_BFIN_UART3
576         bool "Enable UART3"
577         depends on SERIAL_BFIN && (BF54x)
578         help
579           Enable UART3
580
581 config BFIN_UART3_CTSRTS
582         bool "Enable UART3 hardware flow control"
583         depends on SERIAL_BFIN_UART3
584         help
585           Enable hardware flow control in the driver.
586
587 config SERIAL_IMX
588         tristate "IMX serial port support"
589         depends on HAS_DMA
590         depends on ARCH_MXC || COMPILE_TEST
591         select SERIAL_CORE
592         select RATIONAL
593         select SERIAL_MCTRL_GPIO if GPIOLIB
594         help
595           If you have a machine based on a Motorola IMX CPU you
596           can enable its onboard serial port by enabling this option.
597
598 config SERIAL_IMX_CONSOLE
599         bool "Console on IMX serial port"
600         depends on SERIAL_IMX=y
601         select SERIAL_CORE_CONSOLE
602         select SERIAL_EARLYCON if OF
603         help
604           If you have enabled the serial port on the Freescale IMX
605           CPU you can make it the console by answering Y to this option.
606
607           Even if you say Y here, the currently visible virtual console
608           (/dev/tty0) will still be used as the system console by default, but
609           you can alter that using a kernel command line option such as
610           "console=ttymxc0". (Try "man bootparam" or see the documentation of
611           your bootloader about how to pass options to the kernel at boot time.)
612
613 config SERIAL_UARTLITE
614         tristate "Xilinx uartlite serial port support"
615         depends on HAS_IOMEM
616         select SERIAL_CORE
617         help
618           Say Y here if you want to use the Xilinx uartlite serial controller.
619
620           To compile this driver as a module, choose M here: the
621           module will be called uartlite.
622
623 config SERIAL_UARTLITE_CONSOLE
624         bool "Support for console on Xilinx uartlite serial port"
625         depends on SERIAL_UARTLITE=y
626         select SERIAL_CORE_CONSOLE
627         select SERIAL_EARLYCON
628         help
629           Say Y here if you wish to use a Xilinx uartlite as the system
630           console (the system console is the device which receives all kernel
631           messages and warnings and which allows logins in single user mode).
632
633 config SERIAL_UARTLITE_NR_UARTS
634         int "Maximum number of uartlite serial ports"
635         depends on SERIAL_UARTLITE
636         range 1 256
637         default 1
638         help
639           Set this to the number of uartlites in your system, or the number
640           you think you might implement.
641
642 config SERIAL_SUNCORE
643         bool
644         depends on SPARC
645         select SERIAL_CORE
646         select SERIAL_CORE_CONSOLE
647         default y
648
649 config SERIAL_SUNZILOG
650         tristate "Sun Zilog8530 serial support"
651         depends on SPARC
652         help
653           This driver supports the Zilog8530 serial ports found on many Sparc
654           systems.  Say Y or M if you want to be able to these serial ports.
655
656 config SERIAL_SUNZILOG_CONSOLE
657         bool "Console on Sun Zilog8530 serial port"
658         depends on SERIAL_SUNZILOG=y
659         help
660           If you would like to be able to use the Zilog8530 serial port
661           on your Sparc system as the console, you can do so by answering
662           Y to this option.
663
664 config SERIAL_SUNSU
665         tristate "Sun SU serial support"
666         depends on SPARC && PCI
667         help
668           This driver supports the 8250 serial ports that run the keyboard and
669           mouse on (PCI) UltraSPARC systems.  Say Y or M if you want to be able
670           to these serial ports.
671
672 config SERIAL_SUNSU_CONSOLE
673         bool "Console on Sun SU serial port"
674         depends on SERIAL_SUNSU=y
675         help
676           If you would like to be able to use the SU serial port
677           on your Sparc system as the console, you can do so by answering
678           Y to this option.
679
680 config SERIAL_MUX
681         tristate "Serial MUX support"
682         depends on GSC
683         select SERIAL_CORE
684         default y
685         ---help---
686           Saying Y here will enable the hardware MUX serial driver for
687           the Nova, K class systems and D class with a 'remote control card'.
688           The hardware MUX is not 8250/16550 compatible therefore the
689           /dev/ttyB0 device is shared between the Serial MUX and the PDC
690           software console. The following steps need to be completed to use
691           the Serial MUX:
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_MUX_CONSOLE
700         bool "Support for console on serial MUX"
701         depends on SERIAL_MUX=y
702         select SERIAL_CORE_CONSOLE
703         default y
704
705 config PDC_CONSOLE
706         bool "PDC software console support"
707         depends on PARISC && !SERIAL_MUX && VT
708         default n
709         help
710           Saying Y here will enable the software based PDC console to be 
711           used as the system console.  This is useful for machines in 
712           which the hardware based console has not been written yet.  The
713           following steps must be completed to use the PDC console:
714
715             1. create the device entry (mknod /dev/ttyB0 c 11 0)
716             2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
717             3. Add device ttyB0 to /etc/securetty (if you want to log on as
718                  root on this console.)
719             4. Change the kernel command console parameter to: console=ttyB0
720
721 config SERIAL_SUNSAB
722         tristate "Sun Siemens SAB82532 serial support"
723         depends on SPARC && PCI
724         help
725           This driver supports the Siemens SAB82532 DUSCC serial ports on newer
726           (PCI) UltraSPARC systems.  Say Y or M if you want to be able to these
727           serial ports.
728
729 config SERIAL_SUNSAB_CONSOLE
730         bool "Console on Sun Siemens SAB82532 serial port"
731         depends on SERIAL_SUNSAB=y
732         help
733           If you would like to be able to use the SAB82532 serial port
734           on your Sparc system as the console, you can do so by answering
735           Y to this option.
736
737 config SERIAL_SUNHV
738         bool "Sun4v Hypervisor Console support"
739         depends on SPARC64
740         help
741           This driver supports the console device found on SUN4V Sparc
742           systems.  Say Y if you want to be able to use this device.
743
744 config SERIAL_IP22_ZILOG
745         tristate "SGI Zilog8530 serial support"
746         depends on SGI_HAS_ZILOG
747         select SERIAL_CORE
748         help
749           This driver supports the Zilog8530 serial ports found on SGI
750           systems.  Say Y or M if you want to be able to these serial ports.
751
752 config SERIAL_IP22_ZILOG_CONSOLE
753         bool "Console on SGI Zilog8530 serial port"
754         depends on SERIAL_IP22_ZILOG=y
755         select SERIAL_CORE_CONSOLE
756
757 config SERIAL_SH_SCI
758         tristate "SuperH SCI(F) serial port support"
759         depends on SUPERH || ARCH_RENESAS || H8300 || COMPILE_TEST
760         select SERIAL_CORE
761         select SERIAL_MCTRL_GPIO if GPIOLIB
762
763 config SERIAL_SH_SCI_NR_UARTS
764         int "Maximum number of SCI(F) serial ports"
765         depends on SERIAL_SH_SCI
766         default "2"
767
768 config SERIAL_SH_SCI_CONSOLE
769         bool "Support for console on SuperH SCI(F)"
770         depends on SERIAL_SH_SCI=y
771         select SERIAL_CORE_CONSOLE
772
773 config SERIAL_SH_SCI_EARLYCON
774         bool "Support for early console on SuperH SCI(F)"
775         depends on SERIAL_SH_SCI=y
776         select SERIAL_CORE_CONSOLE
777         select SERIAL_EARLYCON
778
779 config SERIAL_SH_SCI_DMA
780         bool "DMA support"
781         depends on SERIAL_SH_SCI && DMA_ENGINE
782
783 config SERIAL_PNX8XXX
784         bool "Enable PNX8XXX SoCs' UART Support"
785         depends on SOC_PNX833X
786         select SERIAL_CORE
787         help
788           If you have a MIPS-based Philips SoC such as PNX8330 and you want
789           to use serial ports, say Y.  Otherwise, say N.
790
791 config SERIAL_PNX8XXX_CONSOLE
792         bool "Enable PNX8XX0 serial console"
793         depends on SERIAL_PNX8XXX
794         select SERIAL_CORE_CONSOLE
795         help
796           If you have a MIPS-based Philips SoC such as PNX8330 and you want
797           to use serial console, say Y. Otherwise, say N.
798
799 config SERIAL_HS_LPC32XX
800         tristate "LPC32XX high speed serial port support"
801         depends on ARCH_LPC32XX && OF
802         select SERIAL_CORE
803         help
804           Support for the LPC32XX high speed serial ports (up to 900kbps).
805           Those are UARTs completely different from the Standard UARTs on the
806           LPC32XX SoC.
807           Choose M or Y here to build this driver.
808
809 config SERIAL_HS_LPC32XX_CONSOLE
810         bool "Enable LPC32XX high speed UART serial console"
811         depends on SERIAL_HS_LPC32XX=y
812         select SERIAL_CORE_CONSOLE
813         help
814           If you would like to be able to use one of the high speed serial
815           ports on the LPC32XX as the console, you can do so by answering
816           Y to this option.
817
818 config SERIAL_CORE
819         tristate
820
821 config SERIAL_CORE_CONSOLE
822         bool
823
824 config CONSOLE_POLL
825         bool
826
827 config SERIAL_MCF
828         bool "Coldfire serial support"
829         depends on COLDFIRE
830         select SERIAL_CORE
831         help
832           This serial driver supports the Freescale Coldfire serial ports.
833
834 config SERIAL_MCF_BAUDRATE
835         int "Default baudrate for Coldfire serial ports"
836         depends on SERIAL_MCF
837         default 19200
838         help
839           This setting lets you define what the default baudrate is for the
840           ColdFire serial ports. The usual default varies from board to board,
841           and this setting is a way of catering for that.
842
843 config SERIAL_MCF_CONSOLE
844         bool "Coldfire serial console support"
845         depends on SERIAL_MCF
846         select SERIAL_CORE_CONSOLE
847         help
848           Enable a ColdFire internal serial port to be the system console.
849
850 config SERIAL_PMACZILOG
851         tristate "Mac or PowerMac z85c30 ESCC support"
852         depends on (M68K && MAC) || PPC_PMAC
853         select SERIAL_CORE
854         help
855           This driver supports the Zilog z85C30 serial ports found on
856           (Power)Mac machines.
857           Say Y or M if you want to be able to these serial ports.
858
859 config SERIAL_PMACZILOG_TTYS
860         bool "Use ttySn device nodes for Zilog z85c30"
861         depends on SERIAL_PMACZILOG
862         help
863           The pmac_zilog driver for the z85C30 chip on many powermacs
864           historically used the device numbers for /dev/ttySn.  The
865           8250 serial port driver also uses these numbers, which means
866           the two drivers being unable to coexist; you could not use
867           both z85C30 and 8250 type ports at the same time.
868
869           If this option is not selected, the pmac_zilog driver will
870           use the device numbers allocated for /dev/ttyPZn.  This allows
871           the pmac_zilog and 8250 drivers to co-exist, but may cause
872           existing userspace setups to break.  Programs that need to
873           access the built-in serial ports on powermacs will need to
874           be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
875
876           If you enable this option, any z85c30 ports in the system will
877           be registered as ttyS0 onwards as in the past, and you will be
878           unable to use the 8250 module for PCMCIA or other 16C550-style
879           UARTs.
880
881           Say N unless you need the z85c30 ports on your (Power)Mac
882           to appear as /dev/ttySn.
883
884 config SERIAL_PMACZILOG_CONSOLE
885         bool "Console on Mac or PowerMac z85c30 serial port"
886         depends on SERIAL_PMACZILOG=y
887         select SERIAL_CORE_CONSOLE
888         help
889           If you would like to be able to use the z85c30 serial port
890           on your (Power)Mac as the console, you can do so by answering
891           Y to this option.
892
893 config SERIAL_CPM
894         tristate "CPM SCC/SMC serial port support"
895         depends on CPM2 || CPM1
896         select SERIAL_CORE
897         help
898           This driver supports the SCC and SMC serial ports on Motorola 
899           embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)
900
901 config SERIAL_CPM_CONSOLE
902         bool "Support for console on CPM SCC/SMC serial port"
903         depends on SERIAL_CPM=y
904         select SERIAL_CORE_CONSOLE
905         help
906           Say Y here if you wish to use a SCC or SMC CPM UART as the system
907           console (the system console is the device which receives all kernel
908           messages and warnings and which allows logins in single user mode).
909
910           Even if you say Y here, the currently visible framebuffer console
911           (/dev/tty0) will still be used as the system console by default, but
912           you can alter that using a kernel command line option such as
913           "console=ttyCPM0". (Try "man bootparam" or see the documentation of
914           your boot loader (lilo or loadlin) about how to pass options to the
915           kernel at boot time.)
916
917 config SERIAL_SGI_L1_CONSOLE
918         bool "SGI Altix L1 serial console support"
919         depends on IA64_GENERIC || IA64_SGI_SN2
920         select SERIAL_CORE
921         select SERIAL_CORE_CONSOLE
922         help
923                 If you have an SGI Altix and you would like to use the system
924                 controller serial port as your console (you want this!),
925                 say Y.  Otherwise, say N.
926
927 config SERIAL_PIC32
928         tristate "Microchip PIC32 serial support"
929         depends on MACH_PIC32
930         select SERIAL_CORE
931         help
932           If you have a PIC32, this driver supports the serial ports.
933
934           Say Y or M to use PIC32 serial ports, otherwise say N. Note that
935           to use a serial port as a console, this must be included in kernel and
936           not as a module.
937
938 config SERIAL_PIC32_CONSOLE
939         bool "PIC32 serial console support"
940         depends on SERIAL_PIC32
941         select SERIAL_CORE_CONSOLE
942         help
943           If you have a PIC32, this driver supports the putting a console on one
944           of the serial ports.
945
946           Say Y to use the PIC32 console, otherwise say N.
947
948 config SERIAL_MPC52xx
949         tristate "Freescale MPC52xx/MPC512x family PSC serial support"
950         depends on PPC_MPC52xx || PPC_MPC512x
951         select SERIAL_CORE
952         help
953           This driver supports MPC52xx and MPC512x PSC serial ports. If you would
954           like to use them, you must answer Y or M to this option. Note that
955           for use as console, it must be included in kernel and not as a
956           module.
957
958 config SERIAL_MPC52xx_CONSOLE
959         bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
960         depends on SERIAL_MPC52xx=y
961         select SERIAL_CORE_CONSOLE
962         help
963           Select this options if you'd like to use one of the PSC serial port
964           of the Freescale MPC52xx family as a console.
965
966 config SERIAL_MPC52xx_CONSOLE_BAUD
967         int "Freescale MPC52xx/MPC512x family PSC serial port baud"
968         depends on SERIAL_MPC52xx_CONSOLE=y
969         default "9600"
970         help
971           Select the MPC52xx console baud rate.
972           This value is only used if the bootloader doesn't pass in the
973           console baudrate
974
975 config SERIAL_ICOM
976         tristate "IBM Multiport Serial Adapter"
977         depends on PCI && PPC_PSERIES
978         select SERIAL_CORE
979         select FW_LOADER
980         help
981           This driver is for a family of multiport serial adapters
982           including 2 port RVX, 2 port internal modem, 4 port internal
983           modem and a split 1 port RVX and 1 port internal modem.
984
985           This driver can also be built as a module.  If so, the module
986           will be called icom.
987
988 config SERIAL_M32R_SIO
989         bool "M32R SIO I/F"
990         depends on M32R
991         default y
992         select SERIAL_CORE
993         help
994           Say Y here if you want to use the M32R serial controller.
995
996 config SERIAL_M32R_SIO_CONSOLE
997         bool "use SIO console"
998         depends on SERIAL_M32R_SIO=y
999         select SERIAL_CORE_CONSOLE
1000         help
1001           Say Y here if you want to support a serial console.
1002
1003           If you use an M3T-M32700UT or an OPSPUT platform,
1004           please say also y for SERIAL_M32R_PLDSIO.
1005
1006 config SERIAL_M32R_PLDSIO
1007         bool "M32R SIO I/F on a PLD"
1008         depends on SERIAL_M32R_SIO=y && (PLAT_OPSPUT || PLAT_USRV || PLAT_M32700UT)
1009         default n
1010         help
1011           Say Y here if you want to use the M32R serial controller
1012           on a PLD (Programmable Logic Device).
1013
1014           If you use an M3T-M32700UT or an OPSPUT platform,
1015           please say Y.
1016
1017 config SERIAL_TXX9
1018         bool "TMPTX39XX/49XX SIO support"
1019         depends on HAS_TXX9_SERIAL
1020         select SERIAL_CORE
1021         default y
1022
1023 config HAS_TXX9_SERIAL
1024         bool
1025
1026 config SERIAL_TXX9_NR_UARTS
1027         int "Maximum number of TMPTX39XX/49XX SIO ports"
1028         depends on SERIAL_TXX9
1029         default "6"
1030
1031 config SERIAL_TXX9_CONSOLE
1032         bool "TMPTX39XX/49XX SIO Console support"
1033         depends on SERIAL_TXX9=y
1034         select SERIAL_CORE_CONSOLE
1035
1036 config SERIAL_TXX9_STDSERIAL
1037         bool "TX39XX/49XX SIO act as standard serial"
1038         depends on !SERIAL_8250 && SERIAL_TXX9
1039
1040 config SERIAL_VR41XX
1041         tristate "NEC VR4100 series Serial Interface Unit support"
1042         depends on CPU_VR41XX
1043         select SERIAL_CORE
1044         help
1045           If you have a NEC VR4100 series processor and you want to use
1046           Serial Interface Unit(SIU) or Debug Serial Interface Unit(DSIU)
1047           (not include VR4111/VR4121 DSIU), say Y.  Otherwise, say N.
1048
1049 config SERIAL_VR41XX_CONSOLE
1050         bool "Enable NEC VR4100 series Serial Interface Unit console"
1051         depends on SERIAL_VR41XX=y
1052         select SERIAL_CORE_CONSOLE
1053         help
1054           If you have a NEC VR4100 series processor and you want to use
1055           a console on a serial port, say Y.  Otherwise, say N.
1056
1057 config SERIAL_JSM
1058         tristate "Digi International NEO and Classic PCI Support"
1059         depends on PCI
1060         select SERIAL_CORE
1061         help
1062           This is a driver for Digi International's Neo and Classic series
1063           of cards which provide multiple serial ports. You would need
1064           something like this to connect more than two modems to your Linux
1065           box, for instance in order to become a dial-in server. This driver
1066           supports PCI boards only.
1067
1068           If you have a card like this, say Y here, otherwise say N.
1069
1070           To compile this driver as a module, choose M here: the
1071           module will be called jsm.
1072
1073 config SERIAL_SGI_IOC4
1074         tristate "SGI IOC4 controller serial support"
1075         depends on (IA64_GENERIC || IA64_SGI_SN2) && SGI_IOC4
1076         select SERIAL_CORE
1077         help
1078                 If you have an SGI Altix with an IOC4 based Base IO card
1079                 and wish to use the serial ports on this card, say Y.
1080                 Otherwise, say N.
1081
1082 config SERIAL_SGI_IOC3
1083         tristate "SGI Altix IOC3 serial support"
1084         depends on (IA64_GENERIC || IA64_SGI_SN2) && SGI_IOC3
1085         select SERIAL_CORE
1086         help
1087           If you have an SGI Altix with an IOC3 serial card,
1088           say Y or M.  Otherwise, say N.
1089
1090 config SERIAL_MSM
1091         tristate "MSM on-chip serial port support"
1092         depends on ARCH_QCOM
1093         select SERIAL_CORE
1094
1095 config SERIAL_MSM_CONSOLE
1096         bool "MSM serial console support"
1097         depends on SERIAL_MSM=y
1098         select SERIAL_CORE_CONSOLE
1099         select SERIAL_EARLYCON
1100
1101 config SERIAL_VT8500
1102         bool "VIA VT8500 on-chip serial port support"
1103         depends on ARCH_VT8500
1104         select SERIAL_CORE
1105
1106 config SERIAL_VT8500_CONSOLE
1107         bool "VIA VT8500 serial console support"
1108         depends on SERIAL_VT8500=y
1109         select SERIAL_CORE_CONSOLE
1110
1111 config SERIAL_ETRAXFS
1112         bool "ETRAX FS serial port support"
1113         depends on ETRAX_ARCH_V32 && OF
1114         select SERIAL_CORE
1115         select SERIAL_MCTRL_GPIO if GPIOLIB
1116
1117 config SERIAL_ETRAXFS_CONSOLE
1118         bool "ETRAX FS serial console support"
1119         depends on SERIAL_ETRAXFS
1120         select SERIAL_CORE_CONSOLE
1121
1122 config SERIAL_NETX
1123         tristate "NetX serial port support"
1124         depends on ARCH_NETX
1125         select SERIAL_CORE
1126         help
1127           If you have a machine based on a Hilscher NetX SoC you
1128           can enable its onboard serial port by enabling this option.
1129
1130           To compile this driver as a module, choose M here: the
1131           module will be called netx-serial.
1132
1133 config SERIAL_NETX_CONSOLE
1134         bool "Console on NetX serial port"
1135         depends on SERIAL_NETX=y
1136         select SERIAL_CORE_CONSOLE
1137         help
1138           If you have enabled the serial port on the Hilscher NetX SoC
1139           you can make it the console by answering Y to this option.
1140
1141 config SERIAL_OMAP
1142         tristate "OMAP serial port support"
1143         depends on ARCH_OMAP2PLUS
1144         select SERIAL_CORE
1145         help
1146           If you have a machine based on an Texas Instruments OMAP CPU you
1147           can enable its onboard serial ports by enabling this option.
1148
1149           By enabling this option you take advantage of dma feature available
1150           with the omap-serial driver. DMA support can be enabled from platform
1151           data.
1152
1153 config SERIAL_OMAP_CONSOLE
1154         bool "Console on OMAP serial port"
1155         depends on SERIAL_OMAP=y
1156         select SERIAL_CORE_CONSOLE
1157         help
1158           Select this option if you would like to use omap serial port as
1159           console.
1160
1161           Even if you say Y here, the currently visible virtual console
1162           (/dev/tty0) will still be used as the system console by default, but
1163           you can alter that using a kernel command line option such as
1164           "console=ttyOx". (Try "man bootparam" or see the documentation of
1165           your boot loader about how to pass options to the kernel at
1166           boot time.)
1167
1168 config SERIAL_LANTIQ
1169         bool "Lantiq serial driver"
1170         depends on LANTIQ
1171         select SERIAL_CORE
1172         select SERIAL_CORE_CONSOLE
1173         select SERIAL_EARLYCON
1174         help
1175           Support for console and UART on Lantiq SoCs.
1176
1177 config SERIAL_QE
1178         tristate "Freescale QUICC Engine serial port support"
1179         depends on QUICC_ENGINE
1180         select SERIAL_CORE
1181         select FW_LOADER
1182         default n
1183         help
1184           This driver supports the QE serial ports on Freescale embedded
1185           PowerPC that contain a QUICC Engine.
1186
1187 config SERIAL_SCCNXP
1188         tristate "SCCNXP serial port support"
1189         select SERIAL_CORE
1190         help
1191           This selects support for an advanced UART from NXP (Philips).
1192           Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1193           SC28L202, SCC68681 and SCC68692.
1194
1195 config SERIAL_SCCNXP_CONSOLE
1196         bool "Console on SCCNXP serial port"
1197         depends on SERIAL_SCCNXP=y
1198         select SERIAL_CORE_CONSOLE
1199         help
1200           Support for console on SCCNXP serial ports.
1201
1202 config SERIAL_SC16IS7XX_CORE
1203         tristate
1204
1205 config SERIAL_SC16IS7XX
1206         tristate "SC16IS7xx serial support"
1207         select SERIAL_CORE
1208         depends on (SPI_MASTER && !I2C) || I2C
1209         help
1210           This selects support for SC16IS7xx serial ports.
1211           Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
1212           SC16IS760 and SC16IS762. Select supported buses using options below.
1213
1214 config SERIAL_SC16IS7XX_I2C
1215         bool "SC16IS7xx for I2C interface"
1216         depends on SERIAL_SC16IS7XX
1217         depends on I2C
1218         select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1219         select REGMAP_I2C if I2C
1220         default y
1221         help
1222           Enable SC16IS7xx driver on I2C bus,
1223           If required say y, and say n to i2c if not required,
1224           Enabled by default to support oldconfig.
1225           You must select at least one bus for the driver to be built.
1226
1227 config SERIAL_SC16IS7XX_SPI
1228         bool "SC16IS7xx for spi interface"
1229         depends on SERIAL_SC16IS7XX
1230         depends on SPI_MASTER
1231         select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1232         select REGMAP_SPI if SPI_MASTER
1233         help
1234           Enable SC16IS7xx driver on SPI bus,
1235           If required say y, and say n to spi if not required,
1236           This is additional support to exsisting driver.
1237           You must select at least one bus for the driver to be built.
1238
1239 config SERIAL_BFIN_SPORT
1240         tristate "Blackfin SPORT emulate UART"
1241         depends on BLACKFIN
1242         select SERIAL_CORE
1243         help
1244           Enable SPORT emulate UART on Blackfin series.
1245
1246           To compile this driver as a module, choose M here: the
1247           module will be called bfin_sport_uart.
1248
1249 config SERIAL_BFIN_SPORT_CONSOLE
1250         bool "Console on Blackfin sport emulated uart"
1251         depends on SERIAL_BFIN_SPORT=y
1252         select SERIAL_CORE_CONSOLE
1253
1254 config SERIAL_BFIN_SPORT0_UART
1255         bool "Enable UART over SPORT0"
1256         depends on SERIAL_BFIN_SPORT && !(BF542 || BF544)
1257         help
1258           Enable UART over SPORT0
1259
1260 config SERIAL_BFIN_SPORT0_UART_CTSRTS
1261         bool "Enable UART over SPORT0 hardware flow control"
1262         depends on SERIAL_BFIN_SPORT0_UART
1263         help
1264           Enable hardware flow control in the driver.
1265
1266 config SERIAL_BFIN_SPORT1_UART
1267         bool "Enable UART over SPORT1"
1268         depends on SERIAL_BFIN_SPORT
1269         help
1270           Enable UART over SPORT1
1271
1272 config SERIAL_BFIN_SPORT1_UART_CTSRTS
1273         bool "Enable UART over SPORT1 hardware flow control"
1274         depends on SERIAL_BFIN_SPORT1_UART
1275         help
1276           Enable hardware flow control in the driver.
1277
1278 config SERIAL_BFIN_SPORT2_UART
1279         bool "Enable UART over SPORT2"
1280         depends on SERIAL_BFIN_SPORT && (BF54x || BF538 || BF539)
1281         help
1282           Enable UART over SPORT2
1283
1284 config SERIAL_BFIN_SPORT2_UART_CTSRTS
1285         bool "Enable UART over SPORT2 hardware flow control"
1286         depends on SERIAL_BFIN_SPORT2_UART
1287         help
1288           Enable hardware flow control in the driver.
1289
1290 config SERIAL_BFIN_SPORT3_UART
1291         bool "Enable UART over SPORT3"
1292         depends on SERIAL_BFIN_SPORT && (BF54x || BF538 || BF539)
1293         help
1294           Enable UART over SPORT3
1295
1296 config SERIAL_BFIN_SPORT3_UART_CTSRTS
1297         bool "Enable UART over SPORT3 hardware flow control"
1298         depends on SERIAL_BFIN_SPORT3_UART
1299         help
1300           Enable hardware flow control in the driver.
1301
1302 config SERIAL_TIMBERDALE
1303         tristate "Support for timberdale UART"
1304         select SERIAL_CORE
1305         depends on X86_32 || COMPILE_TEST
1306         ---help---
1307         Add support for UART controller on timberdale.
1308
1309 config SERIAL_BCM63XX
1310         tristate "Broadcom BCM63xx/BCM33xx UART support"
1311         select SERIAL_CORE
1312         depends on MIPS || ARM || COMPILE_TEST
1313         help
1314           This enables the driver for the onchip UART core found on
1315           the following chipsets:
1316
1317             BCM33xx (cable modem)
1318             BCM63xx/BCM63xxx (DSL)
1319             BCM68xx (PON)
1320             BCM7xxx (STB) - DOCSIS console
1321
1322 config SERIAL_BCM63XX_CONSOLE
1323         bool "Console on BCM63xx serial port"
1324         depends on SERIAL_BCM63XX=y
1325         select SERIAL_CORE_CONSOLE
1326         select SERIAL_EARLYCON
1327         help
1328           If you have enabled the serial port on the BCM63xx CPU
1329           you can make it the console by answering Y to this option.
1330
1331 config SERIAL_GRLIB_GAISLER_APBUART
1332         tristate "GRLIB APBUART serial support"
1333         depends on OF && SPARC
1334         select SERIAL_CORE
1335         ---help---
1336         Add support for the GRLIB APBUART serial port.
1337
1338 config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1339         bool "Console on GRLIB APBUART serial port"
1340         depends on SERIAL_GRLIB_GAISLER_APBUART=y
1341         select SERIAL_CORE_CONSOLE
1342         help
1343         Support for running a console on the GRLIB APBUART
1344
1345 config SERIAL_ALTERA_JTAGUART
1346         tristate "Altera JTAG UART support"
1347         select SERIAL_CORE
1348         help
1349           This driver supports the Altera JTAG UART port.
1350
1351 config SERIAL_ALTERA_JTAGUART_CONSOLE
1352         bool "Altera JTAG UART console support"
1353         depends on SERIAL_ALTERA_JTAGUART=y
1354         select SERIAL_CORE_CONSOLE
1355         select SERIAL_EARLYCON
1356         help
1357           Enable a Altera JTAG UART port to be the system console.
1358
1359 config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1360         bool "Bypass output when no connection"
1361         depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1362         select SERIAL_CORE_CONSOLE
1363         help
1364           Bypass console output and keep going even if there is no
1365           JTAG terminal connection with the host.
1366
1367 config SERIAL_ALTERA_UART
1368         tristate "Altera UART support"
1369         select SERIAL_CORE
1370         help
1371           This driver supports the Altera softcore UART port.
1372
1373 config SERIAL_ALTERA_UART_MAXPORTS
1374         int "Maximum number of Altera UART ports"
1375         depends on SERIAL_ALTERA_UART
1376         default 4
1377         help
1378           This setting lets you define the maximum number of the Altera
1379           UART ports. The usual default varies from board to board, and
1380           this setting is a way of catering for that.
1381
1382 config SERIAL_ALTERA_UART_BAUDRATE
1383         int "Default baudrate for Altera UART ports"
1384         depends on SERIAL_ALTERA_UART
1385         default 115200
1386         help
1387           This setting lets you define what the default baudrate is for the
1388           Altera UART ports. The usual default varies from board to board,
1389           and this setting is a way of catering for that.
1390
1391 config SERIAL_ALTERA_UART_CONSOLE
1392         bool "Altera UART console support"
1393         depends on SERIAL_ALTERA_UART=y
1394         select SERIAL_CORE_CONSOLE
1395         select SERIAL_EARLYCON
1396         help
1397           Enable a Altera UART port to be the system console.
1398
1399 config SERIAL_IFX6X60
1400         tristate "SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)"
1401         depends on GPIOLIB || COMPILE_TEST
1402         depends on SPI && HAS_DMA
1403         help
1404           Support for the IFX6x60 modem devices on Intel MID platforms.
1405
1406 config SERIAL_PCH_UART
1407         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1408         depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1409         select SERIAL_CORE
1410         help
1411           This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1412           which is an IOH(Input/Output Hub) for x86 embedded processor.
1413           Enabling PCH_DMA, this PCH UART works as DMA mode.
1414
1415           This driver also can be used for LAPIS Semiconductor IOH(Input/
1416           Output Hub), ML7213, ML7223 and ML7831.
1417           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1418           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1419           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1420           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1421
1422 config SERIAL_PCH_UART_CONSOLE
1423         bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1424         depends on SERIAL_PCH_UART=y
1425         select SERIAL_CORE_CONSOLE
1426         help
1427           Say Y here if you wish to use the PCH UART as the system console
1428           (the system  console is the device which receives all kernel messages and
1429           warnings and which allows logins in single user mode).
1430
1431 config SERIAL_MXS_AUART
1432         tristate "MXS AUART support"
1433         depends on HAS_DMA
1434         depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1435         select SERIAL_CORE
1436         select SERIAL_MCTRL_GPIO if GPIOLIB
1437         help
1438           This driver supports the MXS and Alphascale ASM9260 Application
1439           UART (AUART) port.
1440
1441 config SERIAL_MXS_AUART_CONSOLE
1442         bool "MXS AUART console support"
1443         depends on SERIAL_MXS_AUART=y
1444         select SERIAL_CORE_CONSOLE
1445         help
1446           Enable a MXS AUART port to be the system console.
1447
1448 config SERIAL_XILINX_PS_UART
1449         tristate "Cadence (Xilinx Zynq) UART support"
1450         depends on OF
1451         select SERIAL_CORE
1452         help
1453           This driver supports the Cadence UART. It is found e.g. in Xilinx
1454           Zynq.
1455
1456 config SERIAL_XILINX_PS_UART_CONSOLE
1457         bool "Cadence UART console support"
1458         depends on SERIAL_XILINX_PS_UART=y
1459         select SERIAL_CORE_CONSOLE
1460         select SERIAL_EARLYCON
1461         help
1462           Enable a Cadence UART port to be the system console.
1463
1464 config SERIAL_AR933X
1465         tristate "AR933X serial port support"
1466         depends on HAVE_CLK && SOC_AR933X
1467         select SERIAL_CORE
1468         help
1469           If you have an Atheros AR933X SOC based board and want to use the
1470           built-in UART of the SoC, say Y to this option.
1471
1472           To compile this driver as a module, choose M here: the
1473           module will be called ar933x_uart.
1474
1475 config SERIAL_AR933X_CONSOLE
1476         bool "Console on AR933X serial port"
1477         depends on SERIAL_AR933X=y
1478         select SERIAL_CORE_CONSOLE
1479         help
1480           Enable a built-in UART port of the AR933X to be the system console.
1481
1482 config SERIAL_AR933X_NR_UARTS
1483         int "Maximum number of AR933X serial ports"
1484         depends on SERIAL_AR933X
1485         default "2"
1486         help
1487           Set this to the number of serial ports you want the driver
1488           to support.
1489
1490 config SERIAL_EFM32_UART
1491         tristate "EFM32 UART/USART port"
1492         depends on ARM && (ARCH_EFM32 || COMPILE_TEST)
1493         select SERIAL_CORE
1494         help
1495           This driver support the USART and UART ports on
1496           Energy Micro's efm32 SoCs.
1497
1498 config SERIAL_MPS2_UART_CONSOLE
1499         bool "MPS2 UART console support"
1500         depends on SERIAL_MPS2_UART
1501         select SERIAL_CORE_CONSOLE
1502         select SERIAL_EARLYCON
1503
1504 config SERIAL_MPS2_UART
1505         bool "MPS2 UART port"
1506         depends on ARCH_MPS2 || COMPILE_TEST
1507         select SERIAL_CORE
1508         help
1509           This driver support the UART ports on ARM MPS2.
1510
1511 config SERIAL_EFM32_UART_CONSOLE
1512         bool "EFM32 UART/USART console support"
1513         depends on SERIAL_EFM32_UART=y
1514         select SERIAL_CORE_CONSOLE
1515
1516 config SERIAL_TILEGX
1517         tristate "TILE-Gx on-chip serial port support"
1518         depends on TILEGX
1519         select TILE_GXIO_UART
1520         select SERIAL_CORE
1521         ---help---
1522           This device provides access to the on-chip UARTs on the TILE-Gx
1523           processor.
1524
1525 config SERIAL_ARC
1526         tristate "ARC UART driver support"
1527         select SERIAL_CORE
1528         help
1529           Driver for on-chip UART for ARC(Synopsys) for the legacy
1530           FPGA Boards (ML50x/ARCAngel4)
1531
1532 config SERIAL_ARC_CONSOLE
1533         bool "Console on ARC UART"
1534         depends on SERIAL_ARC=y
1535         select SERIAL_CORE_CONSOLE
1536         select SERIAL_EARLYCON
1537         help
1538           Enable system Console on ARC UART
1539
1540 config SERIAL_ARC_NR_PORTS
1541         int "Number of ARC UART ports"
1542         depends on SERIAL_ARC
1543         range 1 3
1544         default "1"
1545         help
1546           Set this to the number of serial ports you want the driver
1547           to support.
1548
1549 config SERIAL_RP2
1550         tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1551         depends on PCI
1552         select SERIAL_CORE
1553         help
1554           This driver supports the Comtrol RocketPort EXPRESS and
1555           RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1556           These adapters use a "RocketPort 2" ASIC that is not compatible
1557           with the original RocketPort driver (CONFIG_ROCKETPORT).
1558
1559           To compile this driver as a module, choose M here: the
1560           module will be called rp2.
1561
1562           If you want to compile this driver into the kernel, say Y here.  If
1563           you don't have a suitable RocketPort card installed, say N.
1564
1565 config SERIAL_RP2_NR_UARTS
1566         int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1567         depends on SERIAL_RP2
1568         default "32"
1569         help
1570           If multiple cards are present, the default limit of 32 ports may
1571           need to be increased.
1572
1573 config SERIAL_FSL_LPUART
1574         tristate "Freescale lpuart serial port support"
1575         depends on HAS_DMA
1576         select SERIAL_CORE
1577         help
1578           Support for the on-chip lpuart on some Freescale SOCs.
1579
1580 config SERIAL_FSL_LPUART_CONSOLE
1581         bool "Console on Freescale lpuart serial port"
1582         depends on SERIAL_FSL_LPUART=y
1583         select SERIAL_CORE_CONSOLE
1584         select SERIAL_EARLYCON
1585         help
1586           If you have enabled the lpuart serial port on the Freescale SoCs,
1587           you can make it the console by answering Y to this option.
1588
1589 config SERIAL_CONEXANT_DIGICOLOR
1590         tristate "Conexant Digicolor CX92xxx USART serial port support"
1591         depends on OF
1592         select SERIAL_CORE
1593         help
1594           Support for the on-chip USART on Conexant Digicolor SoCs.
1595
1596 config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1597         bool "Console on Conexant Digicolor serial port"
1598         depends on SERIAL_CONEXANT_DIGICOLOR=y
1599         select SERIAL_CORE_CONSOLE
1600         help
1601           If you have enabled the USART serial port on Conexant Digicolor
1602           SoCs, you can make it the console by answering Y to this option.
1603
1604 config SERIAL_ST_ASC
1605         tristate "ST ASC serial port support"
1606         select SERIAL_CORE
1607         depends on ARM || COMPILE_TEST
1608         help
1609           This driver is for the on-chip Asychronous Serial Controller on
1610           STMicroelectronics STi SoCs.
1611           ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1612           It support all industry standard baud rates.
1613
1614           If unsure, say N.
1615
1616 config SERIAL_ST_ASC_CONSOLE
1617         bool "Support for console on ST ASC"
1618         depends on SERIAL_ST_ASC=y
1619         select SERIAL_CORE_CONSOLE
1620
1621 config SERIAL_MEN_Z135
1622         tristate "MEN 16z135 Support"
1623         select SERIAL_CORE
1624         depends on MCB
1625         help
1626           Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1627           on a MCB carrier.
1628
1629           This driver can also be build as a module. If so, the module will be called
1630           men_z135_uart.ko
1631
1632 config SERIAL_SPRD
1633         tristate "Support for Spreadtrum serial"
1634         depends on ARCH_SPRD
1635         select SERIAL_CORE
1636         help
1637           This enables the driver for the Spreadtrum's serial.
1638
1639 config SERIAL_SPRD_CONSOLE
1640         bool "Spreadtrum UART console support"
1641         depends on SERIAL_SPRD=y
1642         select SERIAL_CORE_CONSOLE
1643         select SERIAL_EARLYCON
1644         help
1645           Support for early debug console using Spreadtrum's serial. This enables
1646           the console before standard serial driver is probed. This is enabled
1647           with "earlycon" on the kernel command line. The console is
1648           enabled when early_param is processed.
1649
1650 config SERIAL_STM32
1651         tristate "STMicroelectronics STM32 serial port support"
1652         select SERIAL_CORE
1653         depends on HAS_DMA
1654         depends on ARCH_STM32 || COMPILE_TEST
1655         help
1656           This driver is for the on-chip Serial Controller on
1657           STMicroelectronics STM32 MCUs.
1658           USART supports Rx & Tx functionality.
1659           It support all industry standard baud rates.
1660
1661           If unsure, say N.
1662
1663 config SERIAL_STM32_CONSOLE
1664         bool "Support for console on STM32"
1665         depends on SERIAL_STM32=y
1666         select SERIAL_CORE_CONSOLE
1667
1668 config SERIAL_MVEBU_UART
1669         bool "Marvell EBU serial port support"
1670         depends on ARCH_MVEBU || COMPILE_TEST
1671         select SERIAL_CORE
1672         help
1673           This driver is for Marvell EBU SoC's UART. If you have a machine
1674           based on the Armada-3700 SoC and wish to use the on-board serial
1675           port,
1676           say 'Y' here.
1677           Otherwise, say 'N'.
1678
1679 config SERIAL_MVEBU_CONSOLE
1680         bool "Console on Marvell EBU serial port"
1681         depends on SERIAL_MVEBU_UART
1682         select SERIAL_CORE_CONSOLE
1683         select SERIAL_EARLYCON
1684         default y
1685         help
1686           Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1687           (the system console is the device which receives all kernel messages
1688           and warnings and which allows logins in single user mode)
1689           Otherwise, say 'N'.
1690
1691 endmenu
1692
1693 config SERIAL_MCTRL_GPIO
1694         tristate
1695
1696 endif # TTY