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