Merge tag 'tty-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
[platform/kernel/linux-starfive.git] / drivers / tty / serial / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # Serial device configuration
4 #
5
6 if TTY
7
8 menu "Serial drivers"
9         depends on HAS_IOMEM
10
11 config SERIAL_EARLYCON
12         bool
13         help
14           Support for early consoles with the earlycon parameter. This enables
15           the console before standard serial driver is probed. The console is
16           enabled when early_param is processed.
17
18 source "drivers/tty/serial/8250/Kconfig"
19
20 comment "Non-8250 serial port support"
21
22 config SERIAL_AMBA_PL010
23         tristate "ARM AMBA PL010 serial port support"
24         depends on ARM_AMBA
25         select SERIAL_CORE
26         help
27           This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have
28           an Integrator/AP or Integrator/PP2 platform, or if you have a
29           Cirrus Logic EP93xx CPU, say Y or M here.
30
31           If unsure, say N.
32
33 config SERIAL_AMBA_PL010_CONSOLE
34         bool "Support for console on AMBA serial port"
35         depends on SERIAL_AMBA_PL010=y
36         select SERIAL_CORE_CONSOLE
37         ---help---
38           Say Y here if you wish to use an AMBA PrimeCell UART as the system
39           console (the system console is the device which receives all kernel
40           messages and warnings and which allows logins in single user mode).
41
42           Even if you say Y here, the currently visible framebuffer console
43           (/dev/tty0) will still be used as the system console by default, but
44           you can alter that using a kernel command line option such as
45           "console=ttyAM0". (Try "man bootparam" or see the documentation of
46           your boot loader (lilo or loadlin) about how to pass options to the
47           kernel at boot time.)
48
49 config SERIAL_AMBA_PL011
50         tristate "ARM AMBA PL011 serial port support"
51         depends on ARM_AMBA
52         select SERIAL_CORE
53         help
54           This selects the ARM(R) AMBA(R) PrimeCell PL011 UART.  If you have
55           an Integrator/PP2, Integrator/CP or Versatile platform, say Y or M
56           here.
57
58           If unsure, say N.
59
60 config SERIAL_AMBA_PL011_CONSOLE
61         bool "Support for console on AMBA serial port"
62         depends on SERIAL_AMBA_PL011=y
63         select SERIAL_CORE_CONSOLE
64         select SERIAL_EARLYCON
65         ---help---
66           Say Y here if you wish to use an AMBA PrimeCell UART as the system
67           console (the system console is the device which receives all kernel
68           messages and warnings and which allows logins in single user mode).
69
70           Even if you say Y here, the currently visible framebuffer console
71           (/dev/tty0) will still be used as the system console by default, but
72           you can alter that using a kernel command line option such as
73           "console=ttyAMA0". (Try "man bootparam" or see the documentation of
74           your boot loader (lilo or loadlin) about how to pass options to the
75           kernel at boot time.)
76
77 config SERIAL_EARLYCON_ARM_SEMIHOST
78         bool "Early console using ARM semihosting"
79         depends on ARM64 || ARM
80         select SERIAL_CORE
81         select SERIAL_CORE_CONSOLE
82         select SERIAL_EARLYCON
83         help
84           Support for early debug console using ARM semihosting. This enables
85           the console before standard serial driver is probed. This is enabled
86           with "earlycon=smh" on the kernel command line. The console is
87           enabled when early_param is processed.
88
89 config SERIAL_EARLYCON_RISCV_SBI
90         bool "Early console using RISC-V SBI"
91         depends on RISCV
92         select SERIAL_CORE
93         select SERIAL_CORE_CONSOLE
94         select SERIAL_EARLYCON
95         help
96           Support for early debug console using RISC-V SBI. This enables
97           the console before standard serial driver is probed. This is enabled
98           with "earlycon=sbi" on the kernel command line. The console is
99           enabled when early_param is processed.
100
101 config SERIAL_SB1250_DUART
102         tristate "BCM1xxx on-chip DUART serial support"
103         depends on SIBYTE_SB1xxx_SOC=y
104         select SERIAL_CORE
105         default y
106         ---help---
107           Support for the asynchronous serial interface (DUART) included in
108           the BCM1250 and derived System-On-a-Chip (SOC) devices.  Note that
109           the letter D in DUART stands for "dual", which is how the device
110           is implemented.  Depending on the SOC configuration there may be
111           one or more DUARTs available of which all are handled.
112
113           If unsure, say Y.  To compile this driver as a module, choose M here:
114           the module will be called sb1250-duart.
115
116 config SERIAL_SB1250_DUART_CONSOLE
117         bool "Support for console on a BCM1xxx DUART serial port"
118         depends on SERIAL_SB1250_DUART=y
119         select SERIAL_CORE_CONSOLE
120         default y
121         ---help---
122           If you say Y here, it will be possible to use a serial port as the
123           system console (the system console is the device which receives all
124           kernel messages and warnings and which allows logins in single user
125           mode).
126
127           If unsure, say Y.
128
129 config SERIAL_ATMEL
130         bool "AT91 on-chip serial port support"
131         depends on ARCH_AT91 || COMPILE_TEST
132         select SERIAL_CORE
133         select SERIAL_MCTRL_GPIO if GPIOLIB
134         select MFD_AT91_USART
135         help
136           This enables the driver for the on-chip UARTs of the Atmel
137           AT91 processors.
138
139 config SERIAL_ATMEL_CONSOLE
140         bool "Support for console on AT91 serial port"
141         depends on SERIAL_ATMEL=y
142         select SERIAL_CORE_CONSOLE
143         help
144           Say Y here if you wish to use an on-chip UART on a Atmel
145           AT91 processor as the system console (the system
146           console is the device which receives all kernel messages and
147           warnings and which allows logins in single user mode).
148
149 config SERIAL_ATMEL_PDC
150         bool "Support DMA transfers on AT91 serial port"
151         depends on SERIAL_ATMEL
152         default y
153         help
154           Say Y here if you wish to use the PDC to do DMA transfers to
155           and from the Atmel AT91 serial port. In order to
156           actually use DMA transfers, make sure that the use_dma_tx
157           and use_dma_rx members in the atmel_uart_data struct is set
158           appropriately for each port.
159
160           Note that break and error handling currently doesn't work
161           properly when DMA is enabled. Make sure that ports where
162           this matters don't use DMA.
163
164 config SERIAL_ATMEL_TTYAT
165         bool "Install as device ttyATn instead of ttySn"
166         depends on SERIAL_ATMEL=y
167         help
168           Say Y here if you wish to have the internal AT91 UARTs
169           appear as /dev/ttyATn (major 204, minor starting at 154)
170           instead of the normal /dev/ttySn (major 4, minor starting at
171           64). This is necessary if you also want other UARTs, such as
172           external 8250/16C550 compatible UARTs.
173           The ttySn nodes are legally reserved for the 8250 serial driver
174           but are often misused by other serial drivers.
175
176           To use this, you should create suitable ttyATn device nodes in
177           /dev/, and pass "console=ttyATn" to the kernel.
178
179           Say Y if you have an external 8250/16C550 UART.  If unsure, say N.
180
181 config SERIAL_KGDB_NMI
182         bool "Serial console over KGDB NMI debugger port"
183         depends on KGDB_SERIAL_CONSOLE
184         help
185           This special driver allows you to temporary use NMI debugger port
186           as a normal console (assuming that the port is attached to KGDB).
187
188           Unlike KDB's disable_nmi command, with this driver you are always
189           able to go back to the debugger using KGDB escape sequence ($3#33).
190           This is because this console driver processes the input in NMI
191           context, and thus is able to intercept the magic sequence.
192
193           Note that since the console interprets input and uses polling
194           communication methods, for things like PPP you still must fully
195           detach debugger port from the KGDB NMI (i.e. disable_nmi), and
196           use raw console.
197
198           If unsure, say N.
199
200 config SERIAL_MESON
201         tristate "Meson serial port support"
202         depends on ARCH_MESON
203         select SERIAL_CORE
204         help
205           This enables the driver for the on-chip UARTs of the Amlogic
206           MesonX processors.
207
208 config SERIAL_MESON_CONSOLE
209         bool "Support for console on meson"
210         depends on SERIAL_MESON=y
211         select SERIAL_CORE_CONSOLE
212         select SERIAL_EARLYCON
213         help
214           Say Y here if you wish to use a Amlogic MesonX UART as the
215           system console (the system console is the device which
216           receives all kernel messages and warnings and which allows
217           logins in single user mode) as /dev/ttyAMLx.
218
219 config SERIAL_CLPS711X
220         tristate "CLPS711X serial port support"
221         depends on ARCH_CLPS711X || COMPILE_TEST
222         select SERIAL_CORE
223         select SERIAL_MCTRL_GPIO if GPIOLIB
224         help
225           This enables the driver for the on-chip UARTs of the Cirrus
226           Logic EP711x/EP721x/EP731x processors.
227
228 config SERIAL_CLPS711X_CONSOLE
229         bool "Support for console on CLPS711X serial port"
230         depends on SERIAL_CLPS711X=y
231         select SERIAL_CORE_CONSOLE
232         help
233           Even if you say Y here, the currently visible virtual console
234           (/dev/tty0) will still be used as the system console by default, but
235           you can alter that using a kernel command line option such as
236           "console=ttyCL1".
237
238 config SERIAL_SAMSUNG
239         tristate "Samsung SoC serial support"
240         depends on PLAT_SAMSUNG || ARCH_EXYNOS
241         select SERIAL_CORE
242         help
243           Support for the on-chip UARTs on the Samsung S3C24XX series CPUs,
244           providing /dev/ttySAC0, 1 and 2 (note, some machines may not
245           provide all of these ports, depending on how the serial port
246           pins are configured.
247
248 config SERIAL_SAMSUNG_UARTS_4
249         bool
250         depends on SERIAL_SAMSUNG
251         default y if !(CPU_S3C2410 || CPU_S3C2412 || CPU_S3C2440 || CPU_S3C2442)
252         help
253           Internal node for the common case of 4 Samsung compatible UARTs
254
255 config SERIAL_SAMSUNG_UARTS
256         int
257         depends on SERIAL_SAMSUNG
258         default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416
259         default 3
260         help
261           Select the number of available UART ports for the Samsung S3C
262           serial driver
263         
264 config SERIAL_SAMSUNG_DEBUG
265         bool "Samsung SoC serial debug"
266         depends on SERIAL_SAMSUNG && DEBUG_LL
267         help
268           Add support for debugging the serial driver. Since this is
269           generally being used as a console, we use our own output
270           routines that go via the low-level debug printascii()
271           function.
272
273 config SERIAL_SAMSUNG_CONSOLE
274         bool "Support for console on Samsung SoC serial port"
275         depends on SERIAL_SAMSUNG=y
276         select SERIAL_CORE_CONSOLE
277         select SERIAL_EARLYCON
278         help
279           Allow selection of the S3C24XX on-board serial ports for use as
280           an virtual console.
281
282           Even if you say Y here, the currently visible virtual console
283           (/dev/tty0) will still be used as the system console by default, but
284           you can alter that using a kernel command line option such as
285           "console=ttySACx". (Try "man bootparam" or see the documentation of
286           your boot loader about how to pass options to the kernel at
287           boot time.)
288
289 config SERIAL_SIRFSOC
290         tristate "SiRF SoC Platform Serial port support"
291         depends on ARCH_SIRF
292         select SERIAL_CORE
293         help
294           Support for the on-chip UART on the CSR SiRFprimaII series,
295           providing /dev/ttySiRF0, 1 and 2 (note, some machines may not
296           provide all of these ports, depending on how the serial port
297           pins are configured).
298
299 config SERIAL_SIRFSOC_CONSOLE
300         bool "Support for console on SiRF SoC serial port"
301         depends on SERIAL_SIRFSOC=y
302         select SERIAL_CORE_CONSOLE
303         help
304           Even if you say Y here, the currently visible virtual console
305           (/dev/tty0) will still be used as the system console by default, but
306           you can alter that using a kernel command line option such as
307           "console=ttySiRFx". (Try "man bootparam" or see the documentation of
308           your boot loader about how to pass options to the kernel at
309           boot time.)
310
311 config SERIAL_TEGRA
312         tristate "NVIDIA Tegra20/30 SoC serial controller"
313         depends on ARCH_TEGRA && TEGRA20_APB_DMA
314         select SERIAL_CORE
315         help
316           Support for the on-chip UARTs on the NVIDIA Tegra series SOCs
317           providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not
318           provide all of these ports, depending on how the serial port
319           are enabled). This driver uses the APB DMA to achieve higher baudrate
320           and better performance.
321
322 config SERIAL_TEGRA_TCU
323         tristate "NVIDIA Tegra Combined UART"
324         depends on ARCH_TEGRA && TEGRA_HSP_MBOX
325         select SERIAL_CORE
326         help
327           Support for the mailbox-based TCU (Tegra Combined UART) serial port.
328           TCU is a virtual serial port that allows multiplexing multiple data
329           streams into a single hardware serial port.
330
331 config SERIAL_TEGRA_TCU_CONSOLE
332         bool "Support for console on a Tegra TCU serial port"
333         depends on SERIAL_TEGRA_TCU=y
334         select SERIAL_CORE_CONSOLE
335         default y
336         ---help---
337           If you say Y here, it will be possible to use a the Tegra TCU as the
338           system console (the system console is the device which receives all
339           kernel messages and warnings and which allows logins in single user
340           mode).
341
342           If unsure, say Y.
343
344 config SERIAL_MAX3100
345         tristate "MAX3100 support"
346         depends on SPI
347         select SERIAL_CORE
348         help
349           MAX3100 chip support
350
351 config SERIAL_MAX310X
352         tristate "MAX310X support"
353         depends on SPI_MASTER
354         select SERIAL_CORE
355         select REGMAP_SPI if SPI_MASTER
356         help
357           This selects support for an advanced UART from Maxim (Dallas).
358           Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
359           Each IC contains 128 words each of receive and transmit FIFO
360           that can be controlled through I2C or high-speed SPI.
361
362           Say Y here if you want to support this ICs.
363
364 config SERIAL_DZ
365         bool "DECstation DZ serial driver"
366         depends on MACH_DECSTATION && 32BIT
367         select SERIAL_CORE
368         default y
369         ---help---
370           DZ11-family serial controllers for DECstations and VAXstations,
371           including the DC7085, M7814, and M7819.
372
373 config SERIAL_DZ_CONSOLE
374         bool "Support console on DECstation DZ serial driver"
375         depends on SERIAL_DZ=y
376         select SERIAL_CORE_CONSOLE
377         default y
378         ---help---
379           If you say Y here, it will be possible to use a serial port as the
380           system console (the system console is the device which receives all
381           kernel messages and warnings and which allows logins in single user
382           mode).
383
384           Note that the firmware uses ttyS3 as the serial console on
385           DECstations that use this driver.
386
387           If unsure, say Y.
388
389 config SERIAL_ZS
390         tristate "DECstation Z85C30 serial support"
391         depends on MACH_DECSTATION
392         select SERIAL_CORE
393         default y
394         ---help---
395           Support for the Zilog 85C350 serial communications controller used
396           for serial ports in newer DECstation systems.  These include the
397           DECsystem 5900 and all models of the DECstation and DECsystem 5000
398           systems except from model 200.
399
400           If unsure, say Y.  To compile this driver as a module, choose M here:
401           the module will be called zs.
402
403 config SERIAL_ZS_CONSOLE
404         bool "Support for console on a DECstation Z85C30 serial port"
405         depends on SERIAL_ZS=y
406         select SERIAL_CORE_CONSOLE
407         default y
408         ---help---
409           If you say Y here, it will be possible to use a serial port as the
410           system console (the system console is the device which receives all
411           kernel messages and warnings and which allows logins in single user
412           mode).
413
414           Note that the firmware uses ttyS1 as the serial console on the
415           Maxine and ttyS3 on the others using this driver.
416
417           If unsure, say Y.
418
419 config SERIAL_21285
420         tristate "DC21285 serial port support"
421         depends on FOOTBRIDGE
422         select SERIAL_CORE
423         help
424           If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
425           PCI bridge you can enable its onboard serial port by enabling this
426           option.
427
428 config SERIAL_21285_CONSOLE
429         bool "Console on DC21285 serial port"
430         depends on SERIAL_21285=y
431         select SERIAL_CORE_CONSOLE
432         help
433           If you have enabled the serial port on the 21285 footbridge you can
434           make it the console by answering Y to this option.
435
436           Even if you say Y here, the currently visible virtual console
437           (/dev/tty0) will still be used as the system console by default, but
438           you can alter that using a kernel command line option such as
439           "console=ttyFB". (Try "man bootparam" or see the documentation of
440           your boot loader (lilo or loadlin) about how to pass options to the
441           kernel at boot time.)
442
443 config SERIAL_PXA
444         bool "PXA serial port support (DEPRECATED)"
445         depends on ARCH_PXA || ARCH_MMP
446         select SERIAL_CORE
447         select SERIAL_8250_PXA if SERIAL_8250=y
448         select SERIAL_PXA_NON8250 if !SERIAL_8250=y
449         help
450           If you have a machine based on an Intel XScale PXA2xx CPU you
451           can enable its onboard serial ports by enabling this option.
452
453           Unless you have a specific need, you should use SERIAL_8250_PXA
454           instead of this.
455
456 config SERIAL_PXA_NON8250
457         bool
458         depends on !SERIAL_8250
459
460 config SERIAL_PXA_CONSOLE
461         bool "Console on PXA serial port (DEPRECATED)"
462         depends on SERIAL_PXA
463         select SERIAL_CORE_CONSOLE
464         select SERIAL_8250_CONSOLE if SERIAL_8250=y
465         help
466           If you have enabled the serial port on the Intel XScale PXA
467           CPU you can make it the console by answering Y to this option.
468
469           Even if you say Y here, the currently visible virtual console
470           (/dev/tty0) will still be used as the system console by default, but
471           you can alter that using a kernel command line option such as
472           "console=ttySA0". (Try "man bootparam" or see the documentation of
473           your boot loader (lilo or loadlin) about how to pass options to the
474           kernel at boot time.)
475
476           Unless you have a specific need, you should use SERIAL_8250_PXA
477           and SERIAL_8250_CONSOLE instead of this.
478
479 config SERIAL_SA1100
480         bool "SA1100 serial port support"
481         depends on ARCH_SA1100
482         select SERIAL_CORE
483         select SERIAL_MCTRL_GPIO if GPIOLIB
484         help
485           If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
486           can enable its onboard serial port by enabling this option.
487           Please read <file:Documentation/arm/sa1100/serial_uart.rst> for further
488           info.
489
490 config SERIAL_SA1100_CONSOLE
491         bool "Console on SA1100 serial port"
492         depends on SERIAL_SA1100
493         select SERIAL_CORE_CONSOLE
494         help
495           If you have enabled the serial port on the SA1100/SA1110 StrongARM
496           CPU you can make it the console by answering Y to this option.
497
498           Even if you say Y here, the currently visible virtual console
499           (/dev/tty0) will still be used as the system console by default, but
500           you can alter that using a kernel command line option such as
501           "console=ttySA0". (Try "man bootparam" or see the documentation of
502           your boot loader (lilo or loadlin) about how to pass options to the
503           kernel at boot time.)
504
505 config SERIAL_IMX
506         tristate "IMX serial port support"
507         depends on ARCH_MXC || COMPILE_TEST
508         select SERIAL_CORE
509         select RATIONAL
510         select SERIAL_MCTRL_GPIO if GPIOLIB
511         help
512           If you have a machine based on a Motorola IMX CPU you
513           can enable its onboard serial port by enabling this option.
514
515 config SERIAL_IMX_CONSOLE
516         bool "Console on IMX serial port"
517         depends on SERIAL_IMX=y
518         select SERIAL_CORE_CONSOLE
519         select SERIAL_EARLYCON if OF
520         help
521           If you have enabled the serial port on the Freescale IMX
522           CPU you can make it the console by answering Y to this option.
523
524           Even if you say Y here, the currently visible virtual console
525           (/dev/tty0) will still be used as the system console by default, but
526           you can alter that using a kernel command line option such as
527           "console=ttymxc0". (Try "man bootparam" or see the documentation of
528           your bootloader about how to pass options to the kernel at boot time.)
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=y
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         help
1036           Select this option if you would like to use a SiFive UART as the
1037           system console.
1038
1039           Even if you say Y here, the currently visible virtual console
1040           (/dev/tty0) will still be used as the system console by default, but
1041           you can alter that using a kernel command line option such as
1042           "console=ttySIFx". (Try "man bootparam" or see the documentation of
1043           your boot loader about how to pass options to the kernel at
1044           boot time.)
1045
1046 config SERIAL_LANTIQ
1047         bool "Lantiq serial driver"
1048         depends on LANTIQ
1049         select SERIAL_CORE
1050         select SERIAL_CORE_CONSOLE
1051         select SERIAL_EARLYCON
1052         help
1053           Support for console and UART on Lantiq SoCs.
1054
1055 config SERIAL_QE
1056         tristate "Freescale QUICC Engine serial port support"
1057         depends on QUICC_ENGINE
1058         select SERIAL_CORE
1059         select FW_LOADER
1060         help
1061           This driver supports the QE serial ports on Freescale embedded
1062           PowerPC that contain a QUICC Engine.
1063
1064 config SERIAL_SCCNXP
1065         tristate "SCCNXP serial port support"
1066         select SERIAL_CORE
1067         help
1068           This selects support for an advanced UART from NXP (Philips).
1069           Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1070           SC28L202, SCC68681 and SCC68692.
1071
1072 config SERIAL_SCCNXP_CONSOLE
1073         bool "Console on SCCNXP serial port"
1074         depends on SERIAL_SCCNXP=y
1075         select SERIAL_CORE_CONSOLE
1076         help
1077           Support for console on SCCNXP serial ports.
1078
1079 config SERIAL_SC16IS7XX_CORE
1080         tristate
1081
1082 config SERIAL_SC16IS7XX
1083         tristate "SC16IS7xx serial support"
1084         select SERIAL_CORE
1085         depends on (SPI_MASTER && !I2C) || I2C
1086         help
1087           This selects support for SC16IS7xx serial ports.
1088           Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
1089           SC16IS760 and SC16IS762. Select supported buses using options below.
1090
1091 config SERIAL_SC16IS7XX_I2C
1092         bool "SC16IS7xx for I2C interface"
1093         depends on SERIAL_SC16IS7XX
1094         depends on I2C
1095         select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1096         select REGMAP_I2C if I2C
1097         default y
1098         help
1099           Enable SC16IS7xx driver on I2C bus,
1100           If required say y, and say n to i2c if not required,
1101           Enabled by default to support oldconfig.
1102           You must select at least one bus for the driver to be built.
1103
1104 config SERIAL_SC16IS7XX_SPI
1105         bool "SC16IS7xx for spi interface"
1106         depends on SERIAL_SC16IS7XX
1107         depends on SPI_MASTER
1108         select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1109         select REGMAP_SPI if SPI_MASTER
1110         help
1111           Enable SC16IS7xx driver on SPI bus,
1112           If required say y, and say n to spi if not required,
1113           This is additional support to exsisting driver.
1114           You must select at least one bus for the driver to be built.
1115
1116 config SERIAL_TIMBERDALE
1117         tristate "Support for timberdale UART"
1118         select SERIAL_CORE
1119         depends on X86_32 || COMPILE_TEST
1120         ---help---
1121         Add support for UART controller on timberdale.
1122
1123 config SERIAL_BCM63XX
1124         tristate "Broadcom BCM63xx/BCM33xx UART support"
1125         select SERIAL_CORE
1126         depends on MIPS || ARM || COMPILE_TEST
1127         help
1128           This enables the driver for the onchip UART core found on
1129           the following chipsets:
1130
1131             BCM33xx (cable modem)
1132             BCM63xx/BCM63xxx (DSL)
1133             BCM68xx (PON)
1134             BCM7xxx (STB) - DOCSIS console
1135
1136 config SERIAL_BCM63XX_CONSOLE
1137         bool "Console on BCM63xx serial port"
1138         depends on SERIAL_BCM63XX=y
1139         select SERIAL_CORE_CONSOLE
1140         select SERIAL_EARLYCON
1141         help
1142           If you have enabled the serial port on the BCM63xx CPU
1143           you can make it the console by answering Y to this option.
1144
1145 config SERIAL_GRLIB_GAISLER_APBUART
1146         tristate "GRLIB APBUART serial support"
1147         depends on OF && SPARC
1148         select SERIAL_CORE
1149         ---help---
1150         Add support for the GRLIB APBUART serial port.
1151
1152 config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1153         bool "Console on GRLIB APBUART serial port"
1154         depends on SERIAL_GRLIB_GAISLER_APBUART=y
1155         select SERIAL_CORE_CONSOLE
1156         help
1157         Support for running a console on the GRLIB APBUART
1158
1159 config SERIAL_ALTERA_JTAGUART
1160         tristate "Altera JTAG UART support"
1161         select SERIAL_CORE
1162         help
1163           This driver supports the Altera JTAG UART port.
1164
1165 config SERIAL_ALTERA_JTAGUART_CONSOLE
1166         bool "Altera JTAG UART console support"
1167         depends on SERIAL_ALTERA_JTAGUART=y
1168         select SERIAL_CORE_CONSOLE
1169         select SERIAL_EARLYCON
1170         help
1171           Enable a Altera JTAG UART port to be the system console.
1172
1173 config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1174         bool "Bypass output when no connection"
1175         depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1176         select SERIAL_CORE_CONSOLE
1177         help
1178           Bypass console output and keep going even if there is no
1179           JTAG terminal connection with the host.
1180
1181 config SERIAL_ALTERA_UART
1182         tristate "Altera UART support"
1183         select SERIAL_CORE
1184         help
1185           This driver supports the Altera softcore UART port.
1186
1187 config SERIAL_ALTERA_UART_MAXPORTS
1188         int "Maximum number of Altera UART ports"
1189         depends on SERIAL_ALTERA_UART
1190         default 4
1191         help
1192           This setting lets you define the maximum number of the Altera
1193           UART ports. The usual default varies from board to board, and
1194           this setting is a way of catering for that.
1195
1196 config SERIAL_ALTERA_UART_BAUDRATE
1197         int "Default baudrate for Altera UART ports"
1198         depends on SERIAL_ALTERA_UART
1199         default 115200
1200         help
1201           This setting lets you define what the default baudrate is for the
1202           Altera UART ports. The usual default varies from board to board,
1203           and this setting is a way of catering for that.
1204
1205 config SERIAL_ALTERA_UART_CONSOLE
1206         bool "Altera UART console support"
1207         depends on SERIAL_ALTERA_UART=y
1208         select SERIAL_CORE_CONSOLE
1209         select SERIAL_EARLYCON
1210         help
1211           Enable a Altera UART port to be the system console.
1212
1213 config SERIAL_IFX6X60
1214         tristate "SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)"
1215         depends on GPIOLIB || COMPILE_TEST
1216         depends on SPI && HAS_DMA
1217         help
1218           Support for the IFX6x60 modem devices on Intel MID platforms.
1219
1220 config SERIAL_PCH_UART
1221         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1222         depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1223         select SERIAL_CORE
1224         help
1225           This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1226           which is an IOH(Input/Output Hub) for x86 embedded processor.
1227           Enabling PCH_DMA, this PCH UART works as DMA mode.
1228
1229           This driver also can be used for LAPIS Semiconductor IOH(Input/
1230           Output Hub), ML7213, ML7223 and ML7831.
1231           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1232           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1233           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1234           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1235
1236 config SERIAL_PCH_UART_CONSOLE
1237         bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1238         depends on SERIAL_PCH_UART=y
1239         select SERIAL_CORE_CONSOLE
1240         help
1241           Say Y here if you wish to use the PCH UART as the system console
1242           (the system  console is the device which receives all kernel messages and
1243           warnings and which allows logins in single user mode).
1244
1245 config SERIAL_MXS_AUART
1246         tristate "MXS AUART support"
1247         depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1248         select SERIAL_CORE
1249         select SERIAL_MCTRL_GPIO if GPIOLIB
1250         help
1251           This driver supports the MXS and Alphascale ASM9260 Application
1252           UART (AUART) port.
1253
1254 config SERIAL_MXS_AUART_CONSOLE
1255         bool "MXS AUART console support"
1256         depends on SERIAL_MXS_AUART=y
1257         select SERIAL_CORE_CONSOLE
1258         help
1259           Enable a MXS AUART port to be the system console.
1260
1261 config SERIAL_XILINX_PS_UART
1262         tristate "Cadence (Xilinx Zynq) UART support"
1263         depends on OF
1264         select SERIAL_CORE
1265         help
1266           This driver supports the Cadence UART. It is found e.g. in Xilinx
1267           Zynq.
1268
1269 config SERIAL_XILINX_PS_UART_CONSOLE
1270         bool "Cadence UART console support"
1271         depends on SERIAL_XILINX_PS_UART=y
1272         select SERIAL_CORE_CONSOLE
1273         select SERIAL_EARLYCON
1274         help
1275           Enable a Cadence UART port to be the system console.
1276
1277 config SERIAL_AR933X
1278         tristate "AR933X serial port support"
1279         depends on HAVE_CLK && ATH79
1280         select SERIAL_CORE
1281         help
1282           If you have an Atheros AR933X SOC based board and want to use the
1283           built-in UART of the SoC, say Y to this option.
1284
1285           To compile this driver as a module, choose M here: the
1286           module will be called ar933x_uart.
1287
1288 config SERIAL_AR933X_CONSOLE
1289         bool "Console on AR933X serial port"
1290         depends on SERIAL_AR933X=y
1291         select SERIAL_CORE_CONSOLE
1292         help
1293           Enable a built-in UART port of the AR933X to be the system console.
1294
1295 config SERIAL_AR933X_NR_UARTS
1296         int "Maximum number of AR933X serial ports"
1297         depends on SERIAL_AR933X
1298         default "2"
1299         help
1300           Set this to the number of serial ports you want the driver
1301           to support.
1302
1303 config SERIAL_EFM32_UART
1304         tristate "EFM32 UART/USART port"
1305         depends on ARM && (ARCH_EFM32 || COMPILE_TEST)
1306         select SERIAL_CORE
1307         help
1308           This driver support the USART and UART ports on
1309           Energy Micro's efm32 SoCs.
1310
1311 config SERIAL_MPS2_UART_CONSOLE
1312         bool "MPS2 UART console support"
1313         depends on SERIAL_MPS2_UART
1314         select SERIAL_CORE_CONSOLE
1315         select SERIAL_EARLYCON
1316
1317 config SERIAL_MPS2_UART
1318         bool "MPS2 UART port"
1319         depends on ARCH_MPS2 || COMPILE_TEST
1320         select SERIAL_CORE
1321         help
1322           This driver support the UART ports on ARM MPS2.
1323
1324 config SERIAL_EFM32_UART_CONSOLE
1325         bool "EFM32 UART/USART console support"
1326         depends on SERIAL_EFM32_UART=y
1327         select SERIAL_CORE_CONSOLE
1328
1329 config SERIAL_ARC
1330         tristate "ARC UART driver support"
1331         select SERIAL_CORE
1332         help
1333           Driver for on-chip UART for ARC(Synopsys) for the legacy
1334           FPGA Boards (ML50x/ARCAngel4)
1335
1336 config SERIAL_ARC_CONSOLE
1337         bool "Console on ARC UART"
1338         depends on SERIAL_ARC=y
1339         select SERIAL_CORE_CONSOLE
1340         select SERIAL_EARLYCON
1341         help
1342           Enable system Console on ARC UART
1343
1344 config SERIAL_ARC_NR_PORTS
1345         int "Number of ARC UART ports"
1346         depends on SERIAL_ARC
1347         range 1 3
1348         default "1"
1349         help
1350           Set this to the number of serial ports you want the driver
1351           to support.
1352
1353 config SERIAL_RP2
1354         tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1355         depends on PCI
1356         select SERIAL_CORE
1357         help
1358           This driver supports the Comtrol RocketPort EXPRESS and
1359           RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1360           These adapters use a "RocketPort 2" ASIC that is not compatible
1361           with the original RocketPort driver (CONFIG_ROCKETPORT).
1362
1363           To compile this driver as a module, choose M here: the
1364           module will be called rp2.
1365
1366           If you want to compile this driver into the kernel, say Y here.  If
1367           you don't have a suitable RocketPort card installed, say N.
1368
1369 config SERIAL_RP2_NR_UARTS
1370         int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1371         depends on SERIAL_RP2
1372         default "32"
1373         help
1374           If multiple cards are present, the default limit of 32 ports may
1375           need to be increased.
1376
1377 config SERIAL_FSL_LPUART
1378         tristate "Freescale lpuart serial port support"
1379         depends on HAS_DMA
1380         select SERIAL_CORE
1381         help
1382           Support for the on-chip lpuart on some Freescale SOCs.
1383
1384 config SERIAL_FSL_LPUART_CONSOLE
1385         bool "Console on Freescale lpuart serial port"
1386         depends on SERIAL_FSL_LPUART=y
1387         select SERIAL_CORE_CONSOLE
1388         select SERIAL_EARLYCON
1389         help
1390           If you have enabled the lpuart serial port on the Freescale SoCs,
1391           you can make it the console by answering Y to this option.
1392
1393 config SERIAL_FSL_LINFLEXUART
1394         tristate "Freescale linflexuart serial port support"
1395         depends on PRINTK
1396         select SERIAL_CORE
1397         help
1398           Support for the on-chip linflexuart on some Freescale SOCs.
1399
1400 config SERIAL_FSL_LINFLEXUART_CONSOLE
1401         bool "Console on Freescale linflexuart serial port"
1402         depends on SERIAL_FSL_LINFLEXUART=y
1403         select SERIAL_CORE_CONSOLE
1404         select SERIAL_EARLYCON
1405         help
1406           If you have enabled the linflexuart serial port on the Freescale
1407           SoCs, you can make it the console by answering Y to this option.
1408
1409 config SERIAL_CONEXANT_DIGICOLOR
1410         tristate "Conexant Digicolor CX92xxx USART serial port support"
1411         depends on OF
1412         select SERIAL_CORE
1413         help
1414           Support for the on-chip USART on Conexant Digicolor SoCs.
1415
1416 config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1417         bool "Console on Conexant Digicolor serial port"
1418         depends on SERIAL_CONEXANT_DIGICOLOR=y
1419         select SERIAL_CORE_CONSOLE
1420         help
1421           If you have enabled the USART serial port on Conexant Digicolor
1422           SoCs, you can make it the console by answering Y to this option.
1423
1424 config SERIAL_ST_ASC
1425         tristate "ST ASC serial port support"
1426         select SERIAL_CORE
1427         depends on ARM || COMPILE_TEST
1428         help
1429           This driver is for the on-chip Asychronous Serial Controller on
1430           STMicroelectronics STi SoCs.
1431           ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1432           It support all industry standard baud rates.
1433
1434           If unsure, say N.
1435
1436 config SERIAL_ST_ASC_CONSOLE
1437         bool "Support for console on ST ASC"
1438         depends on SERIAL_ST_ASC=y
1439         select SERIAL_CORE_CONSOLE
1440
1441 config SERIAL_MEN_Z135
1442         tristate "MEN 16z135 Support"
1443         select SERIAL_CORE
1444         depends on MCB
1445         help
1446           Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1447           on a MCB carrier.
1448
1449           This driver can also be build as a module. If so, the module will be called
1450           men_z135_uart.ko
1451
1452 config SERIAL_SPRD
1453         tristate "Support for Spreadtrum serial"
1454         depends on ARCH_SPRD
1455         select SERIAL_CORE
1456         help
1457           This enables the driver for the Spreadtrum's serial.
1458
1459 config SERIAL_SPRD_CONSOLE
1460         bool "Spreadtrum UART console support"
1461         depends on SERIAL_SPRD=y
1462         select SERIAL_CORE_CONSOLE
1463         select SERIAL_EARLYCON
1464         help
1465           Support for early debug console using Spreadtrum's serial. This enables
1466           the console before standard serial driver is probed. This is enabled
1467           with "earlycon" on the kernel command line. The console is
1468           enabled when early_param is processed.
1469
1470 config SERIAL_STM32
1471         tristate "STMicroelectronics STM32 serial port support"
1472         select SERIAL_CORE
1473         depends on ARCH_STM32 || COMPILE_TEST
1474         help
1475           This driver is for the on-chip Serial Controller on
1476           STMicroelectronics STM32 MCUs.
1477           USART supports Rx & Tx functionality.
1478           It support all industry standard baud rates.
1479
1480           If unsure, say N.
1481
1482 config SERIAL_STM32_CONSOLE
1483         bool "Support for console on STM32"
1484         depends on SERIAL_STM32=y
1485         select SERIAL_CORE_CONSOLE
1486
1487 config SERIAL_MVEBU_UART
1488         bool "Marvell EBU serial port support"
1489         depends on ARCH_MVEBU || COMPILE_TEST
1490         select SERIAL_CORE
1491         help
1492           This driver is for Marvell EBU SoC's UART. If you have a machine
1493           based on the Armada-3700 SoC and wish to use the on-board serial
1494           port,
1495           say 'Y' here.
1496           Otherwise, say 'N'.
1497
1498 config SERIAL_MVEBU_CONSOLE
1499         bool "Console on Marvell EBU serial port"
1500         depends on SERIAL_MVEBU_UART
1501         select SERIAL_CORE_CONSOLE
1502         select SERIAL_EARLYCON
1503         default y
1504         help
1505           Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1506           (the system console is the device which receives all kernel messages
1507           and warnings and which allows logins in single user mode)
1508           Otherwise, say 'N'.
1509
1510 config SERIAL_OWL
1511         tristate "Actions Semi Owl serial port support"
1512         depends on ARCH_ACTIONS || COMPILE_TEST
1513         select SERIAL_CORE
1514         help
1515           This driver is for Actions Semiconductor S500/S900 SoC's UART.
1516           Say 'Y' here if you wish to use the on-board serial port.
1517           Otherwise, say 'N'.
1518
1519 config SERIAL_OWL_CONSOLE
1520         bool "Console on Actions Semi Owl serial port"
1521         depends on SERIAL_OWL=y
1522         select SERIAL_CORE_CONSOLE
1523         select SERIAL_EARLYCON
1524         default y
1525         help
1526           Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1527           as the system console.
1528
1529 config SERIAL_RDA
1530         bool "RDA Micro serial port support"
1531         depends on ARCH_RDA || COMPILE_TEST
1532         select SERIAL_CORE
1533         help
1534           This driver is for RDA8810PL SoC's UART.
1535           Say 'Y' here if you wish to use the on-board serial port.
1536           Otherwise, say 'N'.
1537
1538 config SERIAL_RDA_CONSOLE
1539         bool "Console on RDA Micro serial port"
1540         depends on SERIAL_RDA=y
1541         select SERIAL_CORE_CONSOLE
1542         select SERIAL_EARLYCON
1543         default y
1544         help
1545           Say 'Y' here if you wish to use the RDA8810PL UART as the system
1546           console. Only earlycon is implemented currently.
1547
1548 config SERIAL_MILBEAUT_USIO
1549         tristate "Milbeaut USIO/UART serial port support"
1550         depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1551         default ARCH_MILBEAUT
1552         select SERIAL_CORE
1553         help
1554           This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1555
1556 config SERIAL_MILBEAUT_USIO_PORTS
1557         int "Maximum number of CSIO/UART ports (1-8)"
1558         range 1 8
1559         depends on SERIAL_MILBEAUT_USIO
1560         default "4"
1561
1562 config SERIAL_MILBEAUT_USIO_CONSOLE
1563         bool "Support for console on MILBEAUT USIO/UART serial port"
1564         depends on SERIAL_MILBEAUT_USIO=y
1565         default y
1566         select SERIAL_CORE_CONSOLE
1567         select SERIAL_EARLYCON
1568         help
1569           Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1570           SoCs as the system console (the system console is the device which
1571           receives all kernel messages and warnings and which allows logins in
1572           single user mode).
1573
1574 endmenu
1575
1576 config SERIAL_MCTRL_GPIO
1577         tristate
1578
1579 endif # TTY