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