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