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