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_V01
91 select SERIAL_CORE
92 select SERIAL_CORE_CONSOLE
93 select SERIAL_EARLYCON
94 help
95 Support for early debug console using RISC-V SBI. This enables
96 the console before standard serial driver is probed. This is enabled
97 with "earlycon=sbi" on the kernel command line. The console is
98 enabled when early_param is processed.
99
100config SERIAL_SB1250_DUART
101 tristate "BCM1xxx on-chip DUART serial support"
102 depends on SIBYTE_SB1xxx_SOC=y
103 select SERIAL_CORE
104 default y
105 help
106 Support for the asynchronous serial interface (DUART) included in
107 the BCM1250 and derived System-On-a-Chip (SOC) devices. Note that
108 the letter D in DUART stands for "dual", which is how the device
109 is implemented. Depending on the SOC configuration there may be
110 one or more DUARTs available of which all are handled.
111
112 If unsure, say Y. To compile this driver as a module, choose M here:
113 the module will be called sb1250-duart.
114
115config SERIAL_SB1250_DUART_CONSOLE
116 bool "Support for console on a BCM1xxx DUART serial port"
117 depends on SERIAL_SB1250_DUART=y
118 select SERIAL_CORE_CONSOLE
119 default y
120 help
121 If you say Y here, it will be possible to use a serial port as the
122 system console (the system console is the device which receives all
123 kernel messages and warnings and which allows logins in single user
124 mode).
125
126 If unsure, say Y.
127
128config SERIAL_ATMEL
129 bool "AT91 on-chip serial port support"
130 depends on COMMON_CLK
131 depends on ARCH_AT91 || COMPILE_TEST
132 select SERIAL_CORE
133 select SERIAL_MCTRL_GPIO if GPIOLIB
134 select MFD_AT91_USART
135 help
136 This enables the driver for the on-chip UARTs of the Atmel
137 AT91 processors.
138
139config SERIAL_ATMEL_CONSOLE
140 bool "Support for console on AT91 serial port"
141 depends on SERIAL_ATMEL=y
142 select SERIAL_CORE_CONSOLE
143 select SERIAL_EARLYCON
144 help
145 Say Y here if you wish to use an on-chip UART on a Atmel
146 AT91 processor as the system console (the system
147 console is the device which receives all kernel messages and
148 warnings and which allows logins in single user mode).
149
150config SERIAL_ATMEL_PDC
151 bool "Support DMA transfers on AT91 serial port"
152 depends on SERIAL_ATMEL
153 default y
154 help
155 Say Y here if you wish to use the PDC to do DMA transfers to
156 and from the Atmel AT91 serial port. In order to
157 actually use DMA transfers, make sure that the use_dma_tx
158 and use_dma_rx members in the atmel_uart_data struct is set
159 appropriately for each port.
160
161 Note that break and error handling currently doesn't work
162 properly when DMA is enabled. Make sure that ports where
163 this matters don't use DMA.
164
165config SERIAL_ATMEL_TTYAT
166 bool "Install as device ttyATn instead of ttySn"
167 depends on SERIAL_ATMEL=y
168 help
169 Say Y here if you wish to have the internal AT91 UARTs
170 appear as /dev/ttyATn (major 204, minor starting at 154)
171 instead of the normal /dev/ttySn (major 4, minor starting at
172 64). This is necessary if you also want other UARTs, such as
173 external 8250/16C550 compatible UARTs.
174 The ttySn nodes are legally reserved for the 8250 serial driver
175 but are often misused by other serial drivers.
176
177 To use this, you should create suitable ttyATn device nodes in
178 /dev/, and pass "console=ttyATn" to the kernel.
179
180 Say Y if you have an external 8250/16C550 UART. If unsure, say N.
181
182config SERIAL_KGDB_NMI
183 bool "Serial console over KGDB NMI debugger port"
184 depends on KGDB_SERIAL_CONSOLE
185 help
186 This special driver allows you to temporary use NMI debugger port
187 as a normal console (assuming that the port is attached to KGDB).
188
189 Unlike KDB's disable_nmi command, with this driver you are always
190 able to go back to the debugger using KGDB escape sequence ($3#33).
191 This is because this console driver processes the input in NMI
192 context, and thus is able to intercept the magic sequence.
193
194 Note that since the console interprets input and uses polling
195 communication methods, for things like PPP you still must fully
196 detach debugger port from the KGDB NMI (i.e. disable_nmi), and
197 use raw console.
198
199 If unsure, say N.
200
201config SERIAL_MESON
202 tristate "Meson serial port support"
203 depends on ARCH_MESON || COMPILE_TEST
204 select SERIAL_CORE
205 help
206 This enables the driver for the on-chip UARTs of the Amlogic
207 MesonX processors.
208
209config SERIAL_MESON_CONSOLE
210 bool "Support for console on meson"
211 depends on SERIAL_MESON
212 select SERIAL_CORE_CONSOLE
213 select SERIAL_EARLYCON
214 help
215 Say Y here if you wish to use a Amlogic MesonX UART as the
216 system console (the system console is the device which
217 receives all kernel messages and warnings and which allows
218 logins in single user mode) as /dev/ttyAMLx.
219
220config SERIAL_CLPS711X
221 tristate "CLPS711X serial port support"
222 depends on ARCH_CLPS711X || COMPILE_TEST
223 select SERIAL_CORE
224 select SERIAL_MCTRL_GPIO if GPIOLIB
225 help
226 This enables the driver for the on-chip UARTs of the Cirrus
227 Logic EP711x/EP721x/EP731x processors.
228
229config SERIAL_CLPS711X_CONSOLE
230 bool "Support for console on CLPS711X serial port"
231 depends on SERIAL_CLPS711X=y
232 select SERIAL_CORE_CONSOLE
233 help
234 Even if you say Y here, the currently visible virtual console
235 (/dev/tty0) will still be used as the system console by default, but
236 you can alter that using a kernel command line option such as
237 "console=ttyCL1".
238
239config SERIAL_SAMSUNG
240 tristate "Samsung SoC serial support"
241 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || ARCH_ARTPEC || COMPILE_TEST
242 select SERIAL_CORE
243 help
244 Support for the on-chip UARTs on the Samsung
245 S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
246 /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
247 these ports, depending on how the serial port pins are configured.
248
249 Choose Y/M here only if you build for such SoC.
250
251config SERIAL_SAMSUNG_UARTS
252 int
253 depends on SERIAL_SAMSUNG
254 default 4
255 help
256 Select the number of available UART ports for the Samsung S3C
257 serial driver
258
259config SERIAL_SAMSUNG_CONSOLE
260 bool "Support for console on Samsung SoC serial port"
261 depends on SERIAL_SAMSUNG
262 select SERIAL_CORE_CONSOLE
263 select SERIAL_EARLYCON
264 help
265 Allow selection of the S3C24XX on-board serial ports for use as
266 an virtual console.
267
268 Even if you say Y here, the currently visible virtual console
269 (/dev/tty0) will still be used as the system console by default, but
270 you can alter that using a kernel command line option such as
271 "console=ttySACx". (Try "man bootparam" or see the documentation of
272 your boot loader about how to pass options to the kernel at
273 boot time.)
274
275config SERIAL_TEGRA
276 tristate "NVIDIA Tegra20/30 SoC serial controller"
277 depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
278 select SERIAL_CORE
279 help
280 Support for the on-chip UARTs on the NVIDIA Tegra series SOCs
281 providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not
282 provide all of these ports, depending on how the serial port
283 are enabled). This driver uses the APB DMA to achieve higher baudrate
284 and better performance.
285
286config SERIAL_TEGRA_TCU
287 tristate "NVIDIA Tegra Combined UART"
288 depends on MAILBOX
289 depends on (ARCH_TEGRA && TEGRA_HSP_MBOX) || COMPILE_TEST
290 select SERIAL_CORE
291 help
292 Support for the mailbox-based TCU (Tegra Combined UART) serial port.
293 TCU is a virtual serial port that allows multiplexing multiple data
294 streams into a single hardware serial port.
295
296config SERIAL_TEGRA_TCU_CONSOLE
297 bool "Support for console on a Tegra TCU serial port"
298 depends on SERIAL_TEGRA_TCU=y
299 select SERIAL_CORE_CONSOLE
300 default y
301 help
302 If you say Y here, it will be possible to use a the Tegra TCU as the
303 system console (the system console is the device which receives all
304 kernel messages and warnings and which allows logins in single user
305 mode).
306
307 If unsure, say Y.
308
309config SERIAL_MAX3100
310 tristate "MAX3100 support"
311 depends on SPI
312 select SERIAL_CORE
313 help
314 MAX3100 chip support
315
316config SERIAL_MAX310X
317 tristate "MAX310X support"
318 depends on SPI_MASTER
319 select SERIAL_CORE
320 select REGMAP_SPI if SPI_MASTER
321 select REGMAP_I2C if I2C
322 help
323 This selects support for an advanced UART from Maxim (Dallas).
324 Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
325 Each IC contains 128 words each of receive and transmit FIFO
326 that can be controlled through I2C or high-speed SPI.
327
328 Say Y here if you want to support this ICs.
329
330config SERIAL_DZ
331 bool "DECstation DZ serial driver"
332 depends on MACH_DECSTATION && 32BIT
333 select SERIAL_CORE
334 default y
335 help
336 DZ11-family serial controllers for DECstations and VAXstations,
337 including the DC7085, M7814, and M7819.
338
339config SERIAL_DZ_CONSOLE
340 bool "Support console on DECstation DZ serial driver"
341 depends on SERIAL_DZ=y
342 select SERIAL_CORE_CONSOLE
343 default y
344 help
345 If you say Y here, it will be possible to use a serial port as the
346 system console (the system console is the device which receives all
347 kernel messages and warnings and which allows logins in single user
348 mode).
349
350 Note that the firmware uses ttyS3 as the serial console on
351 DECstations that use this driver.
352
353 If unsure, say Y.
354
355config SERIAL_ZS
356 tristate "DECstation Z85C30 serial support"
357 depends on MACH_DECSTATION
358 select SERIAL_CORE
359 default y
360 help
361 Support for the Zilog 85C350 serial communications controller used
362 for serial ports in newer DECstation systems. These include the
363 DECsystem 5900 and all models of the DECstation and DECsystem 5000
364 systems except from model 200.
365
366 If unsure, say Y. To compile this driver as a module, choose M here:
367 the module will be called zs.
368
369config SERIAL_ZS_CONSOLE
370 bool "Support for console on a DECstation Z85C30 serial port"
371 depends on SERIAL_ZS=y
372 select SERIAL_CORE_CONSOLE
373 default y
374 help
375 If you say Y here, it will be possible to use a serial port as the
376 system console (the system console is the device which receives all
377 kernel messages and warnings and which allows logins in single user
378 mode).
379
380 Note that the firmware uses ttyS1 as the serial console on the
381 Maxine and ttyS3 on the others using this driver.
382
383 If unsure, say Y.
384
385config SERIAL_21285
386 tristate "DC21285 serial port support"
387 depends on FOOTBRIDGE
388 select SERIAL_CORE
389 help
390 If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
391 PCI bridge you can enable its onboard serial port by enabling this
392 option.
393
394config SERIAL_21285_CONSOLE
395 bool "Console on DC21285 serial port"
396 depends on SERIAL_21285=y
397 select SERIAL_CORE_CONSOLE
398 help
399 If you have enabled the serial port on the 21285 footbridge you can
400 make it the console by answering Y to this option.
401
402 Even if you say Y here, the currently visible virtual console
403 (/dev/tty0) will still be used as the system console by default, but
404 you can alter that using a kernel command line option such as
405 "console=ttyFB". (Try "man bootparam" or see the documentation of
406 your boot loader (lilo or loadlin) about how to pass options to the
407 kernel at boot time.)
408
409config SERIAL_PXA
410 bool "PXA serial port support (DEPRECATED)"
411 depends on ARCH_PXA || ARCH_MMP
412 select SERIAL_CORE
413 select SERIAL_8250_PXA if SERIAL_8250=y
414 select SERIAL_PXA_NON8250 if !SERIAL_8250=y
415 help
416 If you have a machine based on an Intel XScale PXA2xx CPU you
417 can enable its onboard serial ports by enabling this option.
418
419 Unless you have a specific need, you should use SERIAL_8250_PXA
420 instead of this.
421
422config SERIAL_PXA_NON8250
423 bool
424 depends on !SERIAL_8250 || COMPILE_TEST
425
426config SERIAL_PXA_CONSOLE
427 bool "Console on PXA serial port (DEPRECATED)"
428 depends on SERIAL_PXA
429 select SERIAL_CORE_CONSOLE
430 select SERIAL_8250_CONSOLE if SERIAL_8250=y
431 help
432 If you have enabled the serial port on the Intel XScale PXA
433 CPU you can make it the console by answering Y to this option.
434
435 Even if you say Y here, the currently visible virtual console
436 (/dev/tty0) will still be used as the system console by default, but
437 you can alter that using a kernel command line option such as
438 "console=ttySA0". (Try "man bootparam" or see the documentation of
439 your boot loader (lilo or loadlin) about how to pass options to the
440 kernel at boot time.)
441
442 Unless you have a specific need, you should use SERIAL_8250_PXA
443 and SERIAL_8250_CONSOLE instead of this.
444
445config SERIAL_SA1100
446 bool "SA1100 serial port support"
447 depends on ARCH_SA1100
448 select SERIAL_CORE
449 select SERIAL_MCTRL_GPIO if GPIOLIB
450 help
451 If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
452 can enable its onboard serial port by enabling this option.
453 Please read <file:Documentation/arch/arm/sa1100/serial_uart.rst> for
454 further info.
455
456config SERIAL_SA1100_CONSOLE
457 bool "Console on SA1100 serial port"
458 depends on SERIAL_SA1100
459 select SERIAL_CORE_CONSOLE
460 help
461 If you have enabled the serial port on the SA1100/SA1110 StrongARM
462 CPU you can make it the console by answering Y to this option.
463
464 Even if you say Y here, the currently visible virtual console
465 (/dev/tty0) will still be used as the system console by default, but
466 you can alter that using a kernel command line option such as
467 "console=ttySA0". (Try "man bootparam" or see the documentation of
468 your boot loader (lilo or loadlin) about how to pass options to the
469 kernel at boot time.)
470
471config SERIAL_IMX
472 tristate "IMX serial port support"
473 depends on ARCH_MXC || COMPILE_TEST
474 select SERIAL_CORE
475 select RATIONAL
476 select SERIAL_MCTRL_GPIO if GPIOLIB
477 help
478 If you have a machine based on a Motorola IMX CPU you
479 can enable its onboard serial port by enabling this option.
480
481config SERIAL_IMX_CONSOLE
482 tristate "Console on IMX serial port"
483 depends on SERIAL_IMX
484 select SERIAL_CORE_CONSOLE
485 help
486 If you have enabled the serial port on the Freescale IMX
487 CPU you can make it the console by answering Y/M to this option.
488
489 Even if you say Y/M here, the currently visible virtual console
490 (/dev/tty0) will still be used as the system console by default, but
491 you can alter that using a kernel command line option such as
492 "console=ttymxc0". (Try "man bootparam" or see the documentation of
493 your bootloader about how to pass options to the kernel at boot time.)
494
495config SERIAL_IMX_EARLYCON
496 bool "Earlycon on IMX serial port"
497 depends on ARCH_MXC || COMPILE_TEST
498 depends on OF
499 select SERIAL_CORE
500 select SERIAL_EARLYCON
501 select SERIAL_CORE_CONSOLE
502 default y if SERIAL_IMX_CONSOLE
503 help
504 If you have enabled the earlycon on the Freescale IMX
505 CPU you can make it the earlycon by answering Y to this option.
506
507config SERIAL_UARTLITE
508 tristate "Xilinx uartlite serial port support"
509 depends on HAS_IOMEM
510 select SERIAL_CORE
511 help
512 Say Y here if you want to use the Xilinx uartlite serial controller.
513
514 To compile this driver as a module, choose M here: the
515 module will be called uartlite.
516
517config SERIAL_UARTLITE_CONSOLE
518 bool "Support for console on Xilinx uartlite serial port"
519 depends on SERIAL_UARTLITE=y
520 select SERIAL_CORE_CONSOLE
521 select SERIAL_EARLYCON
522 help
523 Say Y here if you wish to use a Xilinx uartlite as the system
524 console (the system console is the device which receives all kernel
525 messages and warnings and which allows logins in single user mode).
526
527config SERIAL_UARTLITE_NR_UARTS
528 int "Maximum number of uartlite serial ports"
529 depends on SERIAL_UARTLITE
530 range 1 256
531 default 1
532 help
533 Set this to the number of uartlites in your system, or the number
534 you think you might implement.
535
536config SERIAL_SUNCORE
537 bool
538 depends on SPARC
539 select SERIAL_CORE
540 select SERIAL_CORE_CONSOLE
541 default y
542
543config SERIAL_SUNZILOG
544 tristate "Sun Zilog8530 serial support"
545 depends on SPARC
546 help
547 This driver supports the Zilog8530 serial ports found on many Sparc
548 systems. Say Y or M if you want to be able to these serial ports.
549
550config SERIAL_SUNZILOG_CONSOLE
551 bool "Console on Sun Zilog8530 serial port"
552 depends on SERIAL_SUNZILOG=y
553 help
554 If you would like to be able to use the Zilog8530 serial port
555 on your Sparc system as the console, you can do so by answering
556 Y to this option.
557
558config SERIAL_SUNSU
559 tristate "Sun SU serial support"
560 depends on SPARC && PCI
561 help
562 This driver supports the 8250 serial ports that run the keyboard and
563 mouse on (PCI) UltraSPARC systems. Say Y or M if you want to be able
564 to these serial ports.
565
566config SERIAL_SUNSU_CONSOLE
567 bool "Console on Sun SU serial port"
568 depends on SERIAL_SUNSU=y
569 help
570 If you would like to be able to use the SU serial port
571 on your Sparc system as the console, you can do so by answering
572 Y to this option.
573
574config SERIAL_MUX
575 tristate "Serial MUX support"
576 depends on GSC
577 select SERIAL_CORE
578 default y
579 help
580 Saying Y here will enable the hardware MUX serial driver for
581 the Nova, K class systems and D class with a 'remote control card'.
582 The hardware MUX is not 8250/16550 compatible therefore the
583 /dev/ttyB0 device is shared between the Serial MUX and the PDC
584 software console. The following steps need to be completed to use
585 the Serial MUX:
586
587 1. create the device entry (mknod /dev/ttyB0 c 11 0)
588 2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
589 3. Add device ttyB0 to /etc/securetty (if you want to log on as
590 root on this console.)
591 4. Change the kernel command console parameter to: console=ttyB0
592
593config SERIAL_MUX_CONSOLE
594 bool "Support for console on serial MUX"
595 depends on SERIAL_MUX=y
596 select SERIAL_CORE_CONSOLE
597 default y
598
599config SERIAL_SUNSAB
600 tristate "Sun Siemens SAB82532 serial support"
601 depends on SPARC && PCI
602 help
603 This driver supports the Siemens SAB82532 DUSCC serial ports on newer
604 (PCI) UltraSPARC systems. Say Y or M if you want to be able to these
605 serial ports.
606
607config SERIAL_SUNSAB_CONSOLE
608 bool "Console on Sun Siemens SAB82532 serial port"
609 depends on SERIAL_SUNSAB=y
610 help
611 If you would like to be able to use the SAB82532 serial port
612 on your Sparc system as the console, you can do so by answering
613 Y to this option.
614
615config SERIAL_SUNHV
616 bool "Sun4v Hypervisor Console support"
617 depends on SPARC64
618 help
619 This driver supports the console device found on SUN4V Sparc
620 systems. Say Y if you want to be able to use this device.
621
622config SERIAL_IP22_ZILOG
623 tristate "SGI Zilog8530 serial support"
624 depends on SGI_HAS_ZILOG
625 select SERIAL_CORE
626 help
627 This driver supports the Zilog8530 serial ports found on SGI
628 systems. Say Y or M if you want to be able to these serial ports.
629
630config SERIAL_IP22_ZILOG_CONSOLE
631 bool "Console on SGI Zilog8530 serial port"
632 depends on SERIAL_IP22_ZILOG=y
633 select SERIAL_CORE_CONSOLE
634
635config SERIAL_SH_SCI
636 tristate "SuperH SCI(F) serial port support"
637 depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
638 select SERIAL_CORE
639 select SERIAL_MCTRL_GPIO if GPIOLIB
640
641config SERIAL_SH_SCI_NR_UARTS
642 int "Maximum number of SCI(F) serial ports" if EXPERT
643 range 1 64 if 64BIT
644 range 1 32 if !64BIT
645 depends on SERIAL_SH_SCI
646 default "10" if SUPERH
647 default "18" if ARCH_RENESAS
648 default "2"
649
650config SERIAL_SH_SCI_CONSOLE
651 bool "Support for console on SuperH SCI(F)" if EXPERT
652 depends on SERIAL_SH_SCI=y
653 select SERIAL_CORE_CONSOLE
654 default y
655
656config SERIAL_SH_SCI_EARLYCON
657 bool "Support for early console on SuperH SCI(F)" if EXPERT
658 depends on SERIAL_SH_SCI=y
659 select SERIAL_CORE_CONSOLE
660 select SERIAL_EARLYCON
661 default ARCH_RENESAS
662
663config SERIAL_SH_SCI_DMA
664 bool "DMA support" if EXPERT
665 depends on SERIAL_SH_SCI && DMA_ENGINE
666 default ARCH_RENESAS
667
668config SERIAL_HS_LPC32XX
669 tristate "LPC32XX high speed serial port support"
670 depends on ARCH_LPC32XX || COMPILE_TEST
671 depends on OF
672 select SERIAL_CORE
673 help
674 Support for the LPC32XX high speed serial ports (up to 900kbps).
675 Those are UARTs completely different from the Standard UARTs on the
676 LPC32XX SoC.
677 Choose M or Y here to build this driver.
678
679config SERIAL_HS_LPC32XX_CONSOLE
680 bool "Enable LPC32XX high speed UART serial console"
681 depends on SERIAL_HS_LPC32XX=y
682 select SERIAL_CORE_CONSOLE
683 help
684 If you would like to be able to use one of the high speed serial
685 ports on the LPC32XX as the console, you can do so by answering
686 Y to this option.
687
688config SERIAL_CORE
689 tristate
690
691config SERIAL_CORE_CONSOLE
692 bool
693
694config CONSOLE_POLL
695 bool
696
697config SERIAL_MCF
698 bool "Coldfire serial support"
699 depends on COLDFIRE
700 select SERIAL_CORE
701 help
702 This serial driver supports the Freescale Coldfire serial ports.
703
704config SERIAL_MCF_BAUDRATE
705 int "Default baudrate for Coldfire serial ports"
706 depends on SERIAL_MCF
707 default 19200
708 help
709 This setting lets you define what the default baudrate is for the
710 ColdFire serial ports. The usual default varies from board to board,
711 and this setting is a way of catering for that.
712
713config SERIAL_MCF_CONSOLE
714 bool "Coldfire serial console support"
715 depends on SERIAL_MCF
716 select SERIAL_CORE_CONSOLE
717 help
718 Enable a ColdFire internal serial port to be the system console.
719
720config SERIAL_PMACZILOG
721 tristate "Mac or PowerMac z85c30 ESCC support"
722 depends on (M68K && MAC) || PPC_PMAC
723 select SERIAL_CORE
724 help
725 This driver supports the Zilog z85C30 serial ports found on
726 (Power)Mac machines.
727 Say Y or M if you want to be able to these serial ports.
728
729config SERIAL_PMACZILOG_TTYS
730 bool "Use ttySn device nodes for Zilog z85c30"
731 depends on SERIAL_PMACZILOG
732 help
733 The pmac_zilog driver for the z85C30 chip on many powermacs
734 historically used the device numbers for /dev/ttySn. The
735 8250 serial port driver also uses these numbers, which means
736 the two drivers being unable to coexist; you could not use
737 both z85C30 and 8250 type ports at the same time.
738
739 If this option is not selected, the pmac_zilog driver will
740 use the device numbers allocated for /dev/ttyPZn. This allows
741 the pmac_zilog and 8250 drivers to co-exist, but may cause
742 existing userspace setups to break. Programs that need to
743 access the built-in serial ports on powermacs will need to
744 be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
745
746 If you enable this option, any z85c30 ports in the system will
747 be registered as ttyS0 onwards as in the past, and you will be
748 unable to use the 8250 module for PCMCIA or other 16C550-style
749 UARTs.
750
751 Say N unless you need the z85c30 ports on your (Power)Mac
752 to appear as /dev/ttySn.
753
754config SERIAL_PMACZILOG_CONSOLE
755 bool "Console on Mac or PowerMac z85c30 serial port"
756 depends on SERIAL_PMACZILOG=y
757 select SERIAL_CORE_CONSOLE
758 help
759 If you would like to be able to use the z85c30 serial port
760 on your (Power)Mac as the console, you can do so by answering
761 Y to this option.
762
763config SERIAL_CPM
764 tristate "CPM SCC/SMC serial port support"
765 depends on CPM2 || CPM1
766 select SERIAL_CORE
767 help
768 This driver supports the SCC and SMC serial ports on Motorola
769 embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)
770
771config SERIAL_CPM_CONSOLE
772 bool "Support for console on CPM SCC/SMC serial port"
773 depends on SERIAL_CPM=y
774 select SERIAL_CORE_CONSOLE
775 help
776 Say Y here if you wish to use a SCC or SMC CPM UART as the system
777 console (the system console is the device which receives all kernel
778 messages and warnings and which allows logins in single user mode).
779
780 Even if you say Y here, the currently visible framebuffer console
781 (/dev/tty0) will still be used as the system console by default, but
782 you can alter that using a kernel command line option such as
783 "console=ttyCPM0". (Try "man bootparam" or see the documentation of
784 your boot loader (lilo or loadlin) about how to pass options to the
785 kernel at boot time.)
786
787config SERIAL_PIC32
788 tristate "Microchip PIC32 serial support"
789 depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
790 select SERIAL_CORE
791 help
792 If you have a PIC32, this driver supports the serial ports.
793
794 Say Y or M to use PIC32 serial ports, otherwise say N. Note that
795 to use a serial port as a console, this must be included in kernel and
796 not as a module.
797
798config SERIAL_PIC32_CONSOLE
799 bool "PIC32 serial console support"
800 depends on SERIAL_PIC32=y
801 select SERIAL_CORE_CONSOLE
802 help
803 If you have a PIC32, this driver supports the putting a console on one
804 of the serial ports.
805
806 Say Y to use the PIC32 console, otherwise say N.
807
808config SERIAL_MPC52xx
809 tristate "Freescale MPC52xx/MPC512x family PSC serial support"
810 depends on PPC_MPC52xx || PPC_MPC512x
811 select SERIAL_CORE
812 help
813 This driver supports MPC52xx and MPC512x PSC serial ports. If you would
814 like to use them, you must answer Y or M to this option. Note that
815 for use as console, it must be included in kernel and not as a
816 module.
817
818config SERIAL_MPC52xx_CONSOLE
819 bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
820 depends on SERIAL_MPC52xx=y
821 select SERIAL_CORE_CONSOLE
822 help
823 Select this options if you'd like to use one of the PSC serial port
824 of the Freescale MPC52xx family as a console.
825
826config SERIAL_MPC52xx_CONSOLE_BAUD
827 int "Freescale MPC52xx/MPC512x family PSC serial port baud"
828 depends on SERIAL_MPC52xx_CONSOLE=y
829 default "9600"
830 help
831 Select the MPC52xx console baud rate.
832 This value is only used if the bootloader doesn't pass in the
833 console baudrate
834
835config SERIAL_ICOM
836 tristate "IBM Multiport Serial Adapter"
837 depends on PCI
838 depends on PPC_PSERIES || COMPILE_TEST
839 select SERIAL_CORE
840 select FW_LOADER
841 help
842 This driver is for a family of multiport serial adapters
843 including 2 port RVX, 2 port internal modem, 4 port internal
844 modem and a split 1 port RVX and 1 port internal modem.
845
846 This driver can also be built as a module. If so, the module
847 will be called icom.
848
849config SERIAL_TXX9
850 bool "TMPTX39XX/49XX SIO support"
851 depends on HAS_TXX9_SERIAL
852 select SERIAL_CORE
853 default y
854
855config HAS_TXX9_SERIAL
856 bool
857
858config SERIAL_TXX9_NR_UARTS
859 int "Maximum number of TMPTX39XX/49XX SIO ports"
860 depends on SERIAL_TXX9
861 default "6"
862
863config SERIAL_TXX9_CONSOLE
864 bool "TMPTX39XX/49XX SIO Console support"
865 depends on SERIAL_TXX9=y
866 select SERIAL_CORE_CONSOLE
867
868config SERIAL_TXX9_STDSERIAL
869 bool "TX39XX/49XX SIO act as standard serial"
870 depends on !SERIAL_8250 && SERIAL_TXX9
871
872config SERIAL_JSM
873 tristate "Digi International NEO and Classic PCI Support"
874 depends on PCI
875 select SERIAL_CORE
876 help
877 This is a driver for Digi International's Neo and Classic series
878 of cards which provide multiple serial ports. You would need
879 something like this to connect more than two modems to your Linux
880 box, for instance in order to become a dial-in server. This driver
881 supports PCI boards only.
882
883 If you have a card like this, say Y here, otherwise say N.
884
885 To compile this driver as a module, choose M here: the
886 module will be called jsm.
887
888config SERIAL_MSM
889 tristate "MSM on-chip serial port support"
890 depends on ARCH_QCOM || COMPILE_TEST
891 select SERIAL_CORE
892
893config SERIAL_MSM_CONSOLE
894 bool "MSM serial console support"
895 depends on SERIAL_MSM=y
896 select SERIAL_CORE_CONSOLE
897 select SERIAL_EARLYCON
898
899config SERIAL_QCOM_GENI
900 tristate "QCOM on-chip GENI based serial port support"
901 depends on ARCH_QCOM || COMPILE_TEST
902 depends on QCOM_GENI_SE
903 select SERIAL_CORE
904
905config SERIAL_QCOM_GENI_CONSOLE
906 bool "QCOM GENI Serial Console support"
907 depends on SERIAL_QCOM_GENI
908 select SERIAL_CORE_CONSOLE
909 select SERIAL_EARLYCON
910 help
911 Serial console driver for Qualcomm Technologies Inc's GENI based
912 QUP hardware.
913
914config SERIAL_VT8500
915 bool "VIA VT8500 on-chip serial port support"
916 depends on ARCH_VT8500 || COMPILE_TEST
917 select SERIAL_CORE
918
919config SERIAL_VT8500_CONSOLE
920 bool "VIA VT8500 serial console support"
921 depends on SERIAL_VT8500=y
922 select SERIAL_CORE_CONSOLE
923
924config SERIAL_OMAP
925 tristate "OMAP serial port support"
926 depends on (ARCH_OMAP2PLUS && !SERIAL_8250_OMAP) || COMPILE_TEST
927 select SERIAL_CORE
928 help
929 If you have a machine based on an Texas Instruments OMAP CPU you
930 can enable its onboard serial ports by enabling this option.
931
932 By enabling this option you take advantage of dma feature available
933 with the omap-serial driver. DMA support can be enabled from platform
934 data.
935
936config SERIAL_OMAP_CONSOLE
937 bool "Console on OMAP serial port"
938 depends on SERIAL_OMAP=y
939 select SERIAL_CORE_CONSOLE
940 help
941 Select this option if you would like to use omap serial port as
942 console.
943
944 Even if you say Y here, the currently visible virtual console
945 (/dev/tty0) will still be used as the system console by default, but
946 you can alter that using a kernel command line option such as
947 "console=ttyOx". (Try "man bootparam" or see the documentation of
948 your boot loader about how to pass options to the kernel at
949 boot time.)
950
951config SERIAL_SIFIVE
952 tristate "SiFive UART support"
953 depends on OF
954 default ARCH_SIFIVE || ARCH_CANAAN
955 select SERIAL_CORE
956 help
957 Select this option if you are building a kernel for a device that
958 contains a SiFive UART IP block. This type of UART is present on
959 SiFive FU540 SoCs, among others.
960
961config SERIAL_SIFIVE_CONSOLE
962 bool "Console on SiFive UART"
963 depends on SERIAL_SIFIVE=y
964 default ARCH_SIFIVE || ARCH_CANAAN
965 select SERIAL_CORE_CONSOLE
966 select SERIAL_EARLYCON
967 help
968 Select this option if you would like to use a SiFive UART as the
969 system console.
970
971 Even if you say Y here, the currently visible virtual console
972 (/dev/tty0) will still be used as the system console by default, but
973 you can alter that using a kernel command line option such as
974 "console=ttySIFx". (Try "man bootparam" or see the documentation of
975 your boot loader about how to pass options to the kernel at
976 boot time.)
977
978config SERIAL_LANTIQ
979 tristate "Lantiq serial driver"
980 depends on (LANTIQ || X86) || COMPILE_TEST
981 select SERIAL_CORE
982 help
983 Support for UART on Lantiq and Intel SoCs.
984 To compile this driver as a module, select M here. The
985 module will be called lantiq.
986
987config SERIAL_LANTIQ_CONSOLE
988 bool "Console on Lantiq UART"
989 depends on SERIAL_LANTIQ=y
990 select SERIAL_CORE_CONSOLE
991 select SERIAL_EARLYCON
992 help
993 Select this option if you would like to use a Lantiq UART as the
994 system console.
995
996config SERIAL_QE
997 tristate "Freescale QUICC Engine serial port support"
998 depends on QUICC_ENGINE
999 select SERIAL_CORE
1000 select FW_LOADER
1001 help
1002 This driver supports the QE serial ports on Freescale embedded
1003 PowerPC that contain a QUICC Engine.
1004
1005config SERIAL_SCCNXP
1006 tristate "SCCNXP serial port support"
1007 select SERIAL_CORE
1008 help
1009 This selects support for an advanced UART from NXP (Philips).
1010 Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1011 SC28L202, SCC68681 and SCC68692.
1012
1013config SERIAL_SCCNXP_CONSOLE
1014 bool "Console on SCCNXP serial port"
1015 depends on SERIAL_SCCNXP=y
1016 select SERIAL_CORE_CONSOLE
1017 help
1018 Support for console on SCCNXP serial ports.
1019
1020config SERIAL_SC16IS7XX_CORE
1021 tristate
1022
1023config SERIAL_SC16IS7XX
1024 tristate "SC16IS7xx serial support"
1025 select SERIAL_CORE
1026 depends on (SPI_MASTER && !I2C) || I2C
1027 help
1028 This selects support for SC16IS7xx serial ports.
1029 Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
1030 SC16IS760 and SC16IS762. Select supported buses using options below.
1031
1032config SERIAL_SC16IS7XX_I2C
1033 bool "SC16IS7xx for I2C interface"
1034 depends on SERIAL_SC16IS7XX
1035 depends on I2C
1036 select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1037 select REGMAP_I2C if I2C
1038 default y
1039 help
1040 Enable SC16IS7xx driver on I2C bus,
1041 If required say y, and say n to i2c if not required,
1042 Enabled by default to support oldconfig.
1043 You must select at least one bus for the driver to be built.
1044
1045config SERIAL_SC16IS7XX_SPI
1046 bool "SC16IS7xx for spi interface"
1047 depends on SERIAL_SC16IS7XX
1048 depends on SPI_MASTER
1049 select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1050 select REGMAP_SPI if SPI_MASTER
1051 help
1052 Enable SC16IS7xx driver on SPI bus,
1053 If required say y, and say n to spi if not required,
1054 This is additional support to existing driver.
1055 You must select at least one bus for the driver to be built.
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