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