projects/linux·blob master · refs

1598 lines · 50.0 KiB

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