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