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