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