xref: /openbmc/linux/drivers/tty/serial/Kconfig (revision 45fe9262)
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
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_HS_LPC32XX
708	tristate "LPC32XX high speed serial port support"
709	depends on ARCH_LPC32XX || COMPILE_TEST
710	depends on OF
711	select SERIAL_CORE
712	help
713	  Support for the LPC32XX high speed serial ports (up to 900kbps).
714	  Those are UARTs completely different from the Standard UARTs on the
715	  LPC32XX SoC.
716	  Choose M or Y here to build this driver.
717
718config SERIAL_HS_LPC32XX_CONSOLE
719	bool "Enable LPC32XX high speed UART serial console"
720	depends on SERIAL_HS_LPC32XX=y
721	select SERIAL_CORE_CONSOLE
722	help
723	  If you would like to be able to use one of the high speed serial
724	  ports on the LPC32XX as the console, you can do so by answering
725	  Y to this option.
726
727config SERIAL_CORE
728	tristate
729
730config SERIAL_CORE_CONSOLE
731	bool
732
733config CONSOLE_POLL
734	bool
735
736config SERIAL_MCF
737	bool "Coldfire serial support"
738	depends on COLDFIRE
739	select SERIAL_CORE
740	help
741	  This serial driver supports the Freescale Coldfire serial ports.
742
743config SERIAL_MCF_BAUDRATE
744	int "Default baudrate for Coldfire serial ports"
745	depends on SERIAL_MCF
746	default 19200
747	help
748	  This setting lets you define what the default baudrate is for the
749	  ColdFire serial ports. The usual default varies from board to board,
750	  and this setting is a way of catering for that.
751
752config SERIAL_MCF_CONSOLE
753	bool "Coldfire serial console support"
754	depends on SERIAL_MCF
755	select SERIAL_CORE_CONSOLE
756	help
757	  Enable a ColdFire internal serial port to be the system console.
758
759config SERIAL_PMACZILOG
760	tristate "Mac or PowerMac z85c30 ESCC support"
761	depends on (M68K && MAC) || PPC_PMAC
762	select SERIAL_CORE
763	help
764	  This driver supports the Zilog z85C30 serial ports found on
765	  (Power)Mac machines.
766	  Say Y or M if you want to be able to these serial ports.
767
768config SERIAL_PMACZILOG_TTYS
769	bool "Use ttySn device nodes for Zilog z85c30"
770	depends on SERIAL_PMACZILOG
771	help
772	  The pmac_zilog driver for the z85C30 chip on many powermacs
773	  historically used the device numbers for /dev/ttySn.  The
774	  8250 serial port driver also uses these numbers, which means
775	  the two drivers being unable to coexist; you could not use
776	  both z85C30 and 8250 type ports at the same time.
777
778	  If this option is not selected, the pmac_zilog driver will
779	  use the device numbers allocated for /dev/ttyPZn.  This allows
780	  the pmac_zilog and 8250 drivers to co-exist, but may cause
781	  existing userspace setups to break.  Programs that need to
782	  access the built-in serial ports on powermacs will need to
783	  be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.
784
785	  If you enable this option, any z85c30 ports in the system will
786	  be registered as ttyS0 onwards as in the past, and you will be
787	  unable to use the 8250 module for PCMCIA or other 16C550-style
788	  UARTs.
789
790	  Say N unless you need the z85c30 ports on your (Power)Mac
791	  to appear as /dev/ttySn.
792
793config SERIAL_PMACZILOG_CONSOLE
794	bool "Console on Mac or PowerMac z85c30 serial port"
795	depends on SERIAL_PMACZILOG=y
796	select SERIAL_CORE_CONSOLE
797	help
798	  If you would like to be able to use the z85c30 serial port
799	  on your (Power)Mac as the console, you can do so by answering
800	  Y to this option.
801
802config SERIAL_CPM
803	tristate "CPM SCC/SMC serial port support"
804	depends on CPM2 || CPM1
805	select SERIAL_CORE
806	help
807	  This driver supports the SCC and SMC serial ports on Motorola
808	  embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)
809
810config SERIAL_CPM_CONSOLE
811	bool "Support for console on CPM SCC/SMC serial port"
812	depends on SERIAL_CPM=y
813	select SERIAL_CORE_CONSOLE
814	help
815	  Say Y here if you wish to use a SCC or SMC CPM UART as the system
816	  console (the system console is the device which receives all kernel
817	  messages and warnings and which allows logins in single user mode).
818
819	  Even if you say Y here, the currently visible framebuffer console
820	  (/dev/tty0) will still be used as the system console by default, but
821	  you can alter that using a kernel command line option such as
822	  "console=ttyCPM0". (Try "man bootparam" or see the documentation of
823	  your boot loader (lilo or loadlin) about how to pass options to the
824	  kernel at boot time.)
825
826config SERIAL_PIC32
827	tristate "Microchip PIC32 serial support"
828	depends on MACH_PIC32
829	select SERIAL_CORE
830	help
831	  If you have a PIC32, this driver supports the serial ports.
832
833	  Say Y or M to use PIC32 serial ports, otherwise say N. Note that
834	  to use a serial port as a console, this must be included in kernel and
835	  not as a module.
836
837config SERIAL_PIC32_CONSOLE
838	bool "PIC32 serial console support"
839	depends on SERIAL_PIC32
840	select SERIAL_CORE_CONSOLE
841	help
842	  If you have a PIC32, this driver supports the putting a console on one
843	  of the serial ports.
844
845	  Say Y to use the PIC32 console, otherwise say N.
846
847config SERIAL_MPC52xx
848	tristate "Freescale MPC52xx/MPC512x family PSC serial support"
849	depends on PPC_MPC52xx || PPC_MPC512x
850	select SERIAL_CORE
851	help
852	  This driver supports MPC52xx and MPC512x PSC serial ports. If you would
853	  like to use them, you must answer Y or M to this option. Note that
854	  for use as console, it must be included in kernel and not as a
855	  module.
856
857config SERIAL_MPC52xx_CONSOLE
858	bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
859	depends on SERIAL_MPC52xx=y
860	select SERIAL_CORE_CONSOLE
861	help
862	  Select this options if you'd like to use one of the PSC serial port
863	  of the Freescale MPC52xx family as a console.
864
865config SERIAL_MPC52xx_CONSOLE_BAUD
866	int "Freescale MPC52xx/MPC512x family PSC serial port baud"
867	depends on SERIAL_MPC52xx_CONSOLE=y
868	default "9600"
869	help
870	  Select the MPC52xx console baud rate.
871	  This value is only used if the bootloader doesn't pass in the
872	  console baudrate
873
874config SERIAL_ICOM
875	tristate "IBM Multiport Serial Adapter"
876	depends on PCI && PPC_PSERIES
877	select SERIAL_CORE
878	select FW_LOADER
879	help
880	  This driver is for a family of multiport serial adapters
881	  including 2 port RVX, 2 port internal modem, 4 port internal
882	  modem and a split 1 port RVX and 1 port internal modem.
883
884	  This driver can also be built as a module.  If so, the module
885	  will be called icom.
886
887config SERIAL_TXX9
888	bool "TMPTX39XX/49XX SIO support"
889	depends on HAS_TXX9_SERIAL
890	select SERIAL_CORE
891	default y
892
893config HAS_TXX9_SERIAL
894	bool
895
896config SERIAL_TXX9_NR_UARTS
897	int "Maximum number of TMPTX39XX/49XX SIO ports"
898	depends on SERIAL_TXX9
899	default "6"
900
901config SERIAL_TXX9_CONSOLE
902	bool "TMPTX39XX/49XX SIO Console support"
903	depends on SERIAL_TXX9=y
904	select SERIAL_CORE_CONSOLE
905
906config SERIAL_TXX9_STDSERIAL
907	bool "TX39XX/49XX SIO act as standard serial"
908	depends on !SERIAL_8250 && SERIAL_TXX9
909
910config SERIAL_VR41XX
911	tristate "NEC VR4100 series Serial Interface Unit support"
912	depends on CPU_VR41XX
913	select SERIAL_CORE
914	help
915	  If you have a NEC VR4100 series processor and you want to use
916	  Serial Interface Unit(SIU) or Debug Serial Interface Unit(DSIU)
917	  (not include VR4111/VR4121 DSIU), say Y.  Otherwise, say N.
918
919config SERIAL_VR41XX_CONSOLE
920	bool "Enable NEC VR4100 series Serial Interface Unit console"
921	depends on SERIAL_VR41XX=y
922	select SERIAL_CORE_CONSOLE
923	help
924	  If you have a NEC VR4100 series processor and you want to use
925	  a console on a serial port, say Y.  Otherwise, say N.
926
927config SERIAL_JSM
928	tristate "Digi International NEO and Classic PCI Support"
929	depends on PCI
930	select SERIAL_CORE
931	help
932	  This is a driver for Digi International's Neo and Classic series
933	  of cards which provide multiple serial ports. You would need
934	  something like this to connect more than two modems to your Linux
935	  box, for instance in order to become a dial-in server. This driver
936	  supports PCI boards only.
937
938	  If you have a card like this, say Y here, otherwise say N.
939
940	  To compile this driver as a module, choose M here: the
941	  module will be called jsm.
942
943config SERIAL_MSM
944	tristate "MSM on-chip serial port support"
945	depends on ARCH_QCOM
946	select SERIAL_CORE
947
948config SERIAL_MSM_CONSOLE
949	bool "MSM serial console support"
950	depends on SERIAL_MSM=y
951	select SERIAL_CORE_CONSOLE
952	select SERIAL_EARLYCON
953
954config SERIAL_QCOM_GENI
955	tristate "QCOM on-chip GENI based serial port support"
956	depends on ARCH_QCOM || COMPILE_TEST
957	depends on QCOM_GENI_SE
958	select SERIAL_CORE
959
960config SERIAL_QCOM_GENI_CONSOLE
961	bool "QCOM GENI Serial Console support"
962	depends on SERIAL_QCOM_GENI
963	select SERIAL_CORE_CONSOLE
964	select SERIAL_EARLYCON
965	help
966	  Serial console driver for Qualcomm Technologies Inc's GENI based
967	  QUP hardware.
968
969config SERIAL_VT8500
970	bool "VIA VT8500 on-chip serial port support"
971	depends on ARCH_VT8500
972	select SERIAL_CORE
973
974config SERIAL_VT8500_CONSOLE
975	bool "VIA VT8500 serial console support"
976	depends on SERIAL_VT8500=y
977	select SERIAL_CORE_CONSOLE
978
979config SERIAL_OMAP
980	tristate "OMAP serial port support"
981	depends on ARCH_OMAP2PLUS
982	select SERIAL_CORE
983	help
984	  If you have a machine based on an Texas Instruments OMAP CPU you
985	  can enable its onboard serial ports by enabling this option.
986
987	  By enabling this option you take advantage of dma feature available
988	  with the omap-serial driver. DMA support can be enabled from platform
989	  data.
990
991config SERIAL_OMAP_CONSOLE
992	bool "Console on OMAP serial port"
993	depends on SERIAL_OMAP=y
994	select SERIAL_CORE_CONSOLE
995	help
996	  Select this option if you would like to use omap serial port as
997	  console.
998
999	  Even if you say Y here, the currently visible virtual console
1000	  (/dev/tty0) will still be used as the system console by default, but
1001	  you can alter that using a kernel command line option such as
1002	  "console=ttyOx". (Try "man bootparam" or see the documentation of
1003	  your boot loader about how to pass options to the kernel at
1004	  boot time.)
1005
1006config SERIAL_SIFIVE
1007	tristate "SiFive UART support"
1008	depends on OF
1009	select SERIAL_CORE
1010	help
1011	  Select this option if you are building a kernel for a device that
1012	  contains a SiFive UART IP block.  This type of UART is present on
1013	  SiFive FU540 SoCs, among others.
1014
1015config SERIAL_SIFIVE_CONSOLE
1016	bool "Console on SiFive UART"
1017	depends on SERIAL_SIFIVE=y
1018	select SERIAL_CORE_CONSOLE
1019	select SERIAL_EARLYCON
1020	help
1021	  Select this option if you would like to use a SiFive UART as the
1022	  system console.
1023
1024	  Even if you say Y here, the currently visible virtual console
1025	  (/dev/tty0) will still be used as the system console by default, but
1026	  you can alter that using a kernel command line option such as
1027	  "console=ttySIFx". (Try "man bootparam" or see the documentation of
1028	  your boot loader about how to pass options to the kernel at
1029	  boot time.)
1030
1031config SERIAL_LANTIQ
1032	tristate "Lantiq serial driver"
1033	depends on (LANTIQ || X86) || COMPILE_TEST
1034	select SERIAL_CORE
1035	help
1036	  Support for UART on Lantiq and Intel SoCs.
1037	  To compile this driver as a module, select M here. The
1038	  module will be called lantiq.
1039
1040config SERIAL_LANTIQ_CONSOLE
1041	bool "Console on Lantiq UART"
1042	depends on SERIAL_LANTIQ=y
1043	select SERIAL_CORE_CONSOLE
1044	select SERIAL_EARLYCON
1045	help
1046	  Select this option if you would like to use a Lantiq UART as the
1047	  system console.
1048
1049config SERIAL_QE
1050	tristate "Freescale QUICC Engine serial port support"
1051	depends on QUICC_ENGINE
1052	select SERIAL_CORE
1053	select FW_LOADER
1054	help
1055	  This driver supports the QE serial ports on Freescale embedded
1056	  PowerPC that contain a QUICC Engine.
1057
1058config SERIAL_SCCNXP
1059	tristate "SCCNXP serial port support"
1060	select SERIAL_CORE
1061	help
1062	  This selects support for an advanced UART from NXP (Philips).
1063	  Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
1064	  SC28L202, SCC68681 and SCC68692.
1065
1066config SERIAL_SCCNXP_CONSOLE
1067	bool "Console on SCCNXP serial port"
1068	depends on SERIAL_SCCNXP=y
1069	select SERIAL_CORE_CONSOLE
1070	help
1071	  Support for console on SCCNXP serial ports.
1072
1073config SERIAL_SC16IS7XX_CORE
1074	tristate
1075
1076config SERIAL_SC16IS7XX
1077	tristate "SC16IS7xx serial support"
1078	select SERIAL_CORE
1079	depends on (SPI_MASTER && !I2C) || I2C
1080	help
1081	  This selects support for SC16IS7xx serial ports.
1082	  Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
1083	  SC16IS760 and SC16IS762. Select supported buses using options below.
1084
1085config SERIAL_SC16IS7XX_I2C
1086	bool "SC16IS7xx for I2C interface"
1087	depends on SERIAL_SC16IS7XX
1088	depends on I2C
1089	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1090	select REGMAP_I2C if I2C
1091	default y
1092	help
1093	  Enable SC16IS7xx driver on I2C bus,
1094	  If required say y, and say n to i2c if not required,
1095	  Enabled by default to support oldconfig.
1096	  You must select at least one bus for the driver to be built.
1097
1098config SERIAL_SC16IS7XX_SPI
1099	bool "SC16IS7xx for spi interface"
1100	depends on SERIAL_SC16IS7XX
1101	depends on SPI_MASTER
1102	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
1103	select REGMAP_SPI if SPI_MASTER
1104	help
1105	  Enable SC16IS7xx driver on SPI bus,
1106	  If required say y, and say n to spi if not required,
1107	  This is additional support to existing driver.
1108	  You must select at least one bus for the driver to be built.
1109
1110config SERIAL_TIMBERDALE
1111	tristate "Support for timberdale UART"
1112	select SERIAL_CORE
1113	depends on X86_32 || COMPILE_TEST
1114	help
1115	Add support for UART controller on timberdale.
1116
1117config SERIAL_BCM63XX
1118	tristate "Broadcom BCM63xx/BCM33xx UART support"
1119	select SERIAL_CORE
1120	depends on COMMON_CLK
1121	help
1122	  This enables the driver for the onchip UART core found on
1123	  the following chipsets:
1124
1125	    BCM33xx (cable modem)
1126	    BCM63xx/BCM63xxx (DSL)
1127	    BCM68xx (PON)
1128	    BCM7xxx (STB) - DOCSIS console
1129
1130config SERIAL_BCM63XX_CONSOLE
1131	bool "Console on BCM63xx serial port"
1132	depends on SERIAL_BCM63XX=y
1133	select SERIAL_CORE_CONSOLE
1134	select SERIAL_EARLYCON
1135	help
1136	  If you have enabled the serial port on the BCM63xx CPU
1137	  you can make it the console by answering Y to this option.
1138
1139config SERIAL_GRLIB_GAISLER_APBUART
1140	tristate "GRLIB APBUART serial support"
1141	depends on OF && SPARC
1142	select SERIAL_CORE
1143	help
1144	Add support for the GRLIB APBUART serial port.
1145
1146config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
1147	bool "Console on GRLIB APBUART serial port"
1148	depends on SERIAL_GRLIB_GAISLER_APBUART=y
1149	select SERIAL_CORE_CONSOLE
1150	help
1151	Support for running a console on the GRLIB APBUART
1152
1153config SERIAL_ALTERA_JTAGUART
1154	tristate "Altera JTAG UART support"
1155	select SERIAL_CORE
1156	help
1157	  This driver supports the Altera JTAG UART port.
1158
1159config SERIAL_ALTERA_JTAGUART_CONSOLE
1160	bool "Altera JTAG UART console support"
1161	depends on SERIAL_ALTERA_JTAGUART=y
1162	select SERIAL_CORE_CONSOLE
1163	select SERIAL_EARLYCON
1164	help
1165	  Enable a Altera JTAG UART port to be the system console.
1166
1167config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
1168	bool "Bypass output when no connection"
1169	depends on SERIAL_ALTERA_JTAGUART_CONSOLE
1170	select SERIAL_CORE_CONSOLE
1171	help
1172	  Bypass console output and keep going even if there is no
1173	  JTAG terminal connection with the host.
1174
1175config SERIAL_ALTERA_UART
1176	tristate "Altera UART support"
1177	select SERIAL_CORE
1178	help
1179	  This driver supports the Altera softcore UART port.
1180
1181config SERIAL_ALTERA_UART_MAXPORTS
1182	int "Maximum number of Altera UART ports"
1183	depends on SERIAL_ALTERA_UART
1184	default 4
1185	help
1186	  This setting lets you define the maximum number of the Altera
1187	  UART ports. The usual default varies from board to board, and
1188	  this setting is a way of catering for that.
1189
1190config SERIAL_ALTERA_UART_BAUDRATE
1191	int "Default baudrate for Altera UART ports"
1192	depends on SERIAL_ALTERA_UART
1193	default 115200
1194	help
1195	  This setting lets you define what the default baudrate is for the
1196	  Altera UART ports. The usual default varies from board to board,
1197	  and this setting is a way of catering for that.
1198
1199config SERIAL_ALTERA_UART_CONSOLE
1200	bool "Altera UART console support"
1201	depends on SERIAL_ALTERA_UART=y
1202	select SERIAL_CORE_CONSOLE
1203	select SERIAL_EARLYCON
1204	help
1205	  Enable a Altera UART port to be the system console.
1206
1207config SERIAL_IFX6X60
1208	tristate "SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)"
1209	depends on GPIOLIB || COMPILE_TEST
1210	depends on SPI && HAS_DMA
1211	help
1212	  Support for the IFX6x60 modem devices on Intel MID platforms.
1213
1214config SERIAL_PCH_UART
1215	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1216	depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1217	select SERIAL_CORE
1218	help
1219	  This driver is for PCH(Platform controller Hub) UART of Intel EG20T
1220	  which is an IOH(Input/Output Hub) for x86 embedded processor.
1221	  Enabling PCH_DMA, this PCH UART works as DMA mode.
1222
1223	  This driver also can be used for LAPIS Semiconductor IOH(Input/
1224	  Output Hub), ML7213, ML7223 and ML7831.
1225	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
1226	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
1227	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1228	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1229
1230config SERIAL_PCH_UART_CONSOLE
1231	bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
1232	depends on SERIAL_PCH_UART=y
1233	select SERIAL_CORE_CONSOLE
1234	help
1235	  Say Y here if you wish to use the PCH UART as the system console
1236	  (the system  console is the device which receives all kernel messages and
1237	  warnings and which allows logins in single user mode).
1238
1239config SERIAL_MXS_AUART
1240	tristate "MXS AUART support"
1241	depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1242	select SERIAL_CORE
1243	select SERIAL_MCTRL_GPIO if GPIOLIB
1244	help
1245	  This driver supports the MXS and Alphascale ASM9260 Application
1246	  UART (AUART) port.
1247
1248config SERIAL_MXS_AUART_CONSOLE
1249	bool "MXS AUART console support"
1250	depends on SERIAL_MXS_AUART=y
1251	select SERIAL_CORE_CONSOLE
1252	help
1253	  Enable a MXS AUART port to be the system console.
1254
1255config SERIAL_XILINX_PS_UART
1256	tristate "Cadence (Xilinx Zynq) UART support"
1257	depends on OF
1258	select SERIAL_CORE
1259	help
1260	  This driver supports the Cadence UART. It is found e.g. in Xilinx
1261	  Zynq.
1262
1263config SERIAL_XILINX_PS_UART_CONSOLE
1264	bool "Cadence UART console support"
1265	depends on SERIAL_XILINX_PS_UART=y
1266	select SERIAL_CORE_CONSOLE
1267	select SERIAL_EARLYCON
1268	help
1269	  Enable a Cadence UART port to be the system console.
1270
1271config SERIAL_AR933X
1272	tristate "AR933X serial port support"
1273	depends on HAVE_CLK && ATH79
1274	select SERIAL_CORE
1275	select SERIAL_MCTRL_GPIO if GPIOLIB
1276	help
1277	  If you have an Atheros AR933X SOC based board and want to use the
1278	  built-in UART of the SoC, say Y to this option.
1279
1280	  To compile this driver as a module, choose M here: the
1281	  module will be called ar933x_uart.
1282
1283config SERIAL_AR933X_CONSOLE
1284	bool "Console on AR933X serial port"
1285	depends on SERIAL_AR933X=y
1286	select SERIAL_CORE_CONSOLE
1287	help
1288	  Enable a built-in UART port of the AR933X to be the system console.
1289
1290config SERIAL_AR933X_NR_UARTS
1291	int "Maximum number of AR933X serial ports"
1292	depends on SERIAL_AR933X
1293	default "2"
1294	help
1295	  Set this to the number of serial ports you want the driver
1296	  to support.
1297
1298config SERIAL_EFM32_UART
1299	tristate "EFM32 UART/USART port"
1300	depends on ARM && (ARCH_EFM32 || COMPILE_TEST)
1301	select SERIAL_CORE
1302	help
1303	  This driver support the USART and UART ports on
1304	  Energy Micro's efm32 SoCs.
1305
1306config SERIAL_MPS2_UART_CONSOLE
1307	bool "MPS2 UART console support"
1308	depends on SERIAL_MPS2_UART
1309	select SERIAL_CORE_CONSOLE
1310	select SERIAL_EARLYCON
1311
1312config SERIAL_MPS2_UART
1313	bool "MPS2 UART port"
1314	depends on ARCH_MPS2 || COMPILE_TEST
1315	select SERIAL_CORE
1316	help
1317	  This driver support the UART ports on ARM MPS2.
1318
1319config SERIAL_EFM32_UART_CONSOLE
1320	bool "EFM32 UART/USART console support"
1321	depends on SERIAL_EFM32_UART=y
1322	select SERIAL_CORE_CONSOLE
1323
1324config SERIAL_ARC
1325	tristate "ARC UART driver support"
1326	select SERIAL_CORE
1327	help
1328	  Driver for on-chip UART for ARC(Synopsys) for the legacy
1329	  FPGA Boards (ML50x/ARCAngel4)
1330
1331config SERIAL_ARC_CONSOLE
1332	bool "Console on ARC UART"
1333	depends on SERIAL_ARC=y
1334	select SERIAL_CORE_CONSOLE
1335	select SERIAL_EARLYCON
1336	help
1337	  Enable system Console on ARC UART
1338
1339config SERIAL_ARC_NR_PORTS
1340	int "Number of ARC UART ports"
1341	depends on SERIAL_ARC
1342	range 1 3
1343	default "1"
1344	help
1345	  Set this to the number of serial ports you want the driver
1346	  to support.
1347
1348config SERIAL_RP2
1349	tristate "Comtrol RocketPort EXPRESS/INFINITY support"
1350	depends on PCI
1351	select SERIAL_CORE
1352	help
1353	  This driver supports the Comtrol RocketPort EXPRESS and
1354	  RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
1355	  These adapters use a "RocketPort 2" ASIC that is not compatible
1356	  with the original RocketPort driver (CONFIG_ROCKETPORT).
1357
1358	  To compile this driver as a module, choose M here: the
1359	  module will be called rp2.
1360
1361	  If you want to compile this driver into the kernel, say Y here.  If
1362	  you don't have a suitable RocketPort card installed, say N.
1363
1364config SERIAL_RP2_NR_UARTS
1365	int "Maximum number of RocketPort EXPRESS/INFINITY ports"
1366	depends on SERIAL_RP2
1367	default "32"
1368	help
1369	  If multiple cards are present, the default limit of 32 ports may
1370	  need to be increased.
1371
1372config SERIAL_FSL_LPUART
1373	tristate "Freescale lpuart serial port support"
1374	depends on HAS_DMA
1375	select SERIAL_CORE
1376	help
1377	  Support for the on-chip lpuart on some Freescale SOCs.
1378
1379config SERIAL_FSL_LPUART_CONSOLE
1380	bool "Console on Freescale lpuart serial port"
1381	depends on SERIAL_FSL_LPUART=y
1382	select SERIAL_CORE_CONSOLE
1383	select SERIAL_EARLYCON
1384	help
1385	  If you have enabled the lpuart serial port on the Freescale SoCs,
1386	  you can make it the console by answering Y to this option.
1387
1388config SERIAL_FSL_LINFLEXUART
1389	tristate "Freescale LINFlexD UART serial port support"
1390	depends on PRINTK
1391	select SERIAL_CORE
1392	help
1393	  Support for the on-chip LINFlexD UART on some Freescale SOCs.
1394
1395config SERIAL_FSL_LINFLEXUART_CONSOLE
1396	bool "Console on Freescale LINFlexD UART serial port"
1397	depends on SERIAL_FSL_LINFLEXUART=y
1398	select SERIAL_CORE_CONSOLE
1399	select SERIAL_EARLYCON
1400	help
1401	  If you have enabled the LINFlexD UART serial port on the Freescale
1402	  SoCs, you can make it the console by answering Y to this option.
1403
1404config SERIAL_CONEXANT_DIGICOLOR
1405	tristate "Conexant Digicolor CX92xxx USART serial port support"
1406	depends on OF
1407	select SERIAL_CORE
1408	help
1409	  Support for the on-chip USART on Conexant Digicolor SoCs.
1410
1411config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
1412	bool "Console on Conexant Digicolor serial port"
1413	depends on SERIAL_CONEXANT_DIGICOLOR=y
1414	select SERIAL_CORE_CONSOLE
1415	help
1416	  If you have enabled the USART serial port on Conexant Digicolor
1417	  SoCs, you can make it the console by answering Y to this option.
1418
1419config SERIAL_ST_ASC
1420	tristate "ST ASC serial port support"
1421	select SERIAL_CORE
1422	depends on ARM || COMPILE_TEST
1423	help
1424	  This driver is for the on-chip Asychronous Serial Controller on
1425	  STMicroelectronics STi SoCs.
1426	  ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
1427	  It support all industry standard baud rates.
1428
1429	  If unsure, say N.
1430
1431config SERIAL_ST_ASC_CONSOLE
1432	bool "Support for console on ST ASC"
1433	depends on SERIAL_ST_ASC=y
1434	select SERIAL_CORE_CONSOLE
1435
1436config SERIAL_MEN_Z135
1437	tristate "MEN 16z135 Support"
1438	select SERIAL_CORE
1439	depends on MCB
1440	help
1441	  Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
1442	  on a MCB carrier.
1443
1444	  This driver can also be build as a module. If so, the module will be called
1445	  men_z135_uart.ko
1446
1447config SERIAL_SPRD
1448	tristate "Support for Spreadtrum serial"
1449	select SERIAL_CORE
1450	depends on COMMON_CLK
1451	help
1452	  This enables the driver for the Spreadtrum's serial.
1453
1454config SERIAL_SPRD_CONSOLE
1455	bool "Spreadtrum UART console support"
1456	depends on SERIAL_SPRD=y
1457	select SERIAL_CORE_CONSOLE
1458	select SERIAL_EARLYCON
1459	help
1460	  Support for early debug console using Spreadtrum's serial. This enables
1461	  the console before standard serial driver is probed. This is enabled
1462	  with "earlycon" on the kernel command line. The console is
1463	  enabled when early_param is processed.
1464
1465config SERIAL_STM32
1466	tristate "STMicroelectronics STM32 serial port support"
1467	select SERIAL_CORE
1468	depends on ARCH_STM32 || COMPILE_TEST
1469	select SERIAL_MCTRL_GPIO if GPIOLIB
1470	help
1471	  This driver is for the on-chip Serial Controller on
1472	  STMicroelectronics STM32 MCUs.
1473	  USART supports Rx & Tx functionality.
1474	  It support all industry standard baud rates.
1475
1476	  If unsure, say N.
1477
1478config SERIAL_STM32_CONSOLE
1479	bool "Support for console on STM32"
1480	depends on SERIAL_STM32=y
1481	select SERIAL_CORE_CONSOLE
1482
1483config SERIAL_MVEBU_UART
1484	bool "Marvell EBU serial port support"
1485	depends on ARCH_MVEBU || COMPILE_TEST
1486	select SERIAL_CORE
1487	help
1488	  This driver is for Marvell EBU SoC's UART. If you have a machine
1489	  based on the Armada-3700 SoC and wish to use the on-board serial
1490	  port,
1491	  say 'Y' here.
1492	  Otherwise, say 'N'.
1493
1494config SERIAL_MVEBU_CONSOLE
1495	bool "Console on Marvell EBU serial port"
1496	depends on SERIAL_MVEBU_UART
1497	select SERIAL_CORE_CONSOLE
1498	select SERIAL_EARLYCON
1499	default y
1500	help
1501	  Say 'Y' here if you wish to use Armada-3700 UART as the system console.
1502	  (the system console is the device which receives all kernel messages
1503	  and warnings and which allows logins in single user mode)
1504	  Otherwise, say 'N'.
1505
1506config SERIAL_OWL
1507	tristate "Actions Semi Owl serial port support"
1508	depends on ARCH_ACTIONS || COMPILE_TEST
1509	select SERIAL_CORE
1510	help
1511	  This driver is for Actions Semiconductor S500/S900 SoC's UART.
1512	  Say 'Y' here if you wish to use the on-board serial port.
1513	  Otherwise, say 'N'.
1514
1515config SERIAL_OWL_CONSOLE
1516	bool "Console on Actions Semi Owl serial port"
1517	depends on SERIAL_OWL=y
1518	select SERIAL_CORE_CONSOLE
1519	select SERIAL_EARLYCON
1520	default y
1521	help
1522	  Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1523	  as the system console.
1524
1525config SERIAL_RDA
1526	bool "RDA Micro serial port support"
1527	depends on ARCH_RDA || COMPILE_TEST
1528	select SERIAL_CORE
1529	help
1530	  This driver is for RDA8810PL SoC's UART.
1531	  Say 'Y' here if you wish to use the on-board serial port.
1532	  Otherwise, say 'N'.
1533
1534config SERIAL_RDA_CONSOLE
1535	bool "Console on RDA Micro serial port"
1536	depends on SERIAL_RDA=y
1537	select SERIAL_CORE_CONSOLE
1538	select SERIAL_EARLYCON
1539	default y
1540	help
1541	  Say 'Y' here if you wish to use the RDA8810PL UART as the system
1542	  console. Only earlycon is implemented currently.
1543
1544config SERIAL_MILBEAUT_USIO
1545	tristate "Milbeaut USIO/UART serial port support"
1546	depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
1547	default ARCH_MILBEAUT
1548	select SERIAL_CORE
1549	help
1550	  This selects the USIO/UART IP found in Socionext Milbeaut SoCs.
1551
1552config SERIAL_MILBEAUT_USIO_PORTS
1553	int "Maximum number of CSIO/UART ports (1-8)"
1554	range 1 8
1555	depends on SERIAL_MILBEAUT_USIO
1556	default "4"
1557
1558config SERIAL_MILBEAUT_USIO_CONSOLE
1559	bool "Support for console on MILBEAUT USIO/UART serial port"
1560	depends on SERIAL_MILBEAUT_USIO=y
1561	default y
1562	select SERIAL_CORE_CONSOLE
1563	select SERIAL_EARLYCON
1564	help
1565	  Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
1566	  SoCs as the system console (the system console is the device which
1567	  receives all kernel messages and warnings and which allows logins in
1568	  single user mode).
1569
1570config SERIAL_LITEUART
1571	tristate "LiteUART serial port support"
1572	depends on HAS_IOMEM
1573	depends on OF || COMPILE_TEST
1574	depends on LITEX
1575	select SERIAL_CORE
1576	help
1577	  This driver is for the FPGA-based LiteUART serial controller from LiteX
1578	  SoC builder.
1579
1580	  Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
1581	  Otherwise, say 'N'.
1582
1583config SERIAL_LITEUART_MAX_PORTS
1584	int "Maximum number of LiteUART ports"
1585	depends on SERIAL_LITEUART
1586	default "1"
1587	help
1588	  Set this to the maximum number of serial ports you want the driver
1589	  to support.
1590
1591config SERIAL_LITEUART_CONSOLE
1592	bool "LiteUART serial port console support"
1593	depends on SERIAL_LITEUART=y
1594	select SERIAL_CORE_CONSOLE
1595	help
1596	  Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
1597	  controller from LiteX SoC builder as the system console
1598	  (the system console is the device which receives all kernel messages
1599	  and warnings and which allows logins in single user mode).
1600	  Otherwise, say 'N'.
1601
1602endmenu
1603
1604config SERIAL_MCTRL_GPIO
1605	tristate
1606