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_AT91 || ARCH_LAN969X || 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_HS_LPC32XX
679 tristate "LPC32XX high speed serial port support"
680 depends on ARCH_LPC32XX || COMPILE_TEST
681 depends on OF
682 select SERIAL_CORE
683 help
684 Support for the LPC32XX high speed serial ports (up to 900kbps).
685 Those are UARTs completely different from the Standard UARTs on the
686 LPC32XX SoC.
687 Choose M or Y here to build this driver.
688
689config SERIAL_HS_LPC32XX_CONSOLE
690 bool "Enable LPC32XX high speed UART serial console"
691 depends on SERIAL_HS_LPC32XX=y
692 select SERIAL_CORE_CONSOLE
693 help
694 If you would like to be able to use one of the high speed serial
695 ports on the LPC32XX as the console, you can do so by answering
696 Y to this option.
697
698config SERIAL_CORE
699 tristate
700
701config SERIAL_CORE_CONSOLE
702 bool
703
704config CONSOLE_POLL
705 bool
706
707config SERIAL_MCF
708 bool "Coldfire serial support"
709 depends on COLDFIRE
710 select SERIAL_CORE
711 help
712 This serial driver supports the Freescale Coldfire serial ports.
713
714config SERIAL_MCF_BAUDRATE
715 int "Default baudrate for Coldfire serial ports"
716 depends on SERIAL_MCF
717 default 19200
718 help
719 This setting lets you define what the default baudrate is for the
720 ColdFire serial ports. The usual default varies from board to board,
721 and this setting is a way of catering for that.
722
723config SERIAL_MCF_CONSOLE
724 bool "Coldfire serial console support"
725 depends on SERIAL_MCF
726 select SERIAL_CORE_CONSOLE
727 help
728 Enable a ColdFire internal serial port to be the system console.
729
730config SERIAL_PMACZILOG
731 tristate "Mac or PowerMac z85c30 ESCC support"
732 depends on (M68K && MAC) || PPC_PMAC
733 select SERIAL_CORE
734 help
735 This driver supports the Zilog z85C30 serial ports found on
736 (Power)Mac machines.
737 Say Y or M if you want to be able to these serial ports.
738
739config SERIAL_PMACZILOG_TTYS
740 bool "Use ttySn device nodes for Zilog z85c30"
741 depends on SERIAL_PMACZILOG
742 help
743 The pmac_zilog driver for the z85C30 chip on many powermacs
744 historically used the device numbers for /dev/ttySn. The
745 8250 serial port driver also uses these numbers, which means
746 the two drivers being unable to coexist; you could not use
747 both z85C30 and 8250 type ports at the same time.
748
749 If this option is not selected, the pmac_zilog driver will
750 use the device numbers allocated for /dev/ttyPZn. This allows
751 the pmac_zilog and 8250 drivers to co-exist, but may cause
752 existing userspace setups to break. Programs that need to
753 access the built-in serial ports on powermacs will need to
754 be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
755
756 If you enable this option, any z85c30 ports in the system will
757 be registered as ttyS0 onwards as in the past, and you will be
758 unable to use the 8250 module for PCMCIA or other 16C550-style
759 UARTs.
760
761 Say N unless you need the z85c30 ports on your (Power)Mac
762 to appear as /dev/ttySn.
763
764config SERIAL_PMACZILOG_CONSOLE
765 bool "Console on Mac or PowerMac z85c30 serial port"
766 depends on SERIAL_PMACZILOG=y
767 select SERIAL_CORE_CONSOLE
768 help
769 If you would like to be able to use the z85c30 serial port
770 on your (Power)Mac as the console, you can do so by answering
771 Y to this option.
772
773config SERIAL_CPM
774 tristate "CPM SCC/SMC serial port support"
775 depends on CPM2 || CPM1
776 select SERIAL_CORE
777 help
778 This driver supports the SCC and SMC serial ports on Motorola
779 embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)
780
781config SERIAL_CPM_CONSOLE
782 bool "Support for console on CPM SCC/SMC serial port"
783 depends on SERIAL_CPM=y
784 select SERIAL_CORE_CONSOLE
785 help
786 Say Y here if you wish to use a SCC or SMC CPM UART as the system
787 console (the system console is the device which receives all kernel
788 messages and warnings and which allows logins in single user mode).
789
790 Even if you say Y here, the currently visible framebuffer console
791 (/dev/tty0) will still be used as the system console by default, but
792 you can alter that using a kernel command line option such as
793 "console=ttyCPM0". (Try "man bootparam" or see the documentation of
794 your boot loader (lilo or loadlin) about how to pass options to the
795 kernel at boot time.)
796
797config SERIAL_PIC32
798 tristate "Microchip PIC32 serial support"
799 depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
800 select SERIAL_CORE
801 help
802 If you have a PIC32, this driver supports the serial ports.
803
804 Say Y or M to use PIC32 serial ports, otherwise say N. Note that
805 to use a serial port as a console, this must be included in kernel and
806 not as a module.
807
808config SERIAL_PIC32_CONSOLE
809 bool "PIC32 serial console support"
810 depends on SERIAL_PIC32=y
811 select SERIAL_CORE_CONSOLE
812 help
813 If you have a PIC32, this driver supports the putting a console on one
814 of the serial ports.
815
816 Say Y to use the PIC32 console, otherwise say N.
817
818config SERIAL_MPC52xx
819 tristate "Freescale MPC52xx/MPC512x family PSC serial support"
820 depends on PPC_MPC52xx || PPC_MPC512x
821 select SERIAL_CORE
822 help
823 This driver supports MPC52xx and MPC512x PSC serial ports. If you would
824 like to use them, you must answer Y or M to this option. Note that
825 for use as console, it must be included in kernel and not as a
826 module.
827
828config SERIAL_MPC52xx_CONSOLE
829 bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
830 depends on SERIAL_MPC52xx=y
831 select SERIAL_CORE_CONSOLE
832 help
833 Select this options if you'd like to use one of the PSC serial port
834 of the Freescale MPC52xx family as a console.
835
836config SERIAL_MPC52xx_CONSOLE_BAUD
837 int "Freescale MPC52xx/MPC512x family PSC serial port baud"
838 depends on SERIAL_MPC52xx_CONSOLE=y
839 default "9600"
840 help
841 Select the MPC52xx console baud rate.
842 This value is only used if the bootloader doesn't pass in the
843 console baudrate
844
845config SERIAL_ICOM
846 tristate "IBM Multiport Serial Adapter"
847 depends on PCI
848 depends on PPC_PSERIES || COMPILE_TEST
849 select SERIAL_CORE
850 select FW_LOADER
851 help
852 This driver is for a family of multiport serial adapters
853 including 2 port RVX, 2 port internal modem, 4 port internal
854 modem and a split 1 port RVX and 1 port internal modem.
855
856 This driver can also be built as a module. If so, the module
857 will be called icom.
858
859config SERIAL_TXX9
860 bool "TMPTX39XX/49XX SIO support"
861 depends on HAS_TXX9_SERIAL
862 select SERIAL_CORE
863 default y
864
865config HAS_TXX9_SERIAL
866 bool
867
868config SERIAL_TXX9_NR_UARTS
869 int "Maximum number of TMPTX39XX/49XX SIO ports"
870 depends on SERIAL_TXX9
871 default "6"
872
873config SERIAL_TXX9_CONSOLE
874 bool "TMPTX39XX/49XX SIO Console support"
875 depends on SERIAL_TXX9=y
876 select SERIAL_CORE_CONSOLE
877
878config SERIAL_TXX9_STDSERIAL
879 bool "TX39XX/49XX SIO act as standard serial"
880 depends on !SERIAL_8250 && SERIAL_TXX9
881
882config SERIAL_JSM
883 tristate "Digi International NEO and Classic PCI Support"
884 depends on PCI && HAS_IOPORT
885 select SERIAL_CORE
886 help
887 This is a driver for Digi International's Neo and Classic series
888 of cards which provide multiple serial ports. You would need
889 something like this to connect more than two modems to your Linux
890 box, for instance in order to become a dial-in server. This driver
891 supports PCI boards only.
892
893 If you have a card like this, say Y here, otherwise say N.
894
895 To compile this driver as a module, choose M here: the
896 module will be called jsm.
897
898config SERIAL_MSM
899 tristate "MSM on-chip serial port support"
900 depends on ARCH_QCOM || COMPILE_TEST
901 select SERIAL_CORE
902
903config SERIAL_MSM_CONSOLE
904 bool "MSM serial console support"
905 depends on SERIAL_MSM=y
906 select SERIAL_CORE_CONSOLE
907 select SERIAL_EARLYCON
908
909config SERIAL_QCOM_GENI
910 tristate "QCOM on-chip GENI based serial port support"
911 depends on ARCH_QCOM || COMPILE_TEST
912 depends on QCOM_GENI_SE
913 select SERIAL_CORE
914
915config SERIAL_QCOM_GENI_CONSOLE
916 bool "QCOM GENI Serial Console support"
917 depends on SERIAL_QCOM_GENI
918 select SERIAL_CORE_CONSOLE
919 select SERIAL_EARLYCON
920 help
921 Serial console driver for Qualcomm Technologies Inc's GENI based
922 QUP hardware.
923
924config SERIAL_VT8500
925 bool "VIA VT8500 on-chip serial port support"
926 depends on ARCH_VT8500 || COMPILE_TEST
927 select SERIAL_CORE
928
929config SERIAL_VT8500_CONSOLE
930 bool "VIA VT8500 serial console support"
931 depends on SERIAL_VT8500=y
932 select SERIAL_CORE_CONSOLE
933
934config SERIAL_OMAP
935 tristate "OMAP serial port support"
936 depends on (ARCH_OMAP2PLUS && !SERIAL_8250_OMAP) || COMPILE_TEST
937 select SERIAL_CORE
938 help
939 If you have a machine based on an Texas Instruments OMAP CPU you
940 can enable its onboard serial ports by enabling this option.
941
942 By enabling this option you take advantage of dma feature available
943 with the omap-serial driver. DMA support can be enabled from platform
944 data.
945
946config SERIAL_OMAP_CONSOLE
947 bool "Console on OMAP serial port"
948 depends on SERIAL_OMAP=y
949 select SERIAL_CORE_CONSOLE
950 help
951 Select this option if you would like to use omap serial port as
952 console.
953
954 Even if you say Y here, the currently visible virtual console
955 (/dev/tty0) will still be used as the system console by default, but
956 you can alter that using a kernel command line option such as
957 "console=ttyOx". (Try "man bootparam" or see the documentation of
958 your boot loader about how to pass options to the kernel at
959 boot time.)
960
961config SERIAL_SIFIVE
962 tristate "SiFive UART support"
963 depends on OF
964 default ARCH_SIFIVE || ARCH_CANAAN
965 select SERIAL_CORE
966 help
967 Select this option if you are building a kernel for a device that
968 contains a SiFive UART IP block. This type of UART is present on
969 SiFive FU540 SoCs, among others.
970
971config SERIAL_SIFIVE_CONSOLE
972 bool "Console on SiFive UART"
973 depends on SERIAL_SIFIVE=y
974 default ARCH_SIFIVE || ARCH_CANAAN
975 select SERIAL_CORE_CONSOLE
976 select SERIAL_EARLYCON
977 help
978 Select this option if you would like to use a SiFive UART as the
979 system console.
980
981 Even if you say Y here, the currently visible virtual console
982 (/dev/tty0) will still be used as the system console by default, but
983 you can alter that using a kernel command line option such as
984 "console=ttySIFx". (Try "man bootparam" or see the documentation of
985 your boot loader about how to pass options to the kernel at
986 boot time.)
987
988config SERIAL_LANTIQ
989 tristate "Lantiq serial driver"
990 depends on (LANTIQ || X86) || COMPILE_TEST
991 select SERIAL_CORE
992 help
993 Support for UART on Lantiq and Intel SoCs.
994 To compile this driver as a module, select M here. The
995 module will be called lantiq.
996
997config SERIAL_LANTIQ_CONSOLE
998 bool "Console on Lantiq UART"
999 depends on SERIAL_LANTIQ=y
1000 select SERIAL_CORE_CONSOLE
1001 select SERIAL_EARLYCON
1002 help
1003 Select this option if you would like to use a Lantiq UART as the
1004 system console.
1005
1006config SERIAL_QE
1007 tristate "Freescale QUICC Engine serial port support"
1008 depends on QUICC_ENGINE
1009 select SERIAL_CORE
1010 select FW_LOADER
1011 help
1012 This driver supports the QE serial ports on Freescale embedded
1013 PowerPC that contain a QUICC Engine.
1014
1015config SERIAL_SCCNXP
1016 tristate "SCCNXP serial port support"
1017 select SERIAL_CORE
1018 help
1019 This selects support for an advanced UART from NXP (Philips).
1020 Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1021 SC28L202, SCC68681 and SCC68692.
1022
1023config SERIAL_SCCNXP_CONSOLE
1024 bool "Console on SCCNXP serial port"
1025 depends on SERIAL_SCCNXP=y
1026 select SERIAL_CORE_CONSOLE
1027 help
1028 Support for console on SCCNXP serial ports.
1029
1030config SERIAL_SC16IS7XX
1031 tristate "NXP SC16IS7xx UART support"
1032 depends on SPI_MASTER || I2C
1033 select SERIAL_CORE
1034 select SERIAL_SC16IS7XX_SPI if SPI_MASTER
1035 select SERIAL_SC16IS7XX_I2C if I2C
1036 help
1037 Core driver for NXP SC16IS7xx UARTs.
1038 Supported ICs are:
1039
1040 SC16IS740
1041 SC16IS741
1042 SC16IS750
1043 SC16IS752
1044 SC16IS760
1045 SC16IS762
1046
1047 The driver supports both I2C and SPI interfaces.
1048
1049config SERIAL_SC16IS7XX_I2C
1050 tristate
1051 select REGMAP_I2C
1052
1053config SERIAL_SC16IS7XX_SPI
1054 tristate
1055 select REGMAP_SPI
1056
1057config SERIAL_TIMBERDALE
1058 tristate "Support for timberdale UART"
1059 select SERIAL_CORE
1060 depends on X86_32 || COMPILE_TEST
1061 help
1062 Add support for UART controller on timberdale.
1063
1064config SERIAL_BCM63XX
1065 tristate "Broadcom BCM63xx/BCM33xx UART support"
1066 select SERIAL_CORE
1067 depends on ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST
1068 default ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC
1069 help
1070 This enables the driver for the onchip UART core found on
1071 the following chipsets:
1072
1073 BCM33xx (cable modem)
1074 BCM63xx/BCM63xxx (DSL)
1075 BCM68xx (PON)
1076 BCM7xxx (STB) - DOCSIS console
1077
1078config SERIAL_BCM63XX_CONSOLE
1079 bool "Console on BCM63xx serial port"
1080 depends on SERIAL_BCM63XX=y
1081 select SERIAL_CORE_CONSOLE
1082 select SERIAL_EARLYCON
1083 help
1084 If you have enabled the serial port on the BCM63xx CPU
1085 you can make it the console by answering Y to this option.
1086
1087config SERIAL_GRLIB_GAISLER_APBUART
1088 tristate "GRLIB APBUART serial support"
1089 depends on OF && SPARC
1090 select SERIAL_CORE
1091 help
1092 Add support for the GRLIB APBUART serial port.
1093
1094config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1095 bool "Console on GRLIB APBUART serial port"
1096 depends on SERIAL_GRLIB_GAISLER_APBUART=y
1097 select SERIAL_CORE_CONSOLE
1098 help
1099 Support for running a console on the GRLIB APBUART
1100
1101config SERIAL_ALTERA_JTAGUART
1102 tristate "Altera JTAG UART support"
1103 select SERIAL_CORE
1104 help
1105 This driver supports the Altera JTAG UART port.
1106
1107config SERIAL_ALTERA_JTAGUART_CONSOLE
1108 bool "Altera JTAG UART console support"
1109 depends on SERIAL_ALTERA_JTAGUART=y
1110 select SERIAL_CORE_CONSOLE
1111 select SERIAL_EARLYCON
1112 help
1113 Enable a Altera JTAG UART port to be the system console.
1114
1115config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1116 bool "Bypass output when no connection"
1117 depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1118 select SERIAL_CORE_CONSOLE
1119 help
1120 Bypass console output and keep going even if there is no
1121 JTAG terminal connection with the host.
1122
1123config SERIAL_ALTERA_UART
1124 tristate "Altera UART support"
1125 select SERIAL_CORE
1126 help
1127 This driver supports the Altera softcore UART port.
1128
1129config SERIAL_ALTERA_UART_MAXPORTS
1130 int "Maximum number of Altera UART ports"
1131 depends on SERIAL_ALTERA_UART
1132 default 4
1133 help
1134 This setting lets you define the maximum number of the Altera
1135 UART ports. The usual default varies from board to board, and
1136 this setting is a way of catering for that.
1137
1138config SERIAL_ALTERA_UART_BAUDRATE
1139 int "Default baudrate for Altera UART ports"
1140 depends on SERIAL_ALTERA_UART
1141 default 115200
1142 help
1143 This setting lets you define what the default baudrate is for the
1144 Altera UART ports. The usual default varies from board to board,
1145 and this setting is a way of catering for that.
1146
1147config SERIAL_ALTERA_UART_CONSOLE
1148 bool "Altera UART console support"
1149 depends on SERIAL_ALTERA_UART=y
1150 select SERIAL_CORE_CONSOLE
1151 select SERIAL_EARLYCON
1152 help
1153 Enable a Altera UART port to be the system console.
1154
1155config SERIAL_PCH_UART
1156 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1157 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
1158 select SERIAL_CORE
1159 help
1160 This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1161 which is an IOH(Input/Output Hub) for x86 embedded processor.
1162 Enabling PCH_DMA, this PCH UART works as DMA mode.
1163
1164 This driver also can be used for LAPIS Semiconductor IOH(Input/
1165 Output Hub), ML7213, ML7223 and ML7831.
1166 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1167 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1168 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1169 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1170
1171config SERIAL_PCH_UART_CONSOLE
1172 bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1173 depends on SERIAL_PCH_UART=y
1174 select SERIAL_CORE_CONSOLE
1175 help
1176 Say Y here if you wish to use the PCH UART as the system console
1177 (the system console is the device which receives all kernel messages and
1178 warnings and which allows logins in single user mode).
1179
1180config SERIAL_MXS_AUART
1181 tristate "MXS AUART support"
1182 depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1183 select SERIAL_CORE
1184 select SERIAL_MCTRL_GPIO if GPIOLIB
1185 help
1186 This driver supports the MXS and Alphascale ASM9260 Application
1187 UART (AUART) port.
1188
1189config SERIAL_MXS_AUART_CONSOLE
1190 bool "MXS AUART console support"
1191 depends on SERIAL_MXS_AUART=y
1192 select SERIAL_CORE_CONSOLE
1193 help
1194 Enable a MXS AUART port to be the system console.
1195
1196config SERIAL_XILINX_PS_UART
1197 tristate "Cadence (Xilinx Zynq) UART support"
1198 depends on OF
1199 select SERIAL_CORE
1200 help
1201 This driver supports the Cadence UART. It is found e.g. in Xilinx
1202 Zynq.
1203
1204config SERIAL_XILINX_PS_UART_CONSOLE
1205 bool "Cadence UART console support"
1206 depends on SERIAL_XILINX_PS_UART=y
1207 select SERIAL_CORE_CONSOLE
1208 select SERIAL_EARLYCON
1209 help
1210 Enable a Cadence UART port to be the system console.
1211
1212config SERIAL_AR933X
1213 tristate "AR933X serial port support"
1214 depends on (HAVE_CLK && ATH79) || (MIPS && COMPILE_TEST)
1215 select SERIAL_CORE
1216 select SERIAL_MCTRL_GPIO if GPIOLIB
1217 help
1218 If you have an Atheros AR933X SOC based board and want to use the
1219 built-in UART of the SoC, say Y to this option.
1220
1221 To compile this driver as a module, choose M here: the
1222 module will be called ar933x_uart.
1223
1224config SERIAL_AR933X_CONSOLE
1225 bool "Console on AR933X serial port"
1226 depends on SERIAL_AR933X=y
1227 select SERIAL_CORE_CONSOLE
1228 help
1229 Enable a built-in UART port of the AR933X to be the system console.
1230
1231config SERIAL_AR933X_NR_UARTS
1232 int "Maximum number of AR933X serial ports"
1233 depends on SERIAL_AR933X
1234 default "2"
1235 help
1236 Set this to the number of serial ports you want the driver
1237 to support.
1238
1239config SERIAL_MPS2_UART_CONSOLE
1240 bool "MPS2 UART console support"
1241 depends on SERIAL_MPS2_UART
1242 select SERIAL_CORE_CONSOLE
1243 select SERIAL_EARLYCON
1244
1245config SERIAL_MPS2_UART
1246 bool "MPS2 UART port"
1247 depends on ARCH_MPS2 || COMPILE_TEST
1248 select SERIAL_CORE
1249 help
1250 This driver support the UART ports on ARM MPS2.
1251
1252config SERIAL_ARC
1253 tristate "ARC UART driver support"
1254 select SERIAL_CORE
1255 help
1256 Driver for on-chip UART for ARC(Synopsys) for the legacy
1257 FPGA Boards (ML50x/ARCAngel4)
1258
1259config SERIAL_ARC_CONSOLE
1260 bool "Console on ARC UART"
1261 depends on SERIAL_ARC=y
1262 select SERIAL_CORE_CONSOLE
1263 select SERIAL_EARLYCON
1264 help
1265 Enable system Console on ARC UART
1266
1267config SERIAL_ARC_NR_PORTS
1268 int "Number of ARC UART ports"
1269 depends on SERIAL_ARC
1270 range 1 3
1271 default "1"
1272 help
1273 Set this to the number of serial ports you want the driver
1274 to support.
1275
1276config SERIAL_RP2
1277 tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1278 depends on PCI
1279 select SERIAL_CORE
1280 help
1281 This driver supports the Comtrol RocketPort EXPRESS and
1282 RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1283 These adapters use a "RocketPort 2" ASIC that is not compatible
1284 with the original RocketPort driver (CONFIG_ROCKETPORT).
1285
1286 To compile this driver as a module, choose M here: the
1287 module will be called rp2.
1288
1289 If you want to compile this driver into the kernel, say Y here. If
1290 you don't have a suitable RocketPort card installed, say N.
1291
1292config SERIAL_RP2_NR_UARTS
1293 int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1294 depends on SERIAL_RP2
1295 default "32"
1296 help
1297 If multiple cards are present, the default limit of 32 ports may
1298 need to be increased.
1299
1300config SERIAL_FSL_LPUART
1301 tristate "Freescale lpuart serial port support"
1302 depends on HAS_DMA
1303 select SERIAL_CORE
1304 help
1305 Support for the on-chip lpuart on some Freescale SOCs.
1306
1307config SERIAL_FSL_LPUART_CONSOLE
1308 bool "Console on Freescale lpuart serial port"
1309 depends on SERIAL_FSL_LPUART=y
1310 select SERIAL_CORE_CONSOLE
1311 select SERIAL_EARLYCON
1312 help
1313 If you have enabled the lpuart serial port on the Freescale SoCs,
1314 you can make it the console by answering Y to this option.
1315
1316config SERIAL_FSL_LINFLEXUART
1317 tristate "Freescale LINFlexD UART serial port support"
1318 depends on PRINTK
1319 select SERIAL_CORE
1320 help
1321 Support for the on-chip LINFlexD UART on some Freescale SOCs.
1322
1323config SERIAL_FSL_LINFLEXUART_CONSOLE
1324 bool "Console on Freescale LINFlexD UART serial port"
1325 depends on SERIAL_FSL_LINFLEXUART=y
1326 select SERIAL_CORE_CONSOLE
1327 select SERIAL_EARLYCON
1328 help
1329 If you have enabled the LINFlexD UART serial port on the Freescale
1330 SoCs, you can make it the console by answering Y to this option.
1331
1332config SERIAL_CONEXANT_DIGICOLOR
1333 tristate "Conexant Digicolor CX92xxx USART serial port support"
1334 depends on OF
1335 select SERIAL_CORE
1336 help
1337 Support for the on-chip USART on Conexant Digicolor SoCs.
1338
1339config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1340 bool "Console on Conexant Digicolor serial port"
1341 depends on SERIAL_CONEXANT_DIGICOLOR=y
1342 select SERIAL_CORE_CONSOLE
1343 help
1344 If you have enabled the USART serial port on Conexant Digicolor
1345 SoCs, you can make it the console by answering Y to this option.
1346
1347config SERIAL_ST_ASC
1348 tristate "ST ASC serial port support"
1349 select SERIAL_CORE
1350 depends on ARM || COMPILE_TEST
1351 help
1352 This driver is for the on-chip Asynchronous Serial Controller on
1353 STMicroelectronics STi SoCs.
1354 ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1355 It support all industry standard baud rates.
1356
1357 If unsure, say N.
1358
1359config SERIAL_ST_ASC_CONSOLE
1360 bool "Support for console on ST ASC"
1361 depends on SERIAL_ST_ASC=y
1362 select SERIAL_CORE_CONSOLE
1363
1364config SERIAL_MEN_Z135
1365 tristate "MEN 16z135 Support"
1366 select SERIAL_CORE
1367 depends on MCB
1368 help
1369 Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1370 on a MCB carrier.
1371
1372 This driver can also be build as a module. If so, the module will be called
1373 men_z135_uart.ko
1374
1375config SERIAL_SPRD
1376 tristate "Support for Spreadtrum serial"
1377 select SERIAL_CORE
1378 depends on COMMON_CLK
1379 help
1380 This enables the driver for the Spreadtrum's serial.
1381
1382config SERIAL_SPRD_CONSOLE
1383 bool "Spreadtrum UART console support"
1384 depends on SERIAL_SPRD=y
1385 select SERIAL_CORE_CONSOLE
1386 select SERIAL_EARLYCON
1387 help
1388 Support for early debug console using Spreadtrum's serial. This enables
1389 the console before standard serial driver is probed. This is enabled
1390 with "earlycon" on the kernel command line. The console is
1391 enabled when early_param is processed.
1392
1393config SERIAL_STM32
1394 tristate "STMicroelectronics STM32 serial port support"
1395 select SERIAL_CORE
1396 depends on ARCH_STM32 || COMPILE_TEST
1397 select SERIAL_MCTRL_GPIO if GPIOLIB
1398 help
1399 This driver is for the on-chip Serial Controller on
1400 STMicroelectronics STM32 MCUs.
1401 USART supports Rx & Tx functionality.
1402 It support all industry standard baud rates.
1403
1404 If unsure, say N.
1405
1406config SERIAL_STM32_CONSOLE
1407 bool "Support for console on STM32"
1408 depends on SERIAL_STM32=y
1409 select SERIAL_CORE_CONSOLE
1410 select SERIAL_EARLYCON
1411
1412config SERIAL_MVEBU_UART
1413 bool "Marvell EBU serial port support"
1414 depends on ARCH_MVEBU || COMPILE_TEST
1415 depends on COMMON_CLK
1416 select SERIAL_CORE
1417 help
1418 This driver is for Marvell EBU SoC's UART. If you have a machine
1419 based on the Armada-3700 SoC and wish to use the on-board serial
1420 port,
1421 say 'Y' here.
1422 Otherwise, say 'N'.
1423
1424config SERIAL_MVEBU_CONSOLE
1425 bool "Console on Marvell EBU serial port"
1426 depends on SERIAL_MVEBU_UART
1427 select SERIAL_CORE_CONSOLE
1428 select SERIAL_EARLYCON
1429 default y
1430 help
1431 Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1432 (the system console is the device which receives all kernel messages
1433 and warnings and which allows logins in single user mode)
1434 Otherwise, say 'N'.
1435
1436config SERIAL_OWL
1437 tristate "Actions Semi Owl serial port support"
1438 depends on ARCH_ACTIONS || COMPILE_TEST
1439 select SERIAL_CORE
1440 help
1441 This driver is for Actions Semiconductor S500/S900 SoC's UART.
1442 Say 'Y' here if you wish to use the on-board serial port.
1443 Otherwise, say 'N'.
1444
1445config SERIAL_OWL_CONSOLE
1446 bool "Console on Actions Semi Owl serial port"
1447 depends on SERIAL_OWL=y
1448 select SERIAL_CORE_CONSOLE
1449 select SERIAL_EARLYCON
1450 default y
1451 help
1452 Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1453 as the system console.
1454
1455config SERIAL_RDA
1456 bool "RDA Micro serial port support"
1457 depends on ARCH_RDA || COMPILE_TEST
1458 select SERIAL_CORE
1459 help
1460 This driver is for RDA8810PL SoC's UART.
1461 Say 'Y' here if you wish to use the on-board serial port.
1462 Otherwise, say 'N'.
1463
1464config SERIAL_RDA_CONSOLE
1465 bool "Console on RDA Micro serial port"
1466 depends on SERIAL_RDA=y
1467 select SERIAL_CORE_CONSOLE
1468 select SERIAL_EARLYCON
1469 default y
1470 help
1471 Say 'Y' here if you wish to use the RDA8810PL UART as the system
1472 console. Only earlycon is implemented currently.
1473
1474config SERIAL_MILBEAUT_USIO
1475 tristate "Milbeaut USIO/UART serial port support"
1476 depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1477 default ARCH_MILBEAUT
1478 select SERIAL_CORE
1479 help
1480 This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1481
1482config SERIAL_MILBEAUT_USIO_PORTS
1483 int "Maximum number of CSIO/UART ports (1-8)"
1484 range 1 8
1485 depends on SERIAL_MILBEAUT_USIO
1486 default "4"
1487
1488config SERIAL_MILBEAUT_USIO_CONSOLE
1489 bool "Support for console on MILBEAUT USIO/UART serial port"
1490 depends on SERIAL_MILBEAUT_USIO=y
1491 default y
1492 select SERIAL_CORE_CONSOLE
1493 select SERIAL_EARLYCON
1494 help
1495 Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1496 SoCs as the system console (the system console is the device which
1497 receives all kernel messages and warnings and which allows logins in
1498 single user mode).
1499
1500config SERIAL_LITEUART
1501 tristate "LiteUART serial port support"
1502 depends on HAS_IOMEM
1503 depends on OF
1504 depends on LITEX || COMPILE_TEST
1505 select SERIAL_CORE
1506 help
1507 This driver is for the FPGA-based LiteUART serial controller from LiteX
1508 SoC builder.
1509
1510 Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
1511 Otherwise, say 'N'.
1512
1513config SERIAL_LITEUART_MAX_PORTS
1514 int "Maximum number of LiteUART ports"
1515 depends on SERIAL_LITEUART
1516 default "1"
1517 help
1518 Set this to the maximum number of serial ports you want the driver
1519 to support.
1520
1521config SERIAL_LITEUART_CONSOLE
1522 bool "LiteUART serial port console support"
1523 depends on SERIAL_LITEUART=y
1524 select SERIAL_CORE_CONSOLE
1525 select SERIAL_EARLYCON
1526 help
1527 Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
1528 controller from LiteX SoC builder as the system console
1529 (the system console is the device which receives all kernel messages
1530 and warnings and which allows logins in single user mode).
1531 Otherwise, say 'N'.
1532
1533config SERIAL_SUNPLUS
1534 tristate "Sunplus UART support"
1535 depends on ARCH_SUNPLUS || COMPILE_TEST
1536 select SERIAL_CORE
1537 help
1538 Select this option if you would like to use Sunplus serial port on
1539 Sunplus SoC SP7021.
1540 If you enable this option, Sunplus serial ports in the system will
1541 be registered as ttySUPx.
1542 This driver can also be built as a module. If so, the module will be
1543 called sunplus-uart.
1544
1545config SERIAL_SUNPLUS_CONSOLE
1546 bool "Console on Sunplus UART"
1547 depends on SERIAL_SUNPLUS
1548 select SERIAL_CORE_CONSOLE
1549 select SERIAL_EARLYCON
1550 help
1551 Select this option if you would like to use a Sunplus UART as the
1552 system console.
1553 Even if you say Y here, the currently visible virtual console
1554 (/dev/tty0) will still be used as the system console by default, but
1555 you can alter that using a kernel command line option such as
1556 "console=ttySUPx".
1557
1558config SERIAL_NUVOTON_MA35D1
1559 tristate "Nuvoton MA35D1 family UART support"
1560 depends on ARCH_MA35 || COMPILE_TEST
1561 select SERIAL_CORE
1562 help
1563 This driver supports Nuvoton MA35D1 family UART ports. If you would
1564 like to use them, you must answer Y or M to this option. Note that
1565 for use as console, it must be included in kernel and not as a
1566 module. If you enable this option, Ma35D1 serial ports in the system
1567 will be registered as ttyNVTx.
1568
1569config SERIAL_NUVOTON_MA35D1_CONSOLE
1570 bool "Console on a Nuvotn MA35D1 family UART port"
1571 depends on SERIAL_NUVOTON_MA35D1=y
1572 select SERIAL_CORE_CONSOLE
1573 help
1574 Select this options if you'd like to use the UART port0 of the
1575 Nuvoton MA35D1 family as a console.
1576 Even if you say Y here, the currently visible virtual console
1577 (/dev/tty0) will still be used as the system console by default,
1578 but you can alter that using a kernel command line option such as
1579 "console=ttyNVTx".
1580
1581config SERIAL_ESP32
1582 tristate "Espressif ESP32 UART support"
1583 depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
1584 select SERIAL_CORE
1585 select SERIAL_CORE_CONSOLE
1586 select SERIAL_EARLYCON
1587 help
1588 Driver for the UART controllers of the Espressif ESP32xx SoCs.
1589 When earlycon option is enabled the following kernel command line
1590 snippets may be used:
1591 earlycon=esp32s3uart,mmio32,0x60000000,115200n8,40000000
1592 earlycon=esp32uart,mmio32,0x3ff40000,115200n8
1593
1594config SERIAL_ESP32_ACM
1595 tristate "Espressif ESP32 USB ACM gadget support"
1596 depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF)
1597 select SERIAL_CORE
1598 select SERIAL_CORE_CONSOLE
1599 select SERIAL_EARLYCON
1600 help
1601 Driver for the CDC ACM gadget controller of the Espressif ESP32S3
1602 SoCs that share separate USB controller with the JTAG adapter.
1603 When earlycon option is enabled the following kernel command line
1604 snippet may be used:
1605 earlycon=esp32s3acm,mmio32,0x60038000
1606
1607endmenu
1608
1609config SERIAL_MCTRL_GPIO
1610 tristate