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