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