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