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