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