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