]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/tty/serial/Kconfig
Merge tag 'io_uring-5.6-2020-02-22' of git://git.kernel.dk/linux-block
[linux.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_SBI
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 || COMPILE_TEST
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
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         bool "Lantiq serial driver"
1049         depends on LANTIQ
1050         select SERIAL_CORE
1051         select SERIAL_CORE_CONSOLE
1052         select SERIAL_EARLYCON
1053         help
1054           Support for console and UART on Lantiq SoCs.
1055
1056 config SERIAL_QE
1057         tristate "Freescale QUICC Engine serial port support"
1058         depends on QUICC_ENGINE
1059         select SERIAL_CORE
1060         select FW_LOADER
1061         help
1062           This driver supports the QE serial ports on Freescale embedded
1063           PowerPC that contain a QUICC Engine.
1064
1065 config SERIAL_SCCNXP
1066         tristate "SCCNXP serial port support"
1067         select SERIAL_CORE
1068         help
1069           This selects support for an advanced UART from NXP (Philips).
1070           Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1071           SC28L202, SCC68681 and SCC68692.
1072
1073 config SERIAL_SCCNXP_CONSOLE
1074         bool "Console on SCCNXP serial port"
1075         depends on SERIAL_SCCNXP=y
1076         select SERIAL_CORE_CONSOLE
1077         help
1078           Support for console on SCCNXP serial ports.
1079
1080 config SERIAL_SC16IS7XX_CORE
1081         tristate
1082
1083 config SERIAL_SC16IS7XX
1084         tristate "SC16IS7xx serial support"
1085         select SERIAL_CORE
1086         depends on (SPI_MASTER && !I2C) || I2C
1087         help
1088           This selects support for SC16IS7xx serial ports.
1089           Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
1090           SC16IS760 and SC16IS762. Select supported buses using options below.
1091
1092 config SERIAL_SC16IS7XX_I2C
1093         bool "SC16IS7xx for I2C interface"
1094         depends on SERIAL_SC16IS7XX
1095         depends on I2C
1096         select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1097         select REGMAP_I2C if I2C
1098         default y
1099         help
1100           Enable SC16IS7xx driver on I2C bus,
1101           If required say y, and say n to i2c if not required,
1102           Enabled by default to support oldconfig.
1103           You must select at least one bus for the driver to be built.
1104
1105 config SERIAL_SC16IS7XX_SPI
1106         bool "SC16IS7xx for spi interface"
1107         depends on SERIAL_SC16IS7XX
1108         depends on SPI_MASTER
1109         select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1110         select REGMAP_SPI if SPI_MASTER
1111         help
1112           Enable SC16IS7xx driver on SPI bus,
1113           If required say y, and say n to spi if not required,
1114           This is additional support to exsisting driver.
1115           You must select at least one bus for the driver to be built.
1116
1117 config SERIAL_TIMBERDALE
1118         tristate "Support for timberdale UART"
1119         select SERIAL_CORE
1120         depends on X86_32 || COMPILE_TEST
1121         ---help---
1122         Add support for UART controller on timberdale.
1123
1124 config SERIAL_BCM63XX
1125         tristate "Broadcom BCM63xx/BCM33xx UART support"
1126         select SERIAL_CORE
1127         depends on MIPS || ARM || COMPILE_TEST
1128         help
1129           This enables the driver for the onchip UART core found on
1130           the following chipsets:
1131
1132             BCM33xx (cable modem)
1133             BCM63xx/BCM63xxx (DSL)
1134             BCM68xx (PON)
1135             BCM7xxx (STB) - DOCSIS console
1136
1137 config SERIAL_BCM63XX_CONSOLE
1138         bool "Console on BCM63xx serial port"
1139         depends on SERIAL_BCM63XX=y
1140         select SERIAL_CORE_CONSOLE
1141         select SERIAL_EARLYCON
1142         help
1143           If you have enabled the serial port on the BCM63xx CPU
1144           you can make it the console by answering Y to this option.
1145
1146 config SERIAL_GRLIB_GAISLER_APBUART
1147         tristate "GRLIB APBUART serial support"
1148         depends on OF && SPARC
1149         select SERIAL_CORE
1150         ---help---
1151         Add support for the GRLIB APBUART serial port.
1152
1153 config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1154         bool "Console on GRLIB APBUART serial port"
1155         depends on SERIAL_GRLIB_GAISLER_APBUART=y
1156         select SERIAL_CORE_CONSOLE
1157         help
1158         Support for running a console on the GRLIB APBUART
1159
1160 config SERIAL_ALTERA_JTAGUART
1161         tristate "Altera JTAG UART support"
1162         select SERIAL_CORE
1163         help
1164           This driver supports the Altera JTAG UART port.
1165
1166 config SERIAL_ALTERA_JTAGUART_CONSOLE
1167         bool "Altera JTAG UART console support"
1168         depends on SERIAL_ALTERA_JTAGUART=y
1169         select SERIAL_CORE_CONSOLE
1170         select SERIAL_EARLYCON
1171         help
1172           Enable a Altera JTAG UART port to be the system console.
1173
1174 config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1175         bool "Bypass output when no connection"
1176         depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1177         select SERIAL_CORE_CONSOLE
1178         help
1179           Bypass console output and keep going even if there is no
1180           JTAG terminal connection with the host.
1181
1182 config SERIAL_ALTERA_UART
1183         tristate "Altera UART support"
1184         select SERIAL_CORE
1185         help
1186           This driver supports the Altera softcore UART port.
1187
1188 config SERIAL_ALTERA_UART_MAXPORTS
1189         int "Maximum number of Altera UART ports"
1190         depends on SERIAL_ALTERA_UART
1191         default 4
1192         help
1193           This setting lets you define the maximum number of the Altera
1194           UART ports. The usual default varies from board to board, and
1195           this setting is a way of catering for that.
1196
1197 config SERIAL_ALTERA_UART_BAUDRATE
1198         int "Default baudrate for Altera UART ports"
1199         depends on SERIAL_ALTERA_UART
1200         default 115200
1201         help
1202           This setting lets you define what the default baudrate is for the
1203           Altera UART ports. The usual default varies from board to board,
1204           and this setting is a way of catering for that.
1205
1206 config SERIAL_ALTERA_UART_CONSOLE
1207         bool "Altera UART console support"
1208         depends on SERIAL_ALTERA_UART=y
1209         select SERIAL_CORE_CONSOLE
1210         select SERIAL_EARLYCON
1211         help
1212           Enable a Altera UART port to be the system console.
1213
1214 config SERIAL_IFX6X60
1215         tristate "SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)"
1216         depends on GPIOLIB || COMPILE_TEST
1217         depends on SPI && HAS_DMA
1218         help
1219           Support for the IFX6x60 modem devices on Intel MID platforms.
1220
1221 config SERIAL_PCH_UART
1222         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1223         depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1224         select SERIAL_CORE
1225         help
1226           This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1227           which is an IOH(Input/Output Hub) for x86 embedded processor.
1228           Enabling PCH_DMA, this PCH UART works as DMA mode.
1229
1230           This driver also can be used for LAPIS Semiconductor IOH(Input/
1231           Output Hub), ML7213, ML7223 and ML7831.
1232           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1233           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1234           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1235           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1236
1237 config SERIAL_PCH_UART_CONSOLE
1238         bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1239         depends on SERIAL_PCH_UART=y
1240         select SERIAL_CORE_CONSOLE
1241         help
1242           Say Y here if you wish to use the PCH UART as the system console
1243           (the system  console is the device which receives all kernel messages and
1244           warnings and which allows logins in single user mode).
1245
1246 config SERIAL_MXS_AUART
1247         tristate "MXS AUART support"
1248         depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1249         select SERIAL_CORE
1250         select SERIAL_MCTRL_GPIO if GPIOLIB
1251         help
1252           This driver supports the MXS and Alphascale ASM9260 Application
1253           UART (AUART) port.
1254
1255 config SERIAL_MXS_AUART_CONSOLE
1256         bool "MXS AUART console support"
1257         depends on SERIAL_MXS_AUART=y
1258         select SERIAL_CORE_CONSOLE
1259         help
1260           Enable a MXS AUART port to be the system console.
1261
1262 config SERIAL_XILINX_PS_UART
1263         tristate "Cadence (Xilinx Zynq) UART support"
1264         depends on OF
1265         select SERIAL_CORE
1266         help
1267           This driver supports the Cadence UART. It is found e.g. in Xilinx
1268           Zynq.
1269
1270 config SERIAL_XILINX_PS_UART_CONSOLE
1271         bool "Cadence UART console support"
1272         depends on SERIAL_XILINX_PS_UART=y
1273         select SERIAL_CORE_CONSOLE
1274         select SERIAL_EARLYCON
1275         help
1276           Enable a Cadence UART port to be the system console.
1277
1278 config SERIAL_AR933X
1279         tristate "AR933X serial port support"
1280         depends on HAVE_CLK && ATH79
1281         select SERIAL_CORE
1282         help
1283           If you have an Atheros AR933X SOC based board and want to use the
1284           built-in UART of the SoC, say Y to this option.
1285
1286           To compile this driver as a module, choose M here: the
1287           module will be called ar933x_uart.
1288
1289 config SERIAL_AR933X_CONSOLE
1290         bool "Console on AR933X serial port"
1291         depends on SERIAL_AR933X=y
1292         select SERIAL_CORE_CONSOLE
1293         help
1294           Enable a built-in UART port of the AR933X to be the system console.
1295
1296 config SERIAL_AR933X_NR_UARTS
1297         int "Maximum number of AR933X serial ports"
1298         depends on SERIAL_AR933X
1299         default "2"
1300         help
1301           Set this to the number of serial ports you want the driver
1302           to support.
1303
1304 config SERIAL_EFM32_UART
1305         tristate "EFM32 UART/USART port"
1306         depends on ARM && (ARCH_EFM32 || COMPILE_TEST)
1307         select SERIAL_CORE
1308         help
1309           This driver support the USART and UART ports on
1310           Energy Micro's efm32 SoCs.
1311
1312 config SERIAL_MPS2_UART_CONSOLE
1313         bool "MPS2 UART console support"
1314         depends on SERIAL_MPS2_UART
1315         select SERIAL_CORE_CONSOLE
1316         select SERIAL_EARLYCON
1317
1318 config SERIAL_MPS2_UART
1319         bool "MPS2 UART port"
1320         depends on ARCH_MPS2 || COMPILE_TEST
1321         select SERIAL_CORE
1322         help
1323           This driver support the UART ports on ARM MPS2.
1324
1325 config SERIAL_EFM32_UART_CONSOLE
1326         bool "EFM32 UART/USART console support"
1327         depends on SERIAL_EFM32_UART=y
1328         select SERIAL_CORE_CONSOLE
1329
1330 config SERIAL_ARC
1331         tristate "ARC UART driver support"
1332         select SERIAL_CORE
1333         help
1334           Driver for on-chip UART for ARC(Synopsys) for the legacy
1335           FPGA Boards (ML50x/ARCAngel4)
1336
1337 config SERIAL_ARC_CONSOLE
1338         bool "Console on ARC UART"
1339         depends on SERIAL_ARC=y
1340         select SERIAL_CORE_CONSOLE
1341         select SERIAL_EARLYCON
1342         help
1343           Enable system Console on ARC UART
1344
1345 config SERIAL_ARC_NR_PORTS
1346         int "Number of ARC UART ports"
1347         depends on SERIAL_ARC
1348         range 1 3
1349         default "1"
1350         help
1351           Set this to the number of serial ports you want the driver
1352           to support.
1353
1354 config SERIAL_RP2
1355         tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1356         depends on PCI
1357         select SERIAL_CORE
1358         help
1359           This driver supports the Comtrol RocketPort EXPRESS and
1360           RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1361           These adapters use a "RocketPort 2" ASIC that is not compatible
1362           with the original RocketPort driver (CONFIG_ROCKETPORT).
1363
1364           To compile this driver as a module, choose M here: the
1365           module will be called rp2.
1366
1367           If you want to compile this driver into the kernel, say Y here.  If
1368           you don't have a suitable RocketPort card installed, say N.
1369
1370 config SERIAL_RP2_NR_UARTS
1371         int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1372         depends on SERIAL_RP2
1373         default "32"
1374         help
1375           If multiple cards are present, the default limit of 32 ports may
1376           need to be increased.
1377
1378 config SERIAL_FSL_LPUART
1379         tristate "Freescale lpuart serial port support"
1380         depends on HAS_DMA
1381         select SERIAL_CORE
1382         help
1383           Support for the on-chip lpuart on some Freescale SOCs.
1384
1385 config SERIAL_FSL_LPUART_CONSOLE
1386         bool "Console on Freescale lpuart serial port"
1387         depends on SERIAL_FSL_LPUART=y
1388         select SERIAL_CORE_CONSOLE
1389         select SERIAL_EARLYCON
1390         help
1391           If you have enabled the lpuart serial port on the Freescale SoCs,
1392           you can make it the console by answering Y to this option.
1393
1394 config SERIAL_FSL_LINFLEXUART
1395         tristate "Freescale LINFlexD UART serial port support"
1396         depends on PRINTK
1397         select SERIAL_CORE
1398         help
1399           Support for the on-chip LINFlexD UART on some Freescale SOCs.
1400
1401 config SERIAL_FSL_LINFLEXUART_CONSOLE
1402         bool "Console on Freescale LINFlexD UART serial port"
1403         depends on SERIAL_FSL_LINFLEXUART=y
1404         select SERIAL_CORE_CONSOLE
1405         select SERIAL_EARLYCON
1406         help
1407           If you have enabled the LINFlexD UART serial port on the Freescale
1408           SoCs, you can make it the console by answering Y to this option.
1409
1410 config SERIAL_CONEXANT_DIGICOLOR
1411         tristate "Conexant Digicolor CX92xxx USART serial port support"
1412         depends on OF
1413         select SERIAL_CORE
1414         help
1415           Support for the on-chip USART on Conexant Digicolor SoCs.
1416
1417 config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1418         bool "Console on Conexant Digicolor serial port"
1419         depends on SERIAL_CONEXANT_DIGICOLOR=y
1420         select SERIAL_CORE_CONSOLE
1421         help
1422           If you have enabled the USART serial port on Conexant Digicolor
1423           SoCs, you can make it the console by answering Y to this option.
1424
1425 config SERIAL_ST_ASC
1426         tristate "ST ASC serial port support"
1427         select SERIAL_CORE
1428         depends on ARM || COMPILE_TEST
1429         help
1430           This driver is for the on-chip Asychronous Serial Controller on
1431           STMicroelectronics STi SoCs.
1432           ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1433           It support all industry standard baud rates.
1434
1435           If unsure, say N.
1436
1437 config SERIAL_ST_ASC_CONSOLE
1438         bool "Support for console on ST ASC"
1439         depends on SERIAL_ST_ASC=y
1440         select SERIAL_CORE_CONSOLE
1441
1442 config SERIAL_MEN_Z135
1443         tristate "MEN 16z135 Support"
1444         select SERIAL_CORE
1445         depends on MCB
1446         help
1447           Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1448           on a MCB carrier.
1449
1450           This driver can also be build as a module. If so, the module will be called
1451           men_z135_uart.ko
1452
1453 config SERIAL_SPRD
1454         tristate "Support for Spreadtrum serial"
1455         depends on ARCH_SPRD
1456         select SERIAL_CORE
1457         help
1458           This enables the driver for the Spreadtrum's serial.
1459
1460 config SERIAL_SPRD_CONSOLE
1461         bool "Spreadtrum UART console support"
1462         depends on SERIAL_SPRD=y
1463         select SERIAL_CORE_CONSOLE
1464         select SERIAL_EARLYCON
1465         help
1466           Support for early debug console using Spreadtrum's serial. This enables
1467           the console before standard serial driver is probed. This is enabled
1468           with "earlycon" on the kernel command line. The console is
1469           enabled when early_param is processed.
1470
1471 config SERIAL_STM32
1472         tristate "STMicroelectronics STM32 serial port support"
1473         select SERIAL_CORE
1474         depends on ARCH_STM32 || COMPILE_TEST
1475         help
1476           This driver is for the on-chip Serial Controller on
1477           STMicroelectronics STM32 MCUs.
1478           USART supports Rx & Tx functionality.
1479           It support all industry standard baud rates.
1480
1481           If unsure, say N.
1482
1483 config SERIAL_STM32_CONSOLE
1484         bool "Support for console on STM32"
1485         depends on SERIAL_STM32=y
1486         select SERIAL_CORE_CONSOLE
1487
1488 config SERIAL_MVEBU_UART
1489         bool "Marvell EBU serial port support"
1490         depends on ARCH_MVEBU || COMPILE_TEST
1491         select SERIAL_CORE
1492         help
1493           This driver is for Marvell EBU SoC's UART. If you have a machine
1494           based on the Armada-3700 SoC and wish to use the on-board serial
1495           port,
1496           say 'Y' here.
1497           Otherwise, say 'N'.
1498
1499 config SERIAL_MVEBU_CONSOLE
1500         bool "Console on Marvell EBU serial port"
1501         depends on SERIAL_MVEBU_UART
1502         select SERIAL_CORE_CONSOLE
1503         select SERIAL_EARLYCON
1504         default y
1505         help
1506           Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1507           (the system console is the device which receives all kernel messages
1508           and warnings and which allows logins in single user mode)
1509           Otherwise, say 'N'.
1510
1511 config SERIAL_OWL
1512         tristate "Actions Semi Owl serial port support"
1513         depends on ARCH_ACTIONS || COMPILE_TEST
1514         select SERIAL_CORE
1515         help
1516           This driver is for Actions Semiconductor S500/S900 SoC's UART.
1517           Say 'Y' here if you wish to use the on-board serial port.
1518           Otherwise, say 'N'.
1519
1520 config SERIAL_OWL_CONSOLE
1521         bool "Console on Actions Semi Owl serial port"
1522         depends on SERIAL_OWL=y
1523         select SERIAL_CORE_CONSOLE
1524         select SERIAL_EARLYCON
1525         default y
1526         help
1527           Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1528           as the system console.
1529
1530 config SERIAL_RDA
1531         bool "RDA Micro serial port support"
1532         depends on ARCH_RDA || COMPILE_TEST
1533         select SERIAL_CORE
1534         help
1535           This driver is for RDA8810PL SoC's UART.
1536           Say 'Y' here if you wish to use the on-board serial port.
1537           Otherwise, say 'N'.
1538
1539 config SERIAL_RDA_CONSOLE
1540         bool "Console on RDA Micro serial port"
1541         depends on SERIAL_RDA=y
1542         select SERIAL_CORE_CONSOLE
1543         select SERIAL_EARLYCON
1544         default y
1545         help
1546           Say 'Y' here if you wish to use the RDA8810PL UART as the system
1547           console. Only earlycon is implemented currently.
1548
1549 config SERIAL_MILBEAUT_USIO
1550         tristate "Milbeaut USIO/UART serial port support"
1551         depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1552         default ARCH_MILBEAUT
1553         select SERIAL_CORE
1554         help
1555           This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1556
1557 config SERIAL_MILBEAUT_USIO_PORTS
1558         int "Maximum number of CSIO/UART ports (1-8)"
1559         range 1 8
1560         depends on SERIAL_MILBEAUT_USIO
1561         default "4"
1562
1563 config SERIAL_MILBEAUT_USIO_CONSOLE
1564         bool "Support for console on MILBEAUT USIO/UART serial port"
1565         depends on SERIAL_MILBEAUT_USIO=y
1566         default y
1567         select SERIAL_CORE_CONSOLE
1568         select SERIAL_EARLYCON
1569         help
1570           Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1571           SoCs as the system console (the system console is the device which
1572           receives all kernel messages and warnings and which allows logins in
1573           single user mode).
1574
1575 endmenu
1576
1577 config SERIAL_MCTRL_GPIO
1578         tristate
1579
1580 endif # TTY