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