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