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