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