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