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