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