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