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