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