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