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	default y if SERIAL_IMX_CONSOLE
526	help
527	  If you have enabled the earlycon on the Freescale IMX
528	  CPU you can make it the earlycon by answering Y to this option.
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
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	tristate "Lantiq serial driver"
1049	depends on (LANTIQ || X86) || COMPILE_TEST
1050	select SERIAL_CORE
1051	help
1052	  Support for UART on Lantiq and Intel SoCs.
1053	  To compile this driver as a module, select M here. The
1054	  module will be called lantiq.
1055
1056config SERIAL_LANTIQ_CONSOLE
1057	bool "Console on Lantiq UART"
1058	depends on SERIAL_LANTIQ=y
1059	select SERIAL_CORE_CONSOLE
1060	select SERIAL_EARLYCON
1061	help
1062	  Select this option if you would like to use a Lantiq UART as the
1063	  system console.
1064
1065config SERIAL_QE
1066	tristate "Freescale QUICC Engine serial port support"
1067	depends on QUICC_ENGINE
1068	select SERIAL_CORE
1069	select FW_LOADER
1070	help
1071	  This driver supports the QE serial ports on Freescale embedded
1072	  PowerPC that contain a QUICC Engine.
1073
1074config SERIAL_SCCNXP
1075	tristate "SCCNXP serial port support"
1076	select SERIAL_CORE
1077	help
1078	  This selects support for an advanced UART from NXP (Philips).
1079	  Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1080	  SC28L202, SCC68681 and SCC68692.
1081
1082config SERIAL_SCCNXP_CONSOLE
1083	bool "Console on SCCNXP serial port"
1084	depends on SERIAL_SCCNXP=y
1085	select SERIAL_CORE_CONSOLE
1086	help
1087	  Support for console on SCCNXP serial ports.
1088
1089config SERIAL_SC16IS7XX_CORE
1090	tristate
1091
1092config SERIAL_SC16IS7XX
1093	tristate "SC16IS7xx serial support"
1094	select SERIAL_CORE
1095	depends on (SPI_MASTER && !I2C) || I2C
1096	help
1097	  This selects support for SC16IS7xx serial ports.
1098	  Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
1099	  SC16IS760 and SC16IS762. Select supported buses using options below.
1100
1101config SERIAL_SC16IS7XX_I2C
1102	bool "SC16IS7xx for I2C interface"
1103	depends on SERIAL_SC16IS7XX
1104	depends on I2C
1105	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1106	select REGMAP_I2C if I2C
1107	default y
1108	help
1109	  Enable SC16IS7xx driver on I2C bus,
1110	  If required say y, and say n to i2c if not required,
1111	  Enabled by default to support oldconfig.
1112	  You must select at least one bus for the driver to be built.
1113
1114config SERIAL_SC16IS7XX_SPI
1115	bool "SC16IS7xx for spi interface"
1116	depends on SERIAL_SC16IS7XX
1117	depends on SPI_MASTER
1118	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1119	select REGMAP_SPI if SPI_MASTER
1120	help
1121	  Enable SC16IS7xx driver on SPI bus,
1122	  If required say y, and say n to spi if not required,
1123	  This is additional support to existing driver.
1124	  You must select at least one bus for the driver to be built.
1125
1126config SERIAL_TIMBERDALE
1127	tristate "Support for timberdale UART"
1128	select SERIAL_CORE
1129	depends on X86_32 || COMPILE_TEST
1130	help
1131	Add support for UART controller on timberdale.
1132
1133config SERIAL_BCM63XX
1134	tristate "Broadcom BCM63xx/BCM33xx UART support"
1135	select SERIAL_CORE
1136	depends on MIPS || ARM || COMPILE_TEST
1137	help
1138	  This enables the driver for the onchip UART core found on
1139	  the following chipsets:
1140
1141	    BCM33xx (cable modem)
1142	    BCM63xx/BCM63xxx (DSL)
1143	    BCM68xx (PON)
1144	    BCM7xxx (STB) - DOCSIS console
1145
1146config SERIAL_BCM63XX_CONSOLE
1147	bool "Console on BCM63xx serial port"
1148	depends on SERIAL_BCM63XX=y
1149	select SERIAL_CORE_CONSOLE
1150	select SERIAL_EARLYCON
1151	help
1152	  If you have enabled the serial port on the BCM63xx CPU
1153	  you can make it the console by answering Y to this option.
1154
1155config SERIAL_GRLIB_GAISLER_APBUART
1156	tristate "GRLIB APBUART serial support"
1157	depends on OF && SPARC
1158	select SERIAL_CORE
1159	help
1160	Add support for the GRLIB APBUART serial port.
1161
1162config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1163	bool "Console on GRLIB APBUART serial port"
1164	depends on SERIAL_GRLIB_GAISLER_APBUART=y
1165	select SERIAL_CORE_CONSOLE
1166	help
1167	Support for running a console on the GRLIB APBUART
1168
1169config SERIAL_ALTERA_JTAGUART
1170	tristate "Altera JTAG UART support"
1171	select SERIAL_CORE
1172	help
1173	  This driver supports the Altera JTAG UART port.
1174
1175config SERIAL_ALTERA_JTAGUART_CONSOLE
1176	bool "Altera JTAG UART console support"
1177	depends on SERIAL_ALTERA_JTAGUART=y
1178	select SERIAL_CORE_CONSOLE
1179	select SERIAL_EARLYCON
1180	help
1181	  Enable a Altera JTAG UART port to be the system console.
1182
1183config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1184	bool "Bypass output when no connection"
1185	depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1186	select SERIAL_CORE_CONSOLE
1187	help
1188	  Bypass console output and keep going even if there is no
1189	  JTAG terminal connection with the host.
1190
1191config SERIAL_ALTERA_UART
1192	tristate "Altera UART support"
1193	select SERIAL_CORE
1194	help
1195	  This driver supports the Altera softcore UART port.
1196
1197config SERIAL_ALTERA_UART_MAXPORTS
1198	int "Maximum number of Altera UART ports"
1199	depends on SERIAL_ALTERA_UART
1200	default 4
1201	help
1202	  This setting lets you define the maximum number of the Altera
1203	  UART ports. The usual default varies from board to board, and
1204	  this setting is a way of catering for that.
1205
1206config SERIAL_ALTERA_UART_BAUDRATE
1207	int "Default baudrate for Altera UART ports"
1208	depends on SERIAL_ALTERA_UART
1209	default 115200
1210	help
1211	  This setting lets you define what the default baudrate is for the
1212	  Altera UART ports. The usual default varies from board to board,
1213	  and this setting is a way of catering for that.
1214
1215config SERIAL_ALTERA_UART_CONSOLE
1216	bool "Altera UART console support"
1217	depends on SERIAL_ALTERA_UART=y
1218	select SERIAL_CORE_CONSOLE
1219	select SERIAL_EARLYCON
1220	help
1221	  Enable a Altera UART port to be the system console.
1222
1223config SERIAL_IFX6X60
1224	tristate "SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)"
1225	depends on GPIOLIB || COMPILE_TEST
1226	depends on SPI && HAS_DMA
1227	help
1228	  Support for the IFX6x60 modem devices on Intel MID platforms.
1229
1230config SERIAL_PCH_UART
1231	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1232	depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1233	select SERIAL_CORE
1234	help
1235	  This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1236	  which is an IOH(Input/Output Hub) for x86 embedded processor.
1237	  Enabling PCH_DMA, this PCH UART works as DMA mode.
1238
1239	  This driver also can be used for LAPIS Semiconductor IOH(Input/
1240	  Output Hub), ML7213, ML7223 and ML7831.
1241	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1242	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1243	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1244	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1245
1246config SERIAL_PCH_UART_CONSOLE
1247	bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1248	depends on SERIAL_PCH_UART=y
1249	select SERIAL_CORE_CONSOLE
1250	help
1251	  Say Y here if you wish to use the PCH UART as the system console
1252	  (the system  console is the device which receives all kernel messages and
1253	  warnings and which allows logins in single user mode).
1254
1255config SERIAL_MXS_AUART
1256	tristate "MXS AUART support"
1257	depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1258	select SERIAL_CORE
1259	select SERIAL_MCTRL_GPIO if GPIOLIB
1260	help
1261	  This driver supports the MXS and Alphascale ASM9260 Application
1262	  UART (AUART) port.
1263
1264config SERIAL_MXS_AUART_CONSOLE
1265	bool "MXS AUART console support"
1266	depends on SERIAL_MXS_AUART=y
1267	select SERIAL_CORE_CONSOLE
1268	help
1269	  Enable a MXS AUART port to be the system console.
1270
1271config SERIAL_XILINX_PS_UART
1272	tristate "Cadence (Xilinx Zynq) UART support"
1273	depends on OF
1274	select SERIAL_CORE
1275	help
1276	  This driver supports the Cadence UART. It is found e.g. in Xilinx
1277	  Zynq.
1278
1279config SERIAL_XILINX_PS_UART_CONSOLE
1280	bool "Cadence UART console support"
1281	depends on SERIAL_XILINX_PS_UART=y
1282	select SERIAL_CORE_CONSOLE
1283	select SERIAL_EARLYCON
1284	help
1285	  Enable a Cadence UART port to be the system console.
1286
1287config SERIAL_AR933X
1288	tristate "AR933X serial port support"
1289	depends on HAVE_CLK && ATH79
1290	select SERIAL_CORE
1291	select SERIAL_MCTRL_GPIO if GPIOLIB
1292	help
1293	  If you have an Atheros AR933X SOC based board and want to use the
1294	  built-in UART of the SoC, say Y to this option.
1295
1296	  To compile this driver as a module, choose M here: the
1297	  module will be called ar933x_uart.
1298
1299config SERIAL_AR933X_CONSOLE
1300	bool "Console on AR933X serial port"
1301	depends on SERIAL_AR933X=y
1302	select SERIAL_CORE_CONSOLE
1303	help
1304	  Enable a built-in UART port of the AR933X to be the system console.
1305
1306config SERIAL_AR933X_NR_UARTS
1307	int "Maximum number of AR933X serial ports"
1308	depends on SERIAL_AR933X
1309	default "2"
1310	help
1311	  Set this to the number of serial ports you want the driver
1312	  to support.
1313
1314config SERIAL_EFM32_UART
1315	tristate "EFM32 UART/USART port"
1316	depends on ARM && (ARCH_EFM32 || COMPILE_TEST)
1317	select SERIAL_CORE
1318	help
1319	  This driver support the USART and UART ports on
1320	  Energy Micro's efm32 SoCs.
1321
1322config SERIAL_MPS2_UART_CONSOLE
1323	bool "MPS2 UART console support"
1324	depends on SERIAL_MPS2_UART
1325	select SERIAL_CORE_CONSOLE
1326	select SERIAL_EARLYCON
1327
1328config SERIAL_MPS2_UART
1329	bool "MPS2 UART port"
1330	depends on ARCH_MPS2 || COMPILE_TEST
1331	select SERIAL_CORE
1332	help
1333	  This driver support the UART ports on ARM MPS2.
1334
1335config SERIAL_EFM32_UART_CONSOLE
1336	bool "EFM32 UART/USART console support"
1337	depends on SERIAL_EFM32_UART=y
1338	select SERIAL_CORE_CONSOLE
1339
1340config SERIAL_ARC
1341	tristate "ARC UART driver support"
1342	select SERIAL_CORE
1343	help
1344	  Driver for on-chip UART for ARC(Synopsys) for the legacy
1345	  FPGA Boards (ML50x/ARCAngel4)
1346
1347config SERIAL_ARC_CONSOLE
1348	bool "Console on ARC UART"
1349	depends on SERIAL_ARC=y
1350	select SERIAL_CORE_CONSOLE
1351	select SERIAL_EARLYCON
1352	help
1353	  Enable system Console on ARC UART
1354
1355config SERIAL_ARC_NR_PORTS
1356	int "Number of ARC UART ports"
1357	depends on SERIAL_ARC
1358	range 1 3
1359	default "1"
1360	help
1361	  Set this to the number of serial ports you want the driver
1362	  to support.
1363
1364config SERIAL_RP2
1365	tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1366	depends on PCI
1367	select SERIAL_CORE
1368	help
1369	  This driver supports the Comtrol RocketPort EXPRESS and
1370	  RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1371	  These adapters use a "RocketPort 2" ASIC that is not compatible
1372	  with the original RocketPort driver (CONFIG_ROCKETPORT).
1373
1374	  To compile this driver as a module, choose M here: the
1375	  module will be called rp2.
1376
1377	  If you want to compile this driver into the kernel, say Y here.  If
1378	  you don't have a suitable RocketPort card installed, say N.
1379
1380config SERIAL_RP2_NR_UARTS
1381	int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1382	depends on SERIAL_RP2
1383	default "32"
1384	help
1385	  If multiple cards are present, the default limit of 32 ports may
1386	  need to be increased.
1387
1388config SERIAL_FSL_LPUART
1389	tristate "Freescale lpuart serial port support"
1390	depends on HAS_DMA
1391	select SERIAL_CORE
1392	help
1393	  Support for the on-chip lpuart on some Freescale SOCs.
1394
1395config SERIAL_FSL_LPUART_CONSOLE
1396	bool "Console on Freescale lpuart serial port"
1397	depends on SERIAL_FSL_LPUART=y
1398	select SERIAL_CORE_CONSOLE
1399	select SERIAL_EARLYCON
1400	help
1401	  If you have enabled the lpuart serial port on the Freescale SoCs,
1402	  you can make it the console by answering Y to this option.
1403
1404config SERIAL_FSL_LINFLEXUART
1405	tristate "Freescale LINFlexD UART serial port support"
1406	depends on PRINTK
1407	select SERIAL_CORE
1408	help
1409	  Support for the on-chip LINFlexD UART on some Freescale SOCs.
1410
1411config SERIAL_FSL_LINFLEXUART_CONSOLE
1412	bool "Console on Freescale LINFlexD UART serial port"
1413	depends on SERIAL_FSL_LINFLEXUART=y
1414	select SERIAL_CORE_CONSOLE
1415	select SERIAL_EARLYCON
1416	help
1417	  If you have enabled the LINFlexD UART serial port on the Freescale
1418	  SoCs, you can make it the console by answering Y to this option.
1419
1420config SERIAL_CONEXANT_DIGICOLOR
1421	tristate "Conexant Digicolor CX92xxx USART serial port support"
1422	depends on OF
1423	select SERIAL_CORE
1424	help
1425	  Support for the on-chip USART on Conexant Digicolor SoCs.
1426
1427config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1428	bool "Console on Conexant Digicolor serial port"
1429	depends on SERIAL_CONEXANT_DIGICOLOR=y
1430	select SERIAL_CORE_CONSOLE
1431	help
1432	  If you have enabled the USART serial port on Conexant Digicolor
1433	  SoCs, you can make it the console by answering Y to this option.
1434
1435config SERIAL_ST_ASC
1436	tristate "ST ASC serial port support"
1437	select SERIAL_CORE
1438	depends on ARM || COMPILE_TEST
1439	help
1440	  This driver is for the on-chip Asychronous Serial Controller on
1441	  STMicroelectronics STi SoCs.
1442	  ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1443	  It support all industry standard baud rates.
1444
1445	  If unsure, say N.
1446
1447config SERIAL_ST_ASC_CONSOLE
1448	bool "Support for console on ST ASC"
1449	depends on SERIAL_ST_ASC=y
1450	select SERIAL_CORE_CONSOLE
1451
1452config SERIAL_MEN_Z135
1453	tristate "MEN 16z135 Support"
1454	select SERIAL_CORE
1455	depends on MCB
1456	help
1457	  Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1458	  on a MCB carrier.
1459
1460	  This driver can also be build as a module. If so, the module will be called
1461	  men_z135_uart.ko
1462
1463config SERIAL_SPRD
1464	tristate "Support for Spreadtrum serial"
1465	select SERIAL_CORE
1466	depends on COMMON_CLK
1467	help
1468	  This enables the driver for the Spreadtrum's serial.
1469
1470config SERIAL_SPRD_CONSOLE
1471	bool "Spreadtrum UART console support"
1472	depends on SERIAL_SPRD=y
1473	select SERIAL_CORE_CONSOLE
1474	select SERIAL_EARLYCON
1475	help
1476	  Support for early debug console using Spreadtrum's serial. This enables
1477	  the console before standard serial driver is probed. This is enabled
1478	  with "earlycon" on the kernel command line. The console is
1479	  enabled when early_param is processed.
1480
1481config SERIAL_STM32
1482	tristate "STMicroelectronics STM32 serial port support"
1483	select SERIAL_CORE
1484	depends on ARCH_STM32 || COMPILE_TEST
1485	select SERIAL_MCTRL_GPIO if GPIOLIB
1486	help
1487	  This driver is for the on-chip Serial Controller on
1488	  STMicroelectronics STM32 MCUs.
1489	  USART supports Rx & Tx functionality.
1490	  It support all industry standard baud rates.
1491
1492	  If unsure, say N.
1493
1494config SERIAL_STM32_CONSOLE
1495	bool "Support for console on STM32"
1496	depends on SERIAL_STM32=y
1497	select SERIAL_CORE_CONSOLE
1498
1499config SERIAL_MVEBU_UART
1500	bool "Marvell EBU serial port support"
1501	depends on ARCH_MVEBU || COMPILE_TEST
1502	select SERIAL_CORE
1503	help
1504	  This driver is for Marvell EBU SoC's UART. If you have a machine
1505	  based on the Armada-3700 SoC and wish to use the on-board serial
1506	  port,
1507	  say 'Y' here.
1508	  Otherwise, say 'N'.
1509
1510config SERIAL_MVEBU_CONSOLE
1511	bool "Console on Marvell EBU serial port"
1512	depends on SERIAL_MVEBU_UART
1513	select SERIAL_CORE_CONSOLE
1514	select SERIAL_EARLYCON
1515	default y
1516	help
1517	  Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1518	  (the system console is the device which receives all kernel messages
1519	  and warnings and which allows logins in single user mode)
1520	  Otherwise, say 'N'.
1521
1522config SERIAL_OWL
1523	tristate "Actions Semi Owl serial port support"
1524	depends on ARCH_ACTIONS || COMPILE_TEST
1525	select SERIAL_CORE
1526	help
1527	  This driver is for Actions Semiconductor S500/S900 SoC's UART.
1528	  Say 'Y' here if you wish to use the on-board serial port.
1529	  Otherwise, say 'N'.
1530
1531config SERIAL_OWL_CONSOLE
1532	bool "Console on Actions Semi Owl serial port"
1533	depends on SERIAL_OWL=y
1534	select SERIAL_CORE_CONSOLE
1535	select SERIAL_EARLYCON
1536	default y
1537	help
1538	  Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1539	  as the system console.
1540
1541config SERIAL_RDA
1542	bool "RDA Micro serial port support"
1543	depends on ARCH_RDA || COMPILE_TEST
1544	select SERIAL_CORE
1545	help
1546	  This driver is for RDA8810PL SoC's UART.
1547	  Say 'Y' here if you wish to use the on-board serial port.
1548	  Otherwise, say 'N'.
1549
1550config SERIAL_RDA_CONSOLE
1551	bool "Console on RDA Micro serial port"
1552	depends on SERIAL_RDA=y
1553	select SERIAL_CORE_CONSOLE
1554	select SERIAL_EARLYCON
1555	default y
1556	help
1557	  Say 'Y' here if you wish to use the RDA8810PL UART as the system
1558	  console. Only earlycon is implemented currently.
1559
1560config SERIAL_MILBEAUT_USIO
1561	tristate "Milbeaut USIO/UART serial port support"
1562	depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1563	default ARCH_MILBEAUT
1564	select SERIAL_CORE
1565	help
1566	  This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1567
1568config SERIAL_MILBEAUT_USIO_PORTS
1569	int "Maximum number of CSIO/UART ports (1-8)"
1570	range 1 8
1571	depends on SERIAL_MILBEAUT_USIO
1572	default "4"
1573
1574config SERIAL_MILBEAUT_USIO_CONSOLE
1575	bool "Support for console on MILBEAUT USIO/UART serial port"
1576	depends on SERIAL_MILBEAUT_USIO=y
1577	default y
1578	select SERIAL_CORE_CONSOLE
1579	select SERIAL_EARLYCON
1580	help
1581	  Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1582	  SoCs as the system console (the system console is the device which
1583	  receives all kernel messages and warnings and which allows logins in
1584	  single user mode).
1585
1586endmenu
1587
1588config SERIAL_MCTRL_GPIO
1589	tristate
1590