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