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