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