xref: /linux/drivers/tty/serial/Kconfig (revision 0d4bb5e45aa698f2f357b1424b842bebe13b1c8b)
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	select REGMAP_I2C if I2C
328	help
329	  This selects support for an advanced UART from Maxim (Dallas).
330	  Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
331	  Each IC contains 128 words each of receive and transmit FIFO
332	  that can be controlled through I2C or high-speed SPI.
333
334	  Say Y here if you want to support this ICs.
335
336config SERIAL_DZ
337	bool "DECstation DZ serial driver"
338	depends on MACH_DECSTATION && 32BIT
339	select SERIAL_CORE
340	default y
341	help
342	  DZ11-family serial controllers for DECstations and VAXstations,
343	  including the DC7085, M7814, and M7819.
344
345config SERIAL_DZ_CONSOLE
346	bool "Support console on DECstation DZ serial driver"
347	depends on SERIAL_DZ=y
348	select SERIAL_CORE_CONSOLE
349	default y
350	help
351	  If you say Y here, it will be possible to use a serial port as the
352	  system console (the system console is the device which receives all
353	  kernel messages and warnings and which allows logins in single user
354	  mode).
355
356	  Note that the firmware uses ttyS3 as the serial console on
357	  DECstations that use this driver.
358
359	  If unsure, say Y.
360
361config SERIAL_ZS
362	tristate "DECstation Z85C30 serial support"
363	depends on MACH_DECSTATION
364	select SERIAL_CORE
365	default y
366	help
367	  Support for the Zilog 85C350 serial communications controller used
368	  for serial ports in newer DECstation systems.  These include the
369	  DECsystem 5900 and all models of the DECstation and DECsystem 5000
370	  systems except from model 200.
371
372	  If unsure, say Y.  To compile this driver as a module, choose M here:
373	  the module will be called zs.
374
375config SERIAL_ZS_CONSOLE
376	bool "Support for console on a DECstation Z85C30 serial port"
377	depends on SERIAL_ZS=y
378	select SERIAL_CORE_CONSOLE
379	default y
380	help
381	  If you say Y here, it will be possible to use a serial port as the
382	  system console (the system console is the device which receives all
383	  kernel messages and warnings and which allows logins in single user
384	  mode).
385
386	  Note that the firmware uses ttyS1 as the serial console on the
387	  Maxine and ttyS3 on the others using this driver.
388
389	  If unsure, say Y.
390
391config SERIAL_21285
392	tristate "DC21285 serial port support"
393	depends on FOOTBRIDGE
394	select SERIAL_CORE
395	help
396	  If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
397	  PCI bridge you can enable its onboard serial port by enabling this
398	  option.
399
400config SERIAL_21285_CONSOLE
401	bool "Console on DC21285 serial port"
402	depends on SERIAL_21285=y
403	select SERIAL_CORE_CONSOLE
404	help
405	  If you have enabled the serial port on the 21285 footbridge you can
406	  make it the console by answering Y to this option.
407
408	  Even if you say Y here, the currently visible virtual console
409	  (/dev/tty0) will still be used as the system console by default, but
410	  you can alter that using a kernel command line option such as
411	  "console=ttyFB". (Try "man bootparam" or see the documentation of
412	  your boot loader (lilo or loadlin) about how to pass options to the
413	  kernel at boot time.)
414
415config SERIAL_PXA
416	bool "PXA serial port support (DEPRECATED)"
417	depends on ARCH_PXA || ARCH_MMP
418	select SERIAL_CORE
419	select SERIAL_8250_PXA if SERIAL_8250=y
420	select SERIAL_PXA_NON8250 if !SERIAL_8250=y
421	help
422	  If you have a machine based on an Intel XScale PXA2xx CPU you
423	  can enable its onboard serial ports by enabling this option.
424
425	  Unless you have a specific need, you should use SERIAL_8250_PXA
426	  instead of this.
427
428config SERIAL_PXA_NON8250
429	bool
430	depends on !SERIAL_8250
431
432config SERIAL_PXA_CONSOLE
433	bool "Console on PXA serial port (DEPRECATED)"
434	depends on SERIAL_PXA
435	select SERIAL_CORE_CONSOLE
436	select SERIAL_8250_CONSOLE if SERIAL_8250=y
437	help
438	  If you have enabled the serial port on the Intel XScale PXA
439	  CPU you can make it the console by answering Y to this option.
440
441	  Even if you say Y here, the currently visible virtual console
442	  (/dev/tty0) will still be used as the system console by default, but
443	  you can alter that using a kernel command line option such as
444	  "console=ttySA0". (Try "man bootparam" or see the documentation of
445	  your boot loader (lilo or loadlin) about how to pass options to the
446	  kernel at boot time.)
447
448	  Unless you have a specific need, you should use SERIAL_8250_PXA
449	  and SERIAL_8250_CONSOLE instead of this.
450
451config SERIAL_SA1100
452	bool "SA1100 serial port support"
453	depends on ARCH_SA1100
454	select SERIAL_CORE
455	select SERIAL_MCTRL_GPIO if GPIOLIB
456	help
457	  If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
458	  can enable its onboard serial port by enabling this option.
459	  Please read <file:Documentation/arm/sa1100/serial_uart.rst> for further
460	  info.
461
462config SERIAL_SA1100_CONSOLE
463	bool "Console on SA1100 serial port"
464	depends on SERIAL_SA1100
465	select SERIAL_CORE_CONSOLE
466	help
467	  If you have enabled the serial port on the SA1100/SA1110 StrongARM
468	  CPU you can make it the console by answering Y to this option.
469
470	  Even if you say Y here, the currently visible virtual console
471	  (/dev/tty0) will still be used as the system console by default, but
472	  you can alter that using a kernel command line option such as
473	  "console=ttySA0". (Try "man bootparam" or see the documentation of
474	  your boot loader (lilo or loadlin) about how to pass options to the
475	  kernel at boot time.)
476
477config SERIAL_IMX
478	tristate "IMX serial port support"
479	depends on ARCH_MXC || COMPILE_TEST
480	select SERIAL_CORE
481	select RATIONAL
482	select SERIAL_MCTRL_GPIO if GPIOLIB
483	help
484	  If you have a machine based on a Motorola IMX CPU you
485	  can enable its onboard serial port by enabling this option.
486
487config SERIAL_IMX_CONSOLE
488	tristate "Console on IMX serial port"
489	depends on SERIAL_IMX
490	select SERIAL_CORE_CONSOLE
491	help
492	  If you have enabled the serial port on the Freescale IMX
493	  CPU you can make it the console by answering Y/M to this option.
494
495	  Even if you say Y/M here, the currently visible virtual console
496	  (/dev/tty0) will still be used as the system console by default, but
497	  you can alter that using a kernel command line option such as
498	  "console=ttymxc0". (Try "man bootparam" or see the documentation of
499	  your bootloader about how to pass options to the kernel at boot time.)
500
501config SERIAL_IMX_EARLYCON
502	bool "Earlycon on IMX serial port"
503	depends on ARCH_MXC || COMPILE_TEST
504	depends on OF
505	select SERIAL_CORE
506	select SERIAL_EARLYCON
507	select SERIAL_CORE_CONSOLE
508	default y if SERIAL_IMX_CONSOLE
509	help
510	  If you have enabled the earlycon on the Freescale IMX
511	  CPU you can make it the earlycon by answering Y to this option.
512
513config SERIAL_UARTLITE
514	tristate "Xilinx uartlite serial port support"
515	depends on HAS_IOMEM
516	select SERIAL_CORE
517	help
518	  Say Y here if you want to use the Xilinx uartlite serial controller.
519
520	  To compile this driver as a module, choose M here: the
521	  module will be called uartlite.
522
523config SERIAL_UARTLITE_CONSOLE
524	bool "Support for console on Xilinx uartlite serial port"
525	depends on SERIAL_UARTLITE=y
526	select SERIAL_CORE_CONSOLE
527	select SERIAL_EARLYCON
528	help
529	  Say Y here if you wish to use a Xilinx uartlite as the system
530	  console (the system console is the device which receives all kernel
531	  messages and warnings and which allows logins in single user mode).
532
533config SERIAL_UARTLITE_NR_UARTS
534	int "Maximum number of uartlite serial ports"
535	depends on SERIAL_UARTLITE
536	range 1 256
537	default 1
538	help
539	  Set this to the number of uartlites in your system, or the number
540	  you think you might implement.
541
542config SERIAL_SUNCORE
543	bool
544	depends on SPARC
545	select SERIAL_CORE
546	select SERIAL_CORE_CONSOLE
547	default y
548
549config SERIAL_SUNZILOG
550	tristate "Sun Zilog8530 serial support"
551	depends on SPARC
552	help
553	  This driver supports the Zilog8530 serial ports found on many Sparc
554	  systems.  Say Y or M if you want to be able to these serial ports.
555
556config SERIAL_SUNZILOG_CONSOLE
557	bool "Console on Sun Zilog8530 serial port"
558	depends on SERIAL_SUNZILOG=y
559	help
560	  If you would like to be able to use the Zilog8530 serial port
561	  on your Sparc system as the console, you can do so by answering
562	  Y to this option.
563
564config SERIAL_SUNSU
565	tristate "Sun SU serial support"
566	depends on SPARC && PCI
567	help
568	  This driver supports the 8250 serial ports that run the keyboard and
569	  mouse on (PCI) UltraSPARC systems.  Say Y or M if you want to be able
570	  to these serial ports.
571
572config SERIAL_SUNSU_CONSOLE
573	bool "Console on Sun SU serial port"
574	depends on SERIAL_SUNSU=y
575	help
576	  If you would like to be able to use the SU serial port
577	  on your Sparc system as the console, you can do so by answering
578	  Y to this option.
579
580config SERIAL_MUX
581	tristate "Serial MUX support"
582	depends on GSC
583	select SERIAL_CORE
584	default y
585	help
586	  Saying Y here will enable the hardware MUX serial driver for
587	  the Nova, K class systems and D class with a 'remote control card'.
588	  The hardware MUX is not 8250/16550 compatible therefore the
589	  /dev/ttyB0 device is shared between the Serial MUX and the PDC
590	  software console. The following steps need to be completed to use
591	  the Serial MUX:
592
593	    1. create the device entry (mknod /dev/ttyB0 c 11 0)
594	    2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
595	    3. Add device ttyB0 to /etc/securetty (if you want to log on as
596		 root on this console.)
597	    4. Change the kernel command console parameter to: console=ttyB0
598
599config SERIAL_MUX_CONSOLE
600	bool "Support for console on serial MUX"
601	depends on SERIAL_MUX=y
602	select SERIAL_CORE_CONSOLE
603	default y
604
605config PDC_CONSOLE
606	bool "PDC software console support"
607	depends on PARISC && !SERIAL_MUX && VT
608	help
609	  Saying Y here will enable the software based PDC console to be
610	  used as the system console.  This is useful for machines in
611	  which the hardware based console has not been written yet.  The
612	  following steps must be completed to use the PDC console:
613
614	    1. create the device entry (mknod /dev/ttyB0 c 11 0)
615	    2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
616	    3. Add device ttyB0 to /etc/securetty (if you want to log on as
617		 root on this console.)
618	    4. Change the kernel command console parameter to: console=ttyB0
619
620config SERIAL_SUNSAB
621	tristate "Sun Siemens SAB82532 serial support"
622	depends on SPARC && PCI
623	help
624	  This driver supports the Siemens SAB82532 DUSCC serial ports on newer
625	  (PCI) UltraSPARC systems.  Say Y or M if you want to be able to these
626	  serial ports.
627
628config SERIAL_SUNSAB_CONSOLE
629	bool "Console on Sun Siemens SAB82532 serial port"
630	depends on SERIAL_SUNSAB=y
631	help
632	  If you would like to be able to use the SAB82532 serial port
633	  on your Sparc system as the console, you can do so by answering
634	  Y to this option.
635
636config SERIAL_SUNHV
637	bool "Sun4v Hypervisor Console support"
638	depends on SPARC64
639	help
640	  This driver supports the console device found on SUN4V Sparc
641	  systems.  Say Y if you want to be able to use this device.
642
643config SERIAL_IP22_ZILOG
644	tristate "SGI Zilog8530 serial support"
645	depends on SGI_HAS_ZILOG
646	select SERIAL_CORE
647	help
648	  This driver supports the Zilog8530 serial ports found on SGI
649	  systems.  Say Y or M if you want to be able to these serial ports.
650
651config SERIAL_IP22_ZILOG_CONSOLE
652	bool "Console on SGI Zilog8530 serial port"
653	depends on SERIAL_IP22_ZILOG=y
654	select SERIAL_CORE_CONSOLE
655
656config SERIAL_SH_SCI
657	tristate "SuperH SCI(F) serial port support"
658	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
659	select SERIAL_CORE
660	select SERIAL_MCTRL_GPIO if GPIOLIB
661
662config SERIAL_SH_SCI_NR_UARTS
663	int "Maximum number of SCI(F) serial ports" if EXPERT
664	range 1 64 if 64BIT
665	range 1 32 if !64BIT
666	depends on SERIAL_SH_SCI
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
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_JSM
894	tristate "Digi International NEO and Classic PCI Support"
895	depends on PCI
896	select SERIAL_CORE
897	help
898	  This is a driver for Digi International's Neo and Classic series
899	  of cards which provide multiple serial ports. You would need
900	  something like this to connect more than two modems to your Linux
901	  box, for instance in order to become a dial-in server. This driver
902	  supports PCI boards only.
903
904	  If you have a card like this, say Y here, otherwise say N.
905
906	  To compile this driver as a module, choose M here: the
907	  module will be called jsm.
908
909config SERIAL_MSM
910	tristate "MSM on-chip serial port support"
911	depends on ARCH_QCOM || COMPILE_TEST
912	select SERIAL_CORE
913
914config SERIAL_MSM_CONSOLE
915	bool "MSM serial console support"
916	depends on SERIAL_MSM=y
917	select SERIAL_CORE_CONSOLE
918	select SERIAL_EARLYCON
919
920config SERIAL_QCOM_GENI
921	tristate "QCOM on-chip GENI based serial port support"
922	depends on ARCH_QCOM || COMPILE_TEST
923	depends on QCOM_GENI_SE
924	select SERIAL_CORE
925
926config SERIAL_QCOM_GENI_CONSOLE
927	bool "QCOM GENI Serial Console support"
928	depends on SERIAL_QCOM_GENI
929	select SERIAL_CORE_CONSOLE
930	select SERIAL_EARLYCON
931	help
932	  Serial console driver for Qualcomm Technologies Inc's GENI based
933	  QUP hardware.
934
935config SERIAL_VT8500
936	bool "VIA VT8500 on-chip serial port support"
937	depends on ARCH_VT8500 || COMPILE_TEST
938	select SERIAL_CORE
939
940config SERIAL_VT8500_CONSOLE
941	bool "VIA VT8500 serial console support"
942	depends on SERIAL_VT8500=y
943	select SERIAL_CORE_CONSOLE
944
945config SERIAL_OMAP
946	tristate "OMAP serial port support"
947	depends on (ARCH_OMAP2PLUS && !SERIAL_8250_OMAP) || COMPILE_TEST
948	select SERIAL_CORE
949	help
950	  If you have a machine based on an Texas Instruments OMAP CPU you
951	  can enable its onboard serial ports by enabling this option.
952
953	  By enabling this option you take advantage of dma feature available
954	  with the omap-serial driver. DMA support can be enabled from platform
955	  data.
956
957config SERIAL_OMAP_CONSOLE
958	bool "Console on OMAP serial port"
959	depends on SERIAL_OMAP=y
960	select SERIAL_CORE_CONSOLE
961	help
962	  Select this option if you would like to use omap serial port as
963	  console.
964
965	  Even if you say Y here, the currently visible virtual console
966	  (/dev/tty0) will still be used as the system console by default, but
967	  you can alter that using a kernel command line option such as
968	  "console=ttyOx". (Try "man bootparam" or see the documentation of
969	  your boot loader about how to pass options to the kernel at
970	  boot time.)
971
972config SERIAL_SIFIVE
973	tristate "SiFive UART support"
974	depends on OF
975	select SERIAL_CORE
976	help
977	  Select this option if you are building a kernel for a device that
978	  contains a SiFive UART IP block.  This type of UART is present on
979	  SiFive FU540 SoCs, among others.
980
981config SERIAL_SIFIVE_CONSOLE
982	bool "Console on SiFive UART"
983	depends on SERIAL_SIFIVE=y
984	select SERIAL_CORE_CONSOLE
985	select SERIAL_EARLYCON
986	help
987	  Select this option if you would like to use a SiFive UART as the
988	  system console.
989
990	  Even if you say Y here, the currently visible virtual console
991	  (/dev/tty0) will still be used as the system console by default, but
992	  you can alter that using a kernel command line option such as
993	  "console=ttySIFx". (Try "man bootparam" or see the documentation of
994	  your boot loader about how to pass options to the kernel at
995	  boot time.)
996
997config SERIAL_LANTIQ
998	tristate "Lantiq serial driver"
999	depends on (LANTIQ || X86) || COMPILE_TEST
1000	select SERIAL_CORE
1001	help
1002	  Support for UART on Lantiq and Intel SoCs.
1003	  To compile this driver as a module, select M here. The
1004	  module will be called lantiq.
1005
1006config SERIAL_LANTIQ_CONSOLE
1007	bool "Console on Lantiq UART"
1008	depends on SERIAL_LANTIQ=y
1009	select SERIAL_CORE_CONSOLE
1010	select SERIAL_EARLYCON
1011	help
1012	  Select this option if you would like to use a Lantiq UART as the
1013	  system console.
1014
1015config SERIAL_QE
1016	tristate "Freescale QUICC Engine serial port support"
1017	depends on QUICC_ENGINE
1018	select SERIAL_CORE
1019	select FW_LOADER
1020	help
1021	  This driver supports the QE serial ports on Freescale embedded
1022	  PowerPC that contain a QUICC Engine.
1023
1024config SERIAL_SCCNXP
1025	tristate "SCCNXP serial port support"
1026	select SERIAL_CORE
1027	help
1028	  This selects support for an advanced UART from NXP (Philips).
1029	  Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1030	  SC28L202, SCC68681 and SCC68692.
1031
1032config SERIAL_SCCNXP_CONSOLE
1033	bool "Console on SCCNXP serial port"
1034	depends on SERIAL_SCCNXP=y
1035	select SERIAL_CORE_CONSOLE
1036	help
1037	  Support for console on SCCNXP serial ports.
1038
1039config SERIAL_SC16IS7XX_CORE
1040	tristate
1041
1042config SERIAL_SC16IS7XX
1043	tristate "SC16IS7xx serial support"
1044	select SERIAL_CORE
1045	depends on (SPI_MASTER && !I2C) || I2C
1046	help
1047	  This selects support for SC16IS7xx serial ports.
1048	  Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
1049	  SC16IS760 and SC16IS762. Select supported buses using options below.
1050
1051config SERIAL_SC16IS7XX_I2C
1052	bool "SC16IS7xx for I2C interface"
1053	depends on SERIAL_SC16IS7XX
1054	depends on I2C
1055	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1056	select REGMAP_I2C if I2C
1057	default y
1058	help
1059	  Enable SC16IS7xx driver on I2C bus,
1060	  If required say y, and say n to i2c if not required,
1061	  Enabled by default to support oldconfig.
1062	  You must select at least one bus for the driver to be built.
1063
1064config SERIAL_SC16IS7XX_SPI
1065	bool "SC16IS7xx for spi interface"
1066	depends on SERIAL_SC16IS7XX
1067	depends on SPI_MASTER
1068	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1069	select REGMAP_SPI if SPI_MASTER
1070	help
1071	  Enable SC16IS7xx driver on SPI bus,
1072	  If required say y, and say n to spi if not required,
1073	  This is additional support to existing driver.
1074	  You must select at least one bus for the driver to be built.
1075
1076config SERIAL_TIMBERDALE
1077	tristate "Support for timberdale UART"
1078	select SERIAL_CORE
1079	depends on X86_32 || COMPILE_TEST
1080	help
1081	Add support for UART controller on timberdale.
1082
1083config SERIAL_BCM63XX
1084	tristate "Broadcom BCM63xx/BCM33xx UART support"
1085	select SERIAL_CORE
1086	depends on ARCH_BCM4908 || ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST
1087	default ARCH_BCM4908 || ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC
1088	help
1089	  This enables the driver for the onchip UART core found on
1090	  the following chipsets:
1091
1092	    BCM33xx (cable modem)
1093	    BCM63xx/BCM63xxx (DSL)
1094	    BCM68xx (PON)
1095	    BCM7xxx (STB) - DOCSIS console
1096
1097config SERIAL_BCM63XX_CONSOLE
1098	bool "Console on BCM63xx serial port"
1099	depends on SERIAL_BCM63XX=y
1100	select SERIAL_CORE_CONSOLE
1101	select SERIAL_EARLYCON
1102	help
1103	  If you have enabled the serial port on the BCM63xx CPU
1104	  you can make it the console by answering Y to this option.
1105
1106config SERIAL_GRLIB_GAISLER_APBUART
1107	tristate "GRLIB APBUART serial support"
1108	depends on OF && SPARC
1109	select SERIAL_CORE
1110	help
1111	Add support for the GRLIB APBUART serial port.
1112
1113config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1114	bool "Console on GRLIB APBUART serial port"
1115	depends on SERIAL_GRLIB_GAISLER_APBUART=y
1116	select SERIAL_CORE_CONSOLE
1117	help
1118	Support for running a console on the GRLIB APBUART
1119
1120config SERIAL_ALTERA_JTAGUART
1121	tristate "Altera JTAG UART support"
1122	select SERIAL_CORE
1123	help
1124	  This driver supports the Altera JTAG UART port.
1125
1126config SERIAL_ALTERA_JTAGUART_CONSOLE
1127	bool "Altera JTAG UART console support"
1128	depends on SERIAL_ALTERA_JTAGUART=y
1129	select SERIAL_CORE_CONSOLE
1130	select SERIAL_EARLYCON
1131	help
1132	  Enable a Altera JTAG UART port to be the system console.
1133
1134config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1135	bool "Bypass output when no connection"
1136	depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1137	select SERIAL_CORE_CONSOLE
1138	help
1139	  Bypass console output and keep going even if there is no
1140	  JTAG terminal connection with the host.
1141
1142config SERIAL_ALTERA_UART
1143	tristate "Altera UART support"
1144	select SERIAL_CORE
1145	help
1146	  This driver supports the Altera softcore UART port.
1147
1148config SERIAL_ALTERA_UART_MAXPORTS
1149	int "Maximum number of Altera UART ports"
1150	depends on SERIAL_ALTERA_UART
1151	default 4
1152	help
1153	  This setting lets you define the maximum number of the Altera
1154	  UART ports. The usual default varies from board to board, and
1155	  this setting is a way of catering for that.
1156
1157config SERIAL_ALTERA_UART_BAUDRATE
1158	int "Default baudrate for Altera UART ports"
1159	depends on SERIAL_ALTERA_UART
1160	default 115200
1161	help
1162	  This setting lets you define what the default baudrate is for the
1163	  Altera UART ports. The usual default varies from board to board,
1164	  and this setting is a way of catering for that.
1165
1166config SERIAL_ALTERA_UART_CONSOLE
1167	bool "Altera UART console support"
1168	depends on SERIAL_ALTERA_UART=y
1169	select SERIAL_CORE_CONSOLE
1170	select SERIAL_EARLYCON
1171	help
1172	  Enable a Altera UART port to be the system console.
1173
1174config SERIAL_PCH_UART
1175	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1176	depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1177	select SERIAL_CORE
1178	help
1179	  This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1180	  which is an IOH(Input/Output Hub) for x86 embedded processor.
1181	  Enabling PCH_DMA, this PCH UART works as DMA mode.
1182
1183	  This driver also can be used for LAPIS Semiconductor IOH(Input/
1184	  Output Hub), ML7213, ML7223 and ML7831.
1185	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1186	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1187	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1188	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1189
1190config SERIAL_PCH_UART_CONSOLE
1191	bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1192	depends on SERIAL_PCH_UART=y
1193	select SERIAL_CORE_CONSOLE
1194	help
1195	  Say Y here if you wish to use the PCH UART as the system console
1196	  (the system  console is the device which receives all kernel messages and
1197	  warnings and which allows logins in single user mode).
1198
1199config SERIAL_MXS_AUART
1200	tristate "MXS AUART support"
1201	depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1202	select SERIAL_CORE
1203	select SERIAL_MCTRL_GPIO if GPIOLIB
1204	help
1205	  This driver supports the MXS and Alphascale ASM9260 Application
1206	  UART (AUART) port.
1207
1208config SERIAL_MXS_AUART_CONSOLE
1209	bool "MXS AUART console support"
1210	depends on SERIAL_MXS_AUART=y
1211	select SERIAL_CORE_CONSOLE
1212	help
1213	  Enable a MXS AUART port to be the system console.
1214
1215config SERIAL_XILINX_PS_UART
1216	tristate "Cadence (Xilinx Zynq) UART support"
1217	depends on OF
1218	select SERIAL_CORE
1219	help
1220	  This driver supports the Cadence UART. It is found e.g. in Xilinx
1221	  Zynq.
1222
1223config SERIAL_XILINX_PS_UART_CONSOLE
1224	bool "Cadence UART console support"
1225	depends on SERIAL_XILINX_PS_UART=y
1226	select SERIAL_CORE_CONSOLE
1227	select SERIAL_EARLYCON
1228	help
1229	  Enable a Cadence UART port to be the system console.
1230
1231config SERIAL_AR933X
1232	tristate "AR933X serial port support"
1233	depends on (HAVE_CLK && ATH79) || (MIPS && COMPILE_TEST)
1234	select SERIAL_CORE
1235	select SERIAL_MCTRL_GPIO if GPIOLIB
1236	help
1237	  If you have an Atheros AR933X SOC based board and want to use the
1238	  built-in UART of the SoC, say Y to this option.
1239
1240	  To compile this driver as a module, choose M here: the
1241	  module will be called ar933x_uart.
1242
1243config SERIAL_AR933X_CONSOLE
1244	bool "Console on AR933X serial port"
1245	depends on SERIAL_AR933X=y
1246	select SERIAL_CORE_CONSOLE
1247	help
1248	  Enable a built-in UART port of the AR933X to be the system console.
1249
1250config SERIAL_AR933X_NR_UARTS
1251	int "Maximum number of AR933X serial ports"
1252	depends on SERIAL_AR933X
1253	default "2"
1254	help
1255	  Set this to the number of serial ports you want the driver
1256	  to support.
1257
1258config SERIAL_MPS2_UART_CONSOLE
1259	bool "MPS2 UART console support"
1260	depends on SERIAL_MPS2_UART
1261	select SERIAL_CORE_CONSOLE
1262	select SERIAL_EARLYCON
1263
1264config SERIAL_MPS2_UART
1265	bool "MPS2 UART port"
1266	depends on ARCH_MPS2 || COMPILE_TEST
1267	select SERIAL_CORE
1268	help
1269	  This driver support the UART ports on ARM MPS2.
1270
1271config SERIAL_ARC
1272	tristate "ARC UART driver support"
1273	select SERIAL_CORE
1274	help
1275	  Driver for on-chip UART for ARC(Synopsys) for the legacy
1276	  FPGA Boards (ML50x/ARCAngel4)
1277
1278config SERIAL_ARC_CONSOLE
1279	bool "Console on ARC UART"
1280	depends on SERIAL_ARC=y
1281	select SERIAL_CORE_CONSOLE
1282	select SERIAL_EARLYCON
1283	help
1284	  Enable system Console on ARC UART
1285
1286config SERIAL_ARC_NR_PORTS
1287	int "Number of ARC UART ports"
1288	depends on SERIAL_ARC
1289	range 1 3
1290	default "1"
1291	help
1292	  Set this to the number of serial ports you want the driver
1293	  to support.
1294
1295config SERIAL_RP2
1296	tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1297	depends on PCI
1298	select SERIAL_CORE
1299	help
1300	  This driver supports the Comtrol RocketPort EXPRESS and
1301	  RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1302	  These adapters use a "RocketPort 2" ASIC that is not compatible
1303	  with the original RocketPort driver (CONFIG_ROCKETPORT).
1304
1305	  To compile this driver as a module, choose M here: the
1306	  module will be called rp2.
1307
1308	  If you want to compile this driver into the kernel, say Y here.  If
1309	  you don't have a suitable RocketPort card installed, say N.
1310
1311config SERIAL_RP2_NR_UARTS
1312	int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1313	depends on SERIAL_RP2
1314	default "32"
1315	help
1316	  If multiple cards are present, the default limit of 32 ports may
1317	  need to be increased.
1318
1319config SERIAL_FSL_LPUART
1320	tristate "Freescale lpuart serial port support"
1321	depends on HAS_DMA
1322	select SERIAL_CORE
1323	help
1324	  Support for the on-chip lpuart on some Freescale SOCs.
1325
1326config SERIAL_FSL_LPUART_CONSOLE
1327	bool "Console on Freescale lpuart serial port"
1328	depends on SERIAL_FSL_LPUART=y
1329	select SERIAL_CORE_CONSOLE
1330	select SERIAL_EARLYCON
1331	help
1332	  If you have enabled the lpuart serial port on the Freescale SoCs,
1333	  you can make it the console by answering Y to this option.
1334
1335config SERIAL_FSL_LINFLEXUART
1336	tristate "Freescale LINFlexD UART serial port support"
1337	depends on PRINTK
1338	select SERIAL_CORE
1339	help
1340	  Support for the on-chip LINFlexD UART on some Freescale SOCs.
1341
1342config SERIAL_FSL_LINFLEXUART_CONSOLE
1343	bool "Console on Freescale LINFlexD UART serial port"
1344	depends on SERIAL_FSL_LINFLEXUART=y
1345	select SERIAL_CORE_CONSOLE
1346	select SERIAL_EARLYCON
1347	help
1348	  If you have enabled the LINFlexD UART serial port on the Freescale
1349	  SoCs, you can make it the console by answering Y to this option.
1350
1351config SERIAL_CONEXANT_DIGICOLOR
1352	tristate "Conexant Digicolor CX92xxx USART serial port support"
1353	depends on OF
1354	select SERIAL_CORE
1355	help
1356	  Support for the on-chip USART on Conexant Digicolor SoCs.
1357
1358config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1359	bool "Console on Conexant Digicolor serial port"
1360	depends on SERIAL_CONEXANT_DIGICOLOR=y
1361	select SERIAL_CORE_CONSOLE
1362	help
1363	  If you have enabled the USART serial port on Conexant Digicolor
1364	  SoCs, you can make it the console by answering Y to this option.
1365
1366config SERIAL_ST_ASC
1367	tristate "ST ASC serial port support"
1368	select SERIAL_CORE
1369	depends on ARM || COMPILE_TEST
1370	help
1371	  This driver is for the on-chip Asynchronous Serial Controller on
1372	  STMicroelectronics STi SoCs.
1373	  ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1374	  It support all industry standard baud rates.
1375
1376	  If unsure, say N.
1377
1378config SERIAL_ST_ASC_CONSOLE
1379	bool "Support for console on ST ASC"
1380	depends on SERIAL_ST_ASC=y
1381	select SERIAL_CORE_CONSOLE
1382
1383config SERIAL_MEN_Z135
1384	tristate "MEN 16z135 Support"
1385	select SERIAL_CORE
1386	depends on MCB
1387	help
1388	  Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1389	  on a MCB carrier.
1390
1391	  This driver can also be build as a module. If so, the module will be called
1392	  men_z135_uart.ko
1393
1394config SERIAL_SPRD
1395	tristate "Support for Spreadtrum serial"
1396	select SERIAL_CORE
1397	depends on COMMON_CLK
1398	help
1399	  This enables the driver for the Spreadtrum's serial.
1400
1401config SERIAL_SPRD_CONSOLE
1402	bool "Spreadtrum UART console support"
1403	depends on SERIAL_SPRD=y
1404	select SERIAL_CORE_CONSOLE
1405	select SERIAL_EARLYCON
1406	help
1407	  Support for early debug console using Spreadtrum's serial. This enables
1408	  the console before standard serial driver is probed. This is enabled
1409	  with "earlycon" on the kernel command line. The console is
1410	  enabled when early_param is processed.
1411
1412config SERIAL_STM32
1413	tristate "STMicroelectronics STM32 serial port support"
1414	select SERIAL_CORE
1415	depends on ARCH_STM32 || COMPILE_TEST
1416	select SERIAL_MCTRL_GPIO if GPIOLIB
1417	help
1418	  This driver is for the on-chip Serial Controller on
1419	  STMicroelectronics STM32 MCUs.
1420	  USART supports Rx & Tx functionality.
1421	  It support all industry standard baud rates.
1422
1423	  If unsure, say N.
1424
1425config SERIAL_STM32_CONSOLE
1426	bool "Support for console on STM32"
1427	depends on SERIAL_STM32=y
1428	select SERIAL_CORE_CONSOLE
1429	select SERIAL_EARLYCON
1430
1431config SERIAL_MVEBU_UART
1432	bool "Marvell EBU serial port support"
1433	depends on ARCH_MVEBU || COMPILE_TEST
1434	depends on COMMON_CLK
1435	select SERIAL_CORE
1436	help
1437	  This driver is for Marvell EBU SoC's UART. If you have a machine
1438	  based on the Armada-3700 SoC and wish to use the on-board serial
1439	  port,
1440	  say 'Y' here.
1441	  Otherwise, say 'N'.
1442
1443config SERIAL_MVEBU_CONSOLE
1444	bool "Console on Marvell EBU serial port"
1445	depends on SERIAL_MVEBU_UART
1446	select SERIAL_CORE_CONSOLE
1447	select SERIAL_EARLYCON
1448	default y
1449	help
1450	  Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1451	  (the system console is the device which receives all kernel messages
1452	  and warnings and which allows logins in single user mode)
1453	  Otherwise, say 'N'.
1454
1455config SERIAL_OWL
1456	tristate "Actions Semi Owl serial port support"
1457	depends on ARCH_ACTIONS || COMPILE_TEST
1458	select SERIAL_CORE
1459	help
1460	  This driver is for Actions Semiconductor S500/S900 SoC's UART.
1461	  Say 'Y' here if you wish to use the on-board serial port.
1462	  Otherwise, say 'N'.
1463
1464config SERIAL_OWL_CONSOLE
1465	bool "Console on Actions Semi Owl serial port"
1466	depends on SERIAL_OWL=y
1467	select SERIAL_CORE_CONSOLE
1468	select SERIAL_EARLYCON
1469	default y
1470	help
1471	  Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1472	  as the system console.
1473
1474config SERIAL_RDA
1475	bool "RDA Micro serial port support"
1476	depends on ARCH_RDA || COMPILE_TEST
1477	select SERIAL_CORE
1478	help
1479	  This driver is for RDA8810PL SoC's UART.
1480	  Say 'Y' here if you wish to use the on-board serial port.
1481	  Otherwise, say 'N'.
1482
1483config SERIAL_RDA_CONSOLE
1484	bool "Console on RDA Micro serial port"
1485	depends on SERIAL_RDA=y
1486	select SERIAL_CORE_CONSOLE
1487	select SERIAL_EARLYCON
1488	default y
1489	help
1490	  Say 'Y' here if you wish to use the RDA8810PL UART as the system
1491	  console. Only earlycon is implemented currently.
1492
1493config SERIAL_MILBEAUT_USIO
1494	tristate "Milbeaut USIO/UART serial port support"
1495	depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1496	default ARCH_MILBEAUT
1497	select SERIAL_CORE
1498	help
1499	  This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1500
1501config SERIAL_MILBEAUT_USIO_PORTS
1502	int "Maximum number of CSIO/UART ports (1-8)"
1503	range 1 8
1504	depends on SERIAL_MILBEAUT_USIO
1505	default "4"
1506
1507config SERIAL_MILBEAUT_USIO_CONSOLE
1508	bool "Support for console on MILBEAUT USIO/UART serial port"
1509	depends on SERIAL_MILBEAUT_USIO=y
1510	default y
1511	select SERIAL_CORE_CONSOLE
1512	select SERIAL_EARLYCON
1513	help
1514	  Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1515	  SoCs as the system console (the system console is the device which
1516	  receives all kernel messages and warnings and which allows logins in
1517	  single user mode).
1518
1519config SERIAL_LITEUART
1520	tristate "LiteUART serial port support"
1521	depends on HAS_IOMEM
1522	depends on OF || COMPILE_TEST
1523	depends on LITEX || COMPILE_TEST
1524	select SERIAL_CORE
1525	help
1526	  This driver is for the FPGA-based LiteUART serial controller from LiteX
1527	  SoC builder.
1528
1529	  Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
1530	  Otherwise, say 'N'.
1531
1532config SERIAL_LITEUART_MAX_PORTS
1533	int "Maximum number of LiteUART ports"
1534	depends on SERIAL_LITEUART
1535	default "1"
1536	help
1537	  Set this to the maximum number of serial ports you want the driver
1538	  to support.
1539
1540config SERIAL_LITEUART_CONSOLE
1541	bool "LiteUART serial port console support"
1542	depends on SERIAL_LITEUART=y
1543	select SERIAL_CORE_CONSOLE
1544	select SERIAL_EARLYCON
1545	help
1546	  Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
1547	  controller from LiteX SoC builder as the system console
1548	  (the system console is the device which receives all kernel messages
1549	  and warnings and which allows logins in single user mode).
1550	  Otherwise, say 'N'.
1551
1552config SERIAL_SUNPLUS
1553	tristate "Sunplus UART support"
1554	depends on ARCH_SUNPLUS || COMPILE_TEST
1555	select SERIAL_CORE
1556	help
1557	  Select this option if you would like to use Sunplus serial port on
1558	  Sunplus SoC SP7021.
1559	  If you enable this option, Sunplus serial ports in the system will
1560	  be registered as ttySUPx.
1561	  This driver can also be built as a module. If so, the module will be
1562	  called sunplus-uart.
1563
1564config SERIAL_SUNPLUS_CONSOLE
1565	bool "Console on Sunplus UART"
1566	depends on SERIAL_SUNPLUS
1567	select SERIAL_CORE_CONSOLE
1568	select SERIAL_EARLYCON
1569	help
1570	  Select this option if you would like to use a Sunplus UART as the
1571	  system console.
1572	  Even if you say Y here, the currently visible virtual console
1573	  (/dev/tty0) will still be used as the system console by default, but
1574	  you can alter that using a kernel command line option such as
1575	  "console=ttySUPx".
1576
1577endmenu
1578
1579config SERIAL_MCTRL_GPIO
1580	tristate
1581