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