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