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