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