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_SEMIHOST
77 bool "Early console using Arm compatible semihosting"
78 depends on ARM64 || ARM || RISCV
79 select SERIAL_CORE
80 select SERIAL_CORE_CONSOLE
81 select SERIAL_EARLYCON
82 help
83 Support for early debug console using Arm compatible semihosting.
84 This enables the console before standard serial driver is probed.
85 This is enabled with "earlycon=smh" on the kernel command line.
86 The console is 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
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_MICROCHIP || 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_MESON
183 tristate "Meson serial port support"
184 depends on ARCH_MESON || COMPILE_TEST
185 select SERIAL_CORE
186 help
187 This enables the driver for the on-chip UARTs of the Amlogic
188 MesonX processors.
189
190config SERIAL_MESON_CONSOLE
191 bool "Support for console on meson"
192 depends on SERIAL_MESON
193 select SERIAL_CORE_CONSOLE
194 select SERIAL_EARLYCON
195 help
196 Say Y here if you wish to use a Amlogic MesonX UART as the
197 system console (the system console is the device which
198 receives all kernel messages and warnings and which allows
199 logins in single user mode) as /dev/ttyAMLx.
200
201config SERIAL_CLPS711X
202 tristate "CLPS711X serial port support"
203 depends on ARCH_CLPS711X || COMPILE_TEST
204 select SERIAL_CORE
205 select SERIAL_MCTRL_GPIO if GPIOLIB
206 help
207 This enables the driver for the on-chip UARTs of the Cirrus
208 Logic EP711x/EP721x/EP731x processors.
209
210config SERIAL_CLPS711X_CONSOLE
211 bool "Support for console on CLPS711X serial port"
212 depends on SERIAL_CLPS711X=y
213 select SERIAL_CORE_CONSOLE
214 help
215 Even if you say Y here, the currently visible virtual console
216 (/dev/tty0) will still be used as the system console by default, but
217 you can alter that using a kernel command line option such as
218 "console=ttyCL1".
219
220config SERIAL_SAMSUNG
221 tristate "Samsung SoC serial support"
222 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || ARCH_ARTPEC || COMPILE_TEST
223 select SERIAL_CORE
224 help
225 Support for the on-chip UARTs on the Samsung
226 S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
227 /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
228 these ports, depending on how the serial port pins are configured.
229
230 Choose Y/M here only if you build for such SoC.
231
232config SERIAL_SAMSUNG_UARTS
233 int
234 depends on SERIAL_SAMSUNG
235 default 4
236 help
237 Select the number of available UART ports for the Samsung S3C
238 serial driver
239
240config SERIAL_SAMSUNG_CONSOLE
241 bool "Support for console on Samsung SoC serial port"
242 depends on SERIAL_SAMSUNG
243 select SERIAL_CORE_CONSOLE
244 select SERIAL_EARLYCON
245 help
246 Allow selection of the S3C24XX on-board serial ports for use as
247 an virtual console.
248
249 Even if you say Y here, the currently visible virtual console
250 (/dev/tty0) will still be used as the system console by default, but
251 you can alter that using a kernel command line option such as
252 "console=ttySACx". (Try "man bootparam" or see the documentation of
253 your boot loader about how to pass options to the kernel at
254 boot time.)
255
256config SERIAL_TEGRA
257 tristate "NVIDIA Tegra20/30 SoC serial controller"
258 depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
259 select SERIAL_CORE
260 help
261 Support for the on-chip UARTs on the NVIDIA Tegra series SOCs
262 providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not
263 provide all of these ports, depending on how the serial port
264 are enabled). This driver uses the APB DMA to achieve higher baudrate
265 and better performance.
266
267config SERIAL_TEGRA_TCU
268 tristate "NVIDIA Tegra Combined UART"
269 depends on MAILBOX
270 depends on (ARCH_TEGRA && TEGRA_HSP_MBOX) || COMPILE_TEST
271 select SERIAL_CORE
272 help
273 Support for the mailbox-based TCU (Tegra Combined UART) serial port.
274 TCU is a virtual serial port that allows multiplexing multiple data
275 streams into a single hardware serial port.
276
277config SERIAL_TEGRA_TCU_CONSOLE
278 bool "Support for console on a Tegra TCU serial port"
279 depends on SERIAL_TEGRA_TCU=y
280 select SERIAL_CORE_CONSOLE
281 default y
282 help
283 If you say Y here, it will be possible to use a the Tegra TCU as the
284 system console (the system console is the device which receives all
285 kernel messages and warnings and which allows logins in single user
286 mode).
287
288 If unsure, say Y.
289
290config SERIAL_TEGRA_UTC
291 tristate "NVIDIA Tegra UART Trace Controller"
292 depends on ARCH_TEGRA || COMPILE_TEST
293 select SERIAL_CORE
294 help
295 Support for Tegra UTC (UART Trace controller) client serial port.
296
297 UTC is a HW based serial port that allows multiplexing multiple data
298 streams of up to 16 UTC clients into a single hardware serial port.
299
300config SERIAL_TEGRA_UTC_CONSOLE
301 bool "Support for console on a Tegra UTC serial port"
302 depends on SERIAL_TEGRA_UTC
303 select SERIAL_CORE_CONSOLE
304 default SERIAL_TEGRA_UTC
305 help
306 If you say Y here, it will be possible to use a Tegra UTC client as
307 the system console (the system console is the device which receives
308 all kernel messages and warnings and which allows logins in single
309 user mode).
310
311 If unsure, say Y.
312
313config SERIAL_MAX3100
314 tristate "MAX3100/3110/3111/3222 support"
315 depends on SPI
316 select SERIAL_CORE
317 help
318 This selects support for an advanced UART from Maxim.
319 Supported ICs are MAX3100, MAX3110, MAX3111, MAX3222.
320
321 Say Y here if you want to support these ICs.
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/arch/arm/sa1100/serial_uart.rst> for
461 further 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 If maximum number of uartlite serial ports is more than 4, then the
543 driver uses dynamic allocation instead of static allocation for major
544 number.
545
546config SERIAL_SUNCORE
547 bool
548 depends on SPARC
549 select SERIAL_CORE
550 select SERIAL_CORE_CONSOLE
551 default y
552
553config SERIAL_SUNZILOG
554 tristate "Sun Zilog8530 serial support"
555 depends on SPARC
556 help
557 This driver supports the Zilog8530 serial ports found on many Sparc
558 systems. Say Y or M if you want to be able to these serial ports.
559
560config SERIAL_SUNZILOG_CONSOLE
561 bool "Console on Sun Zilog8530 serial port"
562 depends on SERIAL_SUNZILOG=y
563 help
564 If you would like to be able to use the Zilog8530 serial port
565 on your Sparc system as the console, you can do so by answering
566 Y to this option.
567
568config SERIAL_SUNSU
569 tristate "Sun SU serial support"
570 depends on SPARC && PCI
571 help
572 This driver supports the 8250 serial ports that run the keyboard and
573 mouse on (PCI) UltraSPARC systems. Say Y or M if you want to be able
574 to these serial ports.
575
576config SERIAL_SUNSU_CONSOLE
577 bool "Console on Sun SU serial port"
578 depends on SERIAL_SUNSU=y
579 help
580 If you would like to be able to use the SU serial port
581 on your Sparc system as the console, you can do so by answering
582 Y to this option.
583
584config SERIAL_MUX
585 tristate "Serial MUX support"
586 depends on GSC
587 select SERIAL_CORE
588 default y
589 help
590 Saying Y here will enable the hardware MUX serial driver for
591 the Nova, K class systems and D class with a 'remote control card'.
592 The hardware MUX is not 8250/16550 compatible therefore the
593 /dev/ttyB0 device is shared between the Serial MUX and the PDC
594 software console. The following steps need to be completed to use
595 the Serial MUX:
596
597 1. create the device entry (mknod /dev/ttyB0 c 11 0)
598 2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
599 3. Add device ttyB0 to /etc/securetty (if you want to log on as
600 root on this console.)
601 4. Change the kernel command console parameter to: console=ttyB0
602
603config SERIAL_MUX_CONSOLE
604 bool "Support for console on serial MUX"
605 depends on SERIAL_MUX=y
606 select SERIAL_CORE_CONSOLE
607 default y
608
609config SERIAL_SUNSAB
610 tristate "Sun Siemens SAB82532 serial support"
611 depends on SPARC && PCI
612 help
613 This driver supports the Siemens SAB82532 DUSCC serial ports on newer
614 (PCI) UltraSPARC systems. Say Y or M if you want to be able to these
615 serial ports.
616
617config SERIAL_SUNSAB_CONSOLE
618 bool "Console on Sun Siemens SAB82532 serial port"
619 depends on SERIAL_SUNSAB=y
620 help
621 If you would like to be able to use the SAB82532 serial port
622 on your Sparc system as the console, you can do so by answering
623 Y to this option.
624
625config SERIAL_SUNHV
626 bool "Sun4v Hypervisor Console support"
627 depends on SPARC64
628 help
629 This driver supports the console device found on SUN4V Sparc
630 systems. Say Y if you want to be able to use this device.
631
632config SERIAL_IP22_ZILOG
633 tristate "SGI Zilog8530 serial support"
634 depends on SGI_HAS_ZILOG
635 select SERIAL_CORE
636 help
637 This driver supports the Zilog8530 serial ports found on SGI
638 systems. Say Y or M if you want to be able to these serial ports.
639
640config SERIAL_IP22_ZILOG_CONSOLE
641 bool "Console on SGI Zilog8530 serial port"
642 depends on SERIAL_IP22_ZILOG=y
643 select SERIAL_CORE_CONSOLE
644
645config SERIAL_SH_SCI
646 tristate "SuperH SCI(F) serial port support"
647 depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
648 select SERIAL_CORE
649 select SERIAL_MCTRL_GPIO if GPIOLIB
650
651config SERIAL_SH_SCI_NR_UARTS
652 int "Maximum number of SCI(F) serial ports" if EXPERT
653 range 1 64 if 64BIT
654 range 1 32 if !64BIT
655 depends on SERIAL_SH_SCI
656 default "10" if SUPERH
657 default "18" if ARCH_RENESAS
658 default "2"
659
660config SERIAL_SH_SCI_CONSOLE
661 bool "Support for console on SuperH SCI(F)" if EXPERT
662 depends on SERIAL_SH_SCI=y
663 select SERIAL_CORE_CONSOLE
664 default y
665
666config SERIAL_SH_SCI_EARLYCON
667 bool "Support for early console on SuperH SCI(F)" if EXPERT
668 depends on SERIAL_SH_SCI=y
669 select SERIAL_CORE_CONSOLE
670 select SERIAL_EARLYCON
671 default ARCH_RENESAS
672
673config SERIAL_SH_SCI_DMA
674 bool "DMA support" if EXPERT
675 depends on SERIAL_SH_SCI && DMA_ENGINE
676 default ARCH_RENESAS
677
678config SERIAL_RSCI
679 tristate "Support for Renesas RZ/T2H SCI variant"
680 depends on SERIAL_SH_SCI
681 help
682 Support for the RZ/T2H SCI variant with fifo.
683 Say Y if you want to be able to use the RZ/T2H SCI serial port.
684
685config SERIAL_HS_LPC32XX
686 tristate "LPC32XX high speed serial port support"
687 depends on ARCH_LPC32XX || COMPILE_TEST
688 depends on OF
689 select SERIAL_CORE
690 help
691 Support for the LPC32XX high speed serial ports (up to 900kbps).
692 Those are UARTs completely different from the Standard UARTs on the
693 LPC32XX SoC.
694 Choose M or Y here to build this driver.
695
696config SERIAL_HS_LPC32XX_CONSOLE
697 bool "Enable LPC32XX high speed UART serial console"
698 depends on SERIAL_HS_LPC32XX=y
699 select SERIAL_CORE_CONSOLE
700 help
701 If you would like to be able to use one of the high speed serial
702 ports on the LPC32XX as the console, you can do so by answering
703 Y to this option.
704
705config SERIAL_CORE
706 tristate
707
708config SERIAL_CORE_CONSOLE
709 bool
710
711config CONSOLE_POLL
712 bool
713
714config SERIAL_MCF
715 bool "Coldfire serial support"
716 depends on COLDFIRE
717 select SERIAL_CORE
718 help
719 This serial driver supports the Freescale Coldfire serial ports.
720
721config SERIAL_MCF_BAUDRATE
722 int "Default baudrate for Coldfire serial ports"
723 depends on SERIAL_MCF
724 default 19200
725 help
726 This setting lets you define what the default baudrate is for the
727 ColdFire serial ports. The usual default varies from board to board,
728 and this setting is a way of catering for that.
729
730config SERIAL_MCF_CONSOLE
731 bool "Coldfire serial console support"
732 depends on SERIAL_MCF
733 select SERIAL_CORE_CONSOLE
734 help
735 Enable a ColdFire internal serial port to be the system console.
736
737config SERIAL_PMACZILOG
738 tristate "Mac or PowerMac z85c30 ESCC support"
739 depends on (M68K && MAC) || PPC_PMAC
740 select SERIAL_CORE
741 help
742 This driver supports the Zilog z85C30 serial ports found on
743 (Power)Mac machines.
744 Say Y or M if you want to be able to these serial ports.
745
746config SERIAL_PMACZILOG_TTYS
747 bool "Use ttySn device nodes for Zilog z85c30"
748 depends on SERIAL_PMACZILOG
749 help
750 The pmac_zilog driver for the z85C30 chip on many powermacs
751 historically used the device numbers for /dev/ttySn. The
752 8250 serial port driver also uses these numbers, which means
753 the two drivers being unable to coexist; you could not use
754 both z85C30 and 8250 type ports at the same time.
755
756 If this option is not selected, the pmac_zilog driver will
757 use the device numbers allocated for /dev/ttyPZn. This allows
758 the pmac_zilog and 8250 drivers to co-exist, but may cause
759 existing userspace setups to break. Programs that need to
760 access the built-in serial ports on powermacs will need to
761 be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
762
763 If you enable this option, any z85c30 ports in the system will
764 be registered as ttyS0 onwards as in the past, and you will be
765 unable to use the 8250 module for PCMCIA or other 16C550-style
766 UARTs.
767
768 Say N unless you need the z85c30 ports on your (Power)Mac
769 to appear as /dev/ttySn.
770
771config SERIAL_PMACZILOG_CONSOLE
772 bool "Console on Mac or PowerMac z85c30 serial port"
773 depends on SERIAL_PMACZILOG=y
774 select SERIAL_CORE_CONSOLE
775 help
776 If you would like to be able to use the z85c30 serial port
777 on your (Power)Mac as the console, you can do so by answering
778 Y to this option.
779
780config SERIAL_CPM
781 tristate "CPM SCC/SMC serial port support"
782 depends on CPM2 || CPM1
783 select SERIAL_CORE
784 help
785 This driver supports the SCC and SMC serial ports on Motorola
786 embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)
787
788config SERIAL_CPM_CONSOLE
789 bool "Support for console on CPM SCC/SMC serial port"
790 depends on SERIAL_CPM=y
791 select SERIAL_CORE_CONSOLE
792 help
793 Say Y here if you wish to use a SCC or SMC CPM UART as the system
794 console (the system console is the device which receives all kernel
795 messages and warnings and which allows logins in single user mode).
796
797 Even if you say Y here, the currently visible framebuffer console
798 (/dev/tty0) will still be used as the system console by default, but
799 you can alter that using a kernel command line option such as
800 "console=ttyCPM0". (Try "man bootparam" or see the documentation of
801 your boot loader (lilo or loadlin) about how to pass options to the
802 kernel at boot time.)
803
804config SERIAL_PIC32
805 tristate "Microchip PIC32 serial support"
806 depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
807 select SERIAL_CORE
808 help
809 If you have a PIC32, this driver supports the serial ports.
810
811 Say Y or M to use PIC32 serial ports, otherwise say N. Note that
812 to use a serial port as a console, this must be included in kernel and
813 not as a module.
814
815config SERIAL_PIC32_CONSOLE
816 bool "PIC32 serial console support"
817 depends on SERIAL_PIC32=y
818 select SERIAL_CORE_CONSOLE
819 help
820 If you have a PIC32, this driver supports the putting a console on one
821 of the serial ports.
822
823 Say Y to use the PIC32 console, otherwise say N.
824
825config SERIAL_MPC52xx
826 tristate "Freescale MPC52xx/MPC512x family PSC serial support"
827 depends on PPC_MPC52xx || PPC_MPC512x
828 select SERIAL_CORE
829 help
830 This driver supports MPC52xx and MPC512x PSC serial ports. If you would
831 like to use them, you must answer Y or M to this option. Note that
832 for use as console, it must be included in kernel and not as a
833 module.
834
835config SERIAL_MPC52xx_CONSOLE
836 bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
837 depends on SERIAL_MPC52xx=y
838 select SERIAL_CORE_CONSOLE
839 help
840 Select this options if you'd like to use one of the PSC serial port
841 of the Freescale MPC52xx family as a console.
842
843config SERIAL_MPC52xx_CONSOLE_BAUD
844 int "Freescale MPC52xx/MPC512x family PSC serial port baud"
845 depends on SERIAL_MPC52xx_CONSOLE=y
846 default "9600"
847 help
848 Select the MPC52xx console baud rate.
849 This value is only used if the bootloader doesn't pass in the
850 console baudrate
851
852config SERIAL_ICOM
853 tristate "IBM Multiport Serial Adapter"
854 depends on PCI
855 depends on PPC_PSERIES || COMPILE_TEST
856 select SERIAL_CORE
857 select FW_LOADER
858 help
859 This driver is for a family of multiport serial adapters
860 including 2 port RVX, 2 port internal modem, 4 port internal
861 modem and a split 1 port RVX and 1 port internal modem.
862
863 This driver can also be built as a module. If so, the module
864 will be called icom.
865
866config SERIAL_TXX9
867 bool "TMPTX39XX/49XX SIO support"
868 depends on HAS_TXX9_SERIAL
869 select SERIAL_CORE
870 default y
871
872config HAS_TXX9_SERIAL
873 bool
874
875config SERIAL_TXX9_NR_UARTS
876 int "Maximum number of TMPTX39XX/49XX SIO ports"
877 depends on SERIAL_TXX9
878 default "6"
879
880config SERIAL_TXX9_CONSOLE
881 bool "TMPTX39XX/49XX SIO Console support"
882 depends on SERIAL_TXX9=y
883 select SERIAL_CORE_CONSOLE
884
885config SERIAL_TXX9_STDSERIAL
886 bool "TX39XX/49XX SIO act as standard serial"
887 depends on !SERIAL_8250 && SERIAL_TXX9
888
889config SERIAL_JSM
890 tristate "Digi International NEO and Classic PCI Support"
891 depends on PCI && HAS_IOPORT
892 select SERIAL_CORE
893 help
894 This is a driver for Digi International's Neo and Classic series
895 of cards which provide multiple serial ports. You would need
896 something like this to connect more than two modems to your Linux
897 box, for instance in order to become a dial-in server. This driver
898 supports PCI boards only.
899
900 If you have a card like this, say Y here, otherwise say N.
901
902 To compile this driver as a module, choose M here: the
903 module will be called jsm.
904
905config SERIAL_MSM
906 tristate "MSM on-chip serial port support"
907 depends on ARCH_QCOM || COMPILE_TEST
908 select SERIAL_CORE
909
910config SERIAL_MSM_CONSOLE
911 bool "MSM serial console support"
912 depends on SERIAL_MSM=y
913 select SERIAL_CORE_CONSOLE
914 select SERIAL_EARLYCON
915
916config SERIAL_QCOM_GENI
917 tristate "QCOM on-chip GENI based serial port support"
918 depends on ARCH_QCOM || COMPILE_TEST
919 depends on QCOM_GENI_SE
920 select SERIAL_CORE
921
922config SERIAL_QCOM_GENI_CONSOLE
923 bool "QCOM GENI Serial Console support"
924 depends on SERIAL_QCOM_GENI
925 select SERIAL_CORE_CONSOLE
926 select SERIAL_EARLYCON
927 help
928 Serial console driver for Qualcomm Technologies Inc's GENI based
929 QUP hardware.
930
931config SERIAL_QCOM_GENI_UART_PORTS
932 int "Maximum number of GENI UART ports"
933 depends on SERIAL_QCOM_GENI
934 default "8"
935 help
936 Set this to the maximum number of serial ports you want the driver
937 to support.
938
939config SERIAL_VT8500
940 bool "VIA VT8500 on-chip serial port support"
941 depends on ARCH_VT8500 || COMPILE_TEST
942 select SERIAL_CORE
943
944config SERIAL_VT8500_CONSOLE
945 bool "VIA VT8500 serial console support"
946 depends on SERIAL_VT8500=y
947 select SERIAL_CORE_CONSOLE
948
949config SERIAL_OMAP
950 tristate "OMAP serial port support"
951 depends on (ARCH_OMAP2PLUS && !SERIAL_8250_OMAP) || COMPILE_TEST
952 select SERIAL_CORE
953 help
954 If you have a machine based on an Texas Instruments OMAP CPU you
955 can enable its onboard serial ports by enabling this option.
956
957 By enabling this option you take advantage of dma feature available
958 with the omap-serial driver. DMA support can be enabled from platform
959 data.
960
961config SERIAL_OMAP_CONSOLE
962 bool "Console on OMAP serial port"
963 depends on SERIAL_OMAP=y
964 select SERIAL_CORE_CONSOLE
965 help
966 Select this option if you would like to use omap serial port as
967 console.
968
969 Even if you say Y here, the currently visible virtual console
970 (/dev/tty0) will still be used as the system console by default, but
971 you can alter that using a kernel command line option such as
972 "console=ttyOx". (Try "man bootparam" or see the documentation of
973 your boot loader about how to pass options to the kernel at
974 boot time.)
975
976config SERIAL_SIFIVE
977 tristate "SiFive UART support"
978 depends on OF
979 default ARCH_SIFIVE || ARCH_CANAAN
980 select SERIAL_CORE
981 help
982 Select this option if you are building a kernel for a device that
983 contains a SiFive UART IP block. This type of UART is present on
984 SiFive FU540 SoCs, among others.
985
986config SERIAL_SIFIVE_CONSOLE
987 bool "Console on SiFive UART"
988 depends on SERIAL_SIFIVE=y
989 default ARCH_SIFIVE || ARCH_CANAAN
990 select SERIAL_CORE_CONSOLE
991 select SERIAL_EARLYCON
992 help
993 Select this option if you would like to use a SiFive UART as the
994 system console.
995
996 Even if you say Y here, the currently visible virtual console
997 (/dev/tty0) will still be used as the system console by default, but
998 you can alter that using a kernel command line option such as
999 "console=ttySIFx". (Try "man bootparam" or see the documentation of
1000 your boot loader about how to pass options to the kernel at
1001 boot time.)
1002
1003config SERIAL_LANTIQ
1004 tristate "Lantiq serial driver"
1005 depends on (LANTIQ || X86) || COMPILE_TEST
1006 select SERIAL_CORE
1007 help
1008 Support for UART on Lantiq and Intel SoCs.
1009 To compile this driver as a module, select M here. The
1010 module will be called lantiq.
1011
1012config SERIAL_LANTIQ_CONSOLE
1013 bool "Console on Lantiq UART"
1014 depends on SERIAL_LANTIQ=y
1015 select SERIAL_CORE_CONSOLE
1016 select SERIAL_EARLYCON
1017 help
1018 Select this option if you would like to use a Lantiq UART as the
1019 system console.
1020
1021config SERIAL_QE
1022 tristate "Freescale QUICC Engine serial port support"
1023 depends on QUICC_ENGINE
1024 select SERIAL_CORE
1025 select FW_LOADER
1026 help
1027 This driver supports the QE serial ports on Freescale embedded
1028 PowerPC that contain a QUICC Engine.
1029
1030config SERIAL_SCCNXP
1031 tristate "SCCNXP serial port support"
1032 select SERIAL_CORE
1033 help
1034 This selects support for an advanced UART from NXP (Philips).
1035 Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1036 SC28L202, SCC68681 and SCC68692.
1037
1038config SERIAL_SCCNXP_CONSOLE
1039 bool "Console on SCCNXP serial port"
1040 depends on SERIAL_SCCNXP=y
1041 select SERIAL_CORE_CONSOLE
1042 help
1043 Support for console on SCCNXP serial ports.
1044
1045config SERIAL_SC16IS7XX
1046 tristate "NXP SC16IS7xx UART support"
1047 depends on SPI_MASTER || I2C || COMPILE_TEST
1048 select SERIAL_CORE
1049 select SERIAL_SC16IS7XX_SPI if SPI_MASTER
1050 select SERIAL_SC16IS7XX_I2C if I2C
1051 help
1052 Core driver for NXP SC16IS7xx UARTs.
1053 Supported ICs are:
1054
1055 SC16IS740
1056 SC16IS741
1057 SC16IS750
1058 SC16IS752
1059 SC16IS760
1060 SC16IS762
1061
1062 The driver supports both I2C and SPI interfaces.
1063
1064config SERIAL_SC16IS7XX_I2C
1065 tristate
1066 select REGMAP_I2C
1067
1068config SERIAL_SC16IS7XX_SPI
1069 tristate
1070 select REGMAP_SPI
1071
1072config SERIAL_TIMBERDALE
1073 tristate "Support for timberdale UART"
1074 select SERIAL_CORE
1075 depends on X86_32 || COMPILE_TEST
1076 help
1077 Add support for UART controller on timberdale.
1078
1079config SERIAL_BCM63XX
1080 tristate "Broadcom BCM63xx/BCM33xx UART support"
1081 select SERIAL_CORE
1082 depends on ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST
1083 default ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC
1084 help
1085 This enables the driver for the onchip UART core found on
1086 the following chipsets:
1087
1088 BCM33xx (cable modem)
1089 BCM63xx/BCM63xxx (DSL)
1090 BCM68xx (PON)
1091 BCM7xxx (STB) - DOCSIS console
1092
1093config SERIAL_BCM63XX_CONSOLE
1094 bool "Console on BCM63xx serial port"
1095 depends on SERIAL_BCM63XX=y
1096 select SERIAL_CORE_CONSOLE
1097 select SERIAL_EARLYCON
1098 help
1099 If you have enabled the serial port on the BCM63xx CPU
1100 you can make it the console by answering Y to this option.
1101
1102config SERIAL_GRLIB_GAISLER_APBUART
1103 tristate "GRLIB APBUART serial support"
1104 depends on OF && SPARC
1105 select SERIAL_CORE
1106 help
1107 Add support for the GRLIB APBUART serial port.
1108
1109config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1110 bool "Console on GRLIB APBUART serial port"
1111 depends on SERIAL_GRLIB_GAISLER_APBUART=y
1112 select SERIAL_CORE_CONSOLE
1113 help
1114 Support for running a console on the GRLIB APBUART
1115
1116config SERIAL_ALTERA_JTAGUART
1117 tristate "Altera JTAG UART support"
1118 select SERIAL_CORE
1119 help
1120 This driver supports the Altera JTAG UART port.
1121
1122config SERIAL_ALTERA_JTAGUART_CONSOLE
1123 bool "Altera JTAG UART console support"
1124 depends on SERIAL_ALTERA_JTAGUART=y
1125 select SERIAL_CORE_CONSOLE
1126 select SERIAL_EARLYCON
1127 help
1128 Enable a Altera JTAG UART port to be the system console.
1129
1130config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1131 bool "Bypass output when no connection"
1132 depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1133 select SERIAL_CORE_CONSOLE
1134 help
1135 Bypass console output and keep going even if there is no
1136 JTAG terminal connection with the host.
1137
1138config SERIAL_ALTERA_UART
1139 tristate "Altera UART support"
1140 select SERIAL_CORE
1141 help
1142 This driver supports the Altera softcore UART port.
1143
1144config SERIAL_ALTERA_UART_MAXPORTS
1145 int "Maximum number of Altera UART ports"
1146 depends on SERIAL_ALTERA_UART
1147 default 4
1148 help
1149 This setting lets you define the maximum number of the Altera
1150 UART ports. The usual default varies from board to board, and
1151 this setting is a way of catering for that.
1152
1153config SERIAL_ALTERA_UART_BAUDRATE
1154 int "Default baudrate for Altera UART ports"
1155 depends on SERIAL_ALTERA_UART
1156 default 115200
1157 help
1158 This setting lets you define what the default baudrate is for the
1159 Altera UART ports. The usual default varies from board to board,
1160 and this setting is a way of catering for that.
1161
1162config SERIAL_ALTERA_UART_CONSOLE
1163 bool "Altera UART console support"
1164 depends on SERIAL_ALTERA_UART=y
1165 select SERIAL_CORE_CONSOLE
1166 select SERIAL_EARLYCON
1167 help
1168 Enable a Altera UART port to be the system console.
1169
1170config SERIAL_PCH_UART
1171 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1172 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
1173 select SERIAL_CORE
1174 help
1175 This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1176 which is an IOH(Input/Output Hub) for x86 embedded processor.
1177 Enabling PCH_DMA, this PCH UART works as DMA mode.
1178
1179 This driver also can be used for LAPIS Semiconductor IOH(Input/
1180 Output Hub), ML7213, ML7223 and ML7831.
1181 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1182 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1183 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1184 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1185
1186config SERIAL_PCH_UART_CONSOLE
1187 bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1188 depends on SERIAL_PCH_UART=y
1189 select SERIAL_CORE_CONSOLE
1190 help
1191 Say Y here if you wish to use the PCH UART as the system console
1192 (the system console is the device which receives all kernel messages and
1193 warnings and which allows logins in single user mode).
1194
1195config SERIAL_MXS_AUART
1196 tristate "MXS AUART support"
1197 depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1198 select SERIAL_CORE
1199 select SERIAL_MCTRL_GPIO if GPIOLIB
1200 help
1201 This driver supports the MXS and Alphascale ASM9260 Application
1202 UART (AUART) port.
1203
1204config SERIAL_MXS_AUART_CONSOLE
1205 bool "MXS AUART console support"
1206 depends on SERIAL_MXS_AUART=y
1207 select SERIAL_CORE_CONSOLE
1208 help
1209 Enable a MXS AUART port to be the system console.
1210
1211config SERIAL_XILINX_PS_UART
1212 tristate "Cadence (Xilinx Zynq) UART support"
1213 depends on OF
1214 select SERIAL_CORE
1215 help
1216 This driver supports the Cadence UART. It is found e.g. in Xilinx
1217 Zynq.
1218
1219config SERIAL_XILINX_PS_UART_CONSOLE
1220 bool "Cadence UART console support"
1221 depends on SERIAL_XILINX_PS_UART=y
1222 select SERIAL_CORE_CONSOLE
1223 select SERIAL_EARLYCON
1224 help
1225 Enable a Cadence UART port to be the system console.
1226
1227config SERIAL_AR933X
1228 tristate "AR933X serial port support"
1229 depends on (HAVE_CLK && ATH79) || (MIPS && COMPILE_TEST)
1230 select SERIAL_CORE
1231 select SERIAL_MCTRL_GPIO if GPIOLIB
1232 help
1233 If you have an Atheros AR933X SOC based board and want to use the
1234 built-in UART of the SoC, say Y to this option.
1235
1236 To compile this driver as a module, choose M here: the
1237 module will be called ar933x_uart.
1238
1239config SERIAL_AR933X_CONSOLE
1240 bool "Console on AR933X serial port"
1241 depends on SERIAL_AR933X=y
1242 select SERIAL_CORE_CONSOLE
1243 help
1244 Enable a built-in UART port of the AR933X to be the system console.
1245
1246config SERIAL_AR933X_NR_UARTS
1247 int "Maximum number of AR933X serial ports"
1248 depends on SERIAL_AR933X
1249 default "2"
1250 help
1251 Set this to the number of serial ports you want the driver
1252 to support.
1253
1254config SERIAL_MPS2_UART_CONSOLE
1255 bool "MPS2 UART console support"
1256 depends on SERIAL_MPS2_UART
1257 select SERIAL_CORE_CONSOLE
1258 select SERIAL_EARLYCON
1259
1260config SERIAL_MPS2_UART
1261 bool "MPS2 UART port"
1262 depends on ARCH_MPS2 || COMPILE_TEST
1263 select SERIAL_CORE
1264 help
1265 This driver support the UART ports on ARM MPS2.
1266
1267config SERIAL_ARC
1268 tristate "ARC UART driver support"
1269 select SERIAL_CORE
1270 help
1271 Driver for on-chip UART for ARC(Synopsys) for the legacy
1272 FPGA Boards (ML50x/ARCAngel4)
1273
1274config SERIAL_ARC_CONSOLE
1275 bool "Console on ARC UART"
1276 depends on SERIAL_ARC=y
1277 select SERIAL_CORE_CONSOLE
1278 select SERIAL_EARLYCON
1279 help
1280 Enable system Console on ARC UART
1281
1282config SERIAL_ARC_NR_PORTS
1283 int "Number of ARC UART ports"
1284 depends on SERIAL_ARC
1285 range 1 3
1286 default "1"
1287 help
1288 Set this to the number of serial ports you want the driver
1289 to support.
1290
1291config SERIAL_RP2
1292 tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1293 depends on PCI
1294 select SERIAL_CORE
1295 help
1296 This driver supports the Comtrol RocketPort EXPRESS and
1297 RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1298 These adapters use a "RocketPort 2" ASIC that is not compatible
1299 with the original RocketPort driver (CONFIG_ROCKETPORT).
1300
1301 To compile this driver as a module, choose M here: the
1302 module will be called rp2.
1303
1304 If you want to compile this driver into the kernel, say Y here. If
1305 you don't have a suitable RocketPort card installed, say N.
1306
1307config SERIAL_RP2_NR_UARTS
1308 int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1309 depends on SERIAL_RP2
1310 default "32"
1311 help
1312 If multiple cards are present, the default limit of 32 ports may
1313 need to be increased.
1314
1315config SERIAL_FSL_LPUART
1316 tristate "Freescale lpuart serial port support"
1317 depends on HAS_DMA
1318 select SERIAL_CORE
1319 help
1320 Support for the on-chip lpuart on some Freescale SOCs.
1321
1322config SERIAL_FSL_LPUART_CONSOLE
1323 bool "Console on Freescale lpuart serial port"
1324 depends on SERIAL_FSL_LPUART=y
1325 select SERIAL_CORE_CONSOLE
1326 select SERIAL_EARLYCON
1327 help
1328 If you have enabled the lpuart serial port on the Freescale SoCs,
1329 you can make it the console by answering Y to this option.
1330
1331config SERIAL_FSL_LINFLEXUART
1332 tristate "Freescale LINFlexD UART serial port support"
1333 depends on PRINTK
1334 select SERIAL_CORE
1335 help
1336 Support for the on-chip LINFlexD UART on some Freescale SOCs.
1337
1338config SERIAL_FSL_LINFLEXUART_CONSOLE
1339 bool "Console on Freescale LINFlexD UART serial port"
1340 depends on SERIAL_FSL_LINFLEXUART=y
1341 select SERIAL_CORE_CONSOLE
1342 select SERIAL_EARLYCON
1343 help
1344 If you have enabled the LINFlexD UART serial port on the Freescale
1345 SoCs, you can make it the console by answering Y to this option.
1346
1347config SERIAL_CONEXANT_DIGICOLOR
1348 tristate "Conexant Digicolor CX92xxx USART serial port support"
1349 depends on OF
1350 select SERIAL_CORE
1351 help
1352 Support for the on-chip USART on Conexant Digicolor SoCs.
1353
1354config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1355 bool "Console on Conexant Digicolor serial port"
1356 depends on SERIAL_CONEXANT_DIGICOLOR=y
1357 select SERIAL_CORE_CONSOLE
1358 help
1359 If you have enabled the USART serial port on Conexant Digicolor
1360 SoCs, you can make it the console by answering Y to this option.
1361
1362config SERIAL_ST_ASC
1363 tristate "ST ASC serial port support"
1364 select SERIAL_CORE
1365 depends on ARM || COMPILE_TEST
1366 help
1367 This driver is for the on-chip Asynchronous Serial Controller on
1368 STMicroelectronics STi SoCs.
1369 ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1370 It support all industry standard baud rates.
1371
1372 If unsure, say N.
1373
1374config SERIAL_ST_ASC_CONSOLE
1375 bool "Support for console on ST ASC"
1376 depends on SERIAL_ST_ASC=y
1377 select SERIAL_CORE_CONSOLE
1378
1379config SERIAL_MEN_Z135
1380 tristate "MEN 16z135 Support"
1381 select SERIAL_CORE
1382 depends on MCB
1383 help
1384 Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1385 on a MCB carrier.
1386
1387 This driver can also be build as a module. If so, the module will be called
1388 men_z135_uart.ko
1389
1390config SERIAL_SPRD
1391 tristate "Support for Spreadtrum serial"
1392 select SERIAL_CORE
1393 depends on COMMON_CLK
1394 help
1395 This enables the driver for the Spreadtrum's serial.
1396
1397config SERIAL_SPRD_CONSOLE
1398 bool "Spreadtrum UART console support"
1399 depends on SERIAL_SPRD=y
1400 select SERIAL_CORE_CONSOLE
1401 select SERIAL_EARLYCON
1402 help
1403 Support for early debug console using Spreadtrum's serial. This enables
1404 the console before standard serial driver is probed. This is enabled
1405 with "earlycon" on the kernel command line. The console is
1406 enabled when early_param is processed.
1407
1408config SERIAL_STM32
1409 tristate "STMicroelectronics STM32 serial port support"
1410 select SERIAL_CORE
1411 depends on ARCH_STM32 || COMPILE_TEST
1412 select SERIAL_MCTRL_GPIO if GPIOLIB
1413 help
1414 This driver is for the on-chip Serial Controller on
1415 STMicroelectronics STM32 MCUs.
1416 USART supports Rx & Tx functionality.
1417 It support all industry standard baud rates.
1418
1419 If unsure, say N.
1420
1421config SERIAL_STM32_CONSOLE
1422 bool "Support for console on STM32"
1423 depends on SERIAL_STM32
1424 select SERIAL_CORE_CONSOLE
1425 select SERIAL_EARLYCON
1426
1427config SERIAL_MVEBU_UART
1428 bool "Marvell EBU serial port support"
1429 depends on ARCH_MVEBU || COMPILE_TEST
1430 depends on COMMON_CLK
1431 select SERIAL_CORE
1432 help
1433 This driver is for Marvell EBU SoC's UART. If you have a machine
1434 based on the Armada-3700 SoC and wish to use the on-board serial
1435 port,
1436 say 'Y' here.
1437 Otherwise, say 'N'.
1438
1439config SERIAL_MVEBU_CONSOLE
1440 bool "Console on Marvell EBU serial port"
1441 depends on SERIAL_MVEBU_UART
1442 select SERIAL_CORE_CONSOLE
1443 select SERIAL_EARLYCON
1444 default y
1445 help
1446 Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1447 (the system console is the device which receives all kernel messages
1448 and warnings and which allows logins in single user mode)
1449 Otherwise, say 'N'.
1450
1451config SERIAL_OWL
1452 tristate "Actions Semi Owl serial port support"
1453 depends on ARCH_ACTIONS || COMPILE_TEST
1454 select SERIAL_CORE
1455 help
1456 This driver is for Actions Semiconductor S500/S900 SoC's UART.
1457 Say 'Y' here if you wish to use the on-board serial port.
1458 Otherwise, say 'N'.
1459
1460config SERIAL_OWL_CONSOLE
1461 bool "Console on Actions Semi Owl serial port"
1462 depends on SERIAL_OWL=y
1463 select SERIAL_CORE_CONSOLE
1464 select SERIAL_EARLYCON
1465 default y
1466 help
1467 Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1468 as the system console.
1469
1470config SERIAL_RDA
1471 bool "RDA Micro serial port support"
1472 depends on ARCH_RDA || COMPILE_TEST
1473 select SERIAL_CORE
1474 help
1475 This driver is for RDA8810PL SoC's UART.
1476 Say 'Y' here if you wish to use the on-board serial port.
1477 Otherwise, say 'N'.
1478
1479config SERIAL_RDA_CONSOLE
1480 bool "Console on RDA Micro serial port"
1481 depends on SERIAL_RDA=y
1482 select SERIAL_CORE_CONSOLE
1483 select SERIAL_EARLYCON
1484 default y
1485 help
1486 Say 'Y' here if you wish to use the RDA8810PL UART as the system
1487 console. Only earlycon is implemented currently.
1488
1489config SERIAL_MILBEAUT_USIO
1490 tristate "Milbeaut USIO/UART serial port support"
1491 depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1492 default ARCH_MILBEAUT
1493 select SERIAL_CORE
1494 help
1495 This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1496
1497config SERIAL_MILBEAUT_USIO_PORTS
1498 int "Maximum number of CSIO/UART ports (1-8)"
1499 range 1 8
1500 depends on SERIAL_MILBEAUT_USIO
1501 default "4"
1502
1503config SERIAL_MILBEAUT_USIO_CONSOLE
1504 bool "Support for console on MILBEAUT USIO/UART serial port"
1505 depends on SERIAL_MILBEAUT_USIO=y
1506 default y
1507 select SERIAL_CORE_CONSOLE
1508 select SERIAL_EARLYCON
1509 help
1510 Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1511 SoCs as the system console (the system console is the device which
1512 receives all kernel messages and warnings and which allows logins in
1513 single user mode).
1514
1515config SERIAL_LITEUART
1516 tristate "LiteUART serial port support"
1517 depends on HAS_IOMEM
1518 depends on OF
1519 depends on LITEX || COMPILE_TEST
1520 select SERIAL_CORE
1521 help
1522 This driver is for the FPGA-based LiteUART serial controller from LiteX
1523 SoC builder.
1524
1525 Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
1526 Otherwise, say 'N'.
1527
1528config SERIAL_LITEUART_MAX_PORTS
1529 int "Maximum number of LiteUART ports"
1530 depends on SERIAL_LITEUART
1531 default "1"
1532 help
1533 Set this to the maximum number of serial ports you want the driver
1534 to support.
1535
1536config SERIAL_LITEUART_CONSOLE
1537 bool "LiteUART serial port console support"
1538 depends on SERIAL_LITEUART=y
1539 select SERIAL_CORE_CONSOLE
1540 select SERIAL_EARLYCON
1541 help
1542 Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
1543 controller from LiteX SoC builder as the system console
1544 (the system console is the device which receives all kernel messages
1545 and warnings and which allows logins in single user mode).
1546 Otherwise, say 'N'.
1547
1548config SERIAL_SUNPLUS
1549 tristate "Sunplus UART support"
1550 depends on ARCH_SUNPLUS || COMPILE_TEST
1551 select SERIAL_CORE
1552 help
1553 Select this option if you would like to use Sunplus serial port on
1554 Sunplus SoC SP7021.
1555 If you enable this option, Sunplus serial ports in the system will
1556 be registered as ttySUPx.
1557 This driver can also be built as a module. If so, the module will be
1558 called sunplus-uart.
1559
1560config SERIAL_SUNPLUS_CONSOLE
1561 bool "Console on Sunplus UART"
1562 depends on SERIAL_SUNPLUS
1563 select SERIAL_CORE_CONSOLE
1564 select SERIAL_EARLYCON
1565 help
1566 Select this option if you would like to use a Sunplus UART as the
1567 system console.
1568 Even if you say Y here, the currently visible virtual console
1569 (/dev/tty0) will still be used as the system console by default, but
1570 you can alter that using a kernel command line option such as
1571 "console=ttySUPx".
1572
1573config SERIAL_NUVOTON_MA35D1
1574 tristate "Nuvoton MA35D1 family UART support"
1575 depends on ARCH_MA35 || COMPILE_TEST
1576 select SERIAL_CORE
1577 help
1578 This driver supports Nuvoton MA35D1 family UART ports. If you would
1579 like to use them, you must answer Y or M to this option. Note that
1580 for use as console, it must be included in kernel and not as a
1581 module. If you enable this option, Ma35D1 serial ports in the system
1582 will be registered as ttyNVTx.
1583
1584config SERIAL_NUVOTON_MA35D1_CONSOLE
1585 bool "Console on a Nuvotn MA35D1 family UART port"
1586 depends on SERIAL_NUVOTON_MA35D1=y
1587 select SERIAL_CORE_CONSOLE
1588 help
1589 Select this options if you'd like to use the UART port0 of the
1590 Nuvoton MA35D1 family as a console.
1591 Even if you say Y here, the currently visible virtual console
1592 (/dev/tty0) will still be used as the system console by default,
1593 but you can alter that using a kernel command line option such as
1594 "console=ttyNVTx".
1595
1596config SERIAL_ESP32
1597 tristate "Espressif ESP32 UART support"
1598 depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
1599 select SERIAL_CORE
1600 select SERIAL_CORE_CONSOLE
1601 select SERIAL_EARLYCON
1602 help
1603 Driver for the UART controllers of the Espressif ESP32xx SoCs.
1604 When earlycon option is enabled the following kernel command line
1605 snippets may be used:
1606 earlycon=esp32s3uart,mmio32,0x60000000,115200n8,40000000
1607 earlycon=esp32uart,mmio32,0x3ff40000,115200n8
1608
1609config SERIAL_ESP32_ACM
1610 tristate "Espressif ESP32 USB ACM gadget support"
1611 depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
1612 select SERIAL_CORE
1613 select SERIAL_CORE_CONSOLE
1614 select SERIAL_EARLYCON
1615 help
1616 Driver for the CDC ACM gadget controller of the Espressif ESP32S3
1617 SoCs that share separate USB controller with the JTAG adapter.
1618 When earlycon option is enabled the following kernel command line
1619 snippet may be used:
1620 earlycon=esp32s3acm,mmio32,0x60038000
1621
1622endmenu
1623
1624config SERIAL_MCTRL_GPIO
1625 tristate