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