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