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