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