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