Kconfig 49 KB
Newer Older
1
# SPDX-License-Identifier: GPL-2.0
Linus Torvalds's avatar
Linus Torvalds committed
2 3 4 5 6
#
# Serial device configuration
#

menu "Serial drivers"
7
	depends on HAS_IOMEM
Linus Torvalds's avatar
Linus Torvalds committed
8

9 10
config SERIAL_EARLYCON
	bool
11
	depends on SERIAL_CORE
12 13 14 15 16
	help
	  Support for early consoles with the earlycon parameter. This enables
	  the console before standard serial driver is probed. The console is
	  enabled when early_param is processed.

17
source "drivers/tty/serial/8250/Kconfig"
18

19 20
comment "Non-8250 serial port support"

Linus Torvalds's avatar
Linus Torvalds committed
21 22
config SERIAL_AMBA_PL010
	tristate "ARM AMBA PL010 serial port support"
23
	depends on ARM_AMBA || COMPILE_TEST
Linus Torvalds's avatar
Linus Torvalds committed
24 25 26
	select SERIAL_CORE
	help
	  This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have
27 28
	  an Integrator/AP or Integrator/PP2 platform, or if you have a
	  Cirrus Logic EP93xx CPU, say Y or M here.
Linus Torvalds's avatar
Linus Torvalds committed
29 30 31 32 33 34 35

	  If unsure, say N.

config SERIAL_AMBA_PL010_CONSOLE
	bool "Support for console on AMBA serial port"
	depends on SERIAL_AMBA_PL010=y
	select SERIAL_CORE_CONSOLE
36
	help
Linus Torvalds's avatar
Linus Torvalds committed
37 38 39 40 41 42 43 44 45 46 47 48 49
	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

	  Even if you say Y here, the currently visible framebuffer console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyAM0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_AMBA_PL011
	tristate "ARM AMBA PL011 serial port support"
50
	depends on ARM_AMBA
Linus Torvalds's avatar
Linus Torvalds committed
51 52 53 54
	select SERIAL_CORE
	help
	  This selects the ARM(R) AMBA(R) PrimeCell PL011 UART.  If you have
	  an Integrator/PP2, Integrator/CP or Versatile platform, say Y or M
55
	  here.
Linus Torvalds's avatar
Linus Torvalds committed
56 57 58 59 60 61 62

	  If unsure, say N.

config SERIAL_AMBA_PL011_CONSOLE
	bool "Support for console on AMBA serial port"
	depends on SERIAL_AMBA_PL011=y
	select SERIAL_CORE_CONSOLE
63
	select SERIAL_EARLYCON
64
	help
Linus Torvalds's avatar
Linus Torvalds committed
65 66 67 68 69 70 71
	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

	  Even if you say Y here, the currently visible framebuffer console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
72
	  "console=ttyAMA0". (Try "man bootparam" or see the documentation of
Linus Torvalds's avatar
Linus Torvalds committed
73 74 75
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

76 77
config SERIAL_EARLYCON_SEMIHOST
	bool "Early console using Arm compatible semihosting"
78
	depends on ARM64 || ARM || RISCV
79 80
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
81 82
	select SERIAL_EARLYCON
	help
83 84 85 86
	  Support for early debug console using Arm compatible semihosting.
	  This enables the console before standard serial driver is probed.
	  This is enabled with "earlycon=smh" on the kernel command line.
	  The console is enabled when early_param is processed.
87 88 89

config SERIAL_EARLYCON_RISCV_SBI
	bool "Early console using RISC-V SBI"
90
	depends on RISCV_SBI_V01
91 92 93 94 95 96 97 98
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Support for early debug console using RISC-V SBI. This enables
	  the console before standard serial driver is probed. This is enabled
	  with "earlycon=sbi" on the kernel command line. The console is
	  enabled when early_param is processed.
99

100 101 102 103 104
config SERIAL_SB1250_DUART
	tristate "BCM1xxx on-chip DUART serial support"
	depends on SIBYTE_SB1xxx_SOC=y
	select SERIAL_CORE
	default y
105
	help
106 107 108 109 110 111 112 113 114 115 116 117 118 119
	  Support for the asynchronous serial interface (DUART) included in
	  the BCM1250 and derived System-On-a-Chip (SOC) devices.  Note that
	  the letter D in DUART stands for "dual", which is how the device
	  is implemented.  Depending on the SOC configuration there may be
	  one or more DUARTs available of which all are handled.

	  If unsure, say Y.  To compile this driver as a module, choose M here:
	  the module will be called sb1250-duart.

config SERIAL_SB1250_DUART_CONSOLE
	bool "Support for console on a BCM1xxx DUART serial port"
	depends on SERIAL_SB1250_DUART=y
	select SERIAL_CORE_CONSOLE
	default y
120
	help
121 122 123 124 125 126 127
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  If unsure, say Y.

128
config 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

139
config 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 148
	  console is the device which receives all kernel messages and
	  warnings and which allows logins in single user mode).
149

150
config SERIAL_ATMEL_PDC
151
	bool "Support DMA transfers on AT91 serial port"
152 153 154 155
	depends on SERIAL_ATMEL
	default y
	help
	  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 158 159 160 161 162 163 164
	  actually use DMA transfers, make sure that the use_dma_tx
	  and use_dma_rx members in the atmel_uart_data struct is set
	  appropriately for each port.

	  Note that break and error handling currently doesn't work
	  properly when DMA is enabled. Make sure that ports where
	  this matters don't use DMA.

165
config 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 171 172 173
	  appear as /dev/ttyATn (major 204, minor starting at 154)
	  instead of the normal /dev/ttySn (major 4, minor starting at
	  64). This is necessary if you also want other UARTs, such as
	  external 8250/16C550 compatible UARTs.
174 175 176 177 178 179 180 181
	  The ttySn nodes are legally reserved for the 8250 serial driver
	  but are often misused by other serial drivers.

	  To use this, you should create suitable ttyATn device nodes in
	  /dev/, and pass "console=ttyATn" to the kernel.

	  Say Y if you have an external 8250/16C550 UART.  If unsure, say N.

182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
config SERIAL_KGDB_NMI
	bool "Serial console over KGDB NMI debugger port"
	depends on KGDB_SERIAL_CONSOLE
	help
	  This special driver allows you to temporary use NMI debugger port
	  as a normal console (assuming that the port is attached to KGDB).

	  Unlike KDB's disable_nmi command, with this driver you are always
	  able to go back to the debugger using KGDB escape sequence ($3#33).
	  This is because this console driver processes the input in NMI
	  context, and thus is able to intercept the magic sequence.

	  Note that since the console interprets input and uses polling
	  communication methods, for things like PPP you still must fully
	  detach debugger port from the KGDB NMI (i.e. disable_nmi), and
	  use raw console.

	  If unsure, say N.

201 202
config SERIAL_MESON
	tristate "Meson serial port support"
203
	depends on ARCH_MESON || COMPILE_TEST
204 205 206 207 208 209 210
	select SERIAL_CORE
	help
	  This enables the driver for the on-chip UARTs of the Amlogic
	  MesonX processors.

config SERIAL_MESON_CONSOLE
	bool "Support for console on meson"
211
	depends on SERIAL_MESON
212
	select SERIAL_CORE_CONSOLE
213
	select SERIAL_EARLYCON
214 215 216 217 218 219
	help
	  Say Y here if you wish to use a Amlogic MesonX UART as the
	  system console (the system console is the device which
	  receives all kernel messages and warnings and which allows
	  logins in single user mode) as /dev/ttyAMLx.

Linus Torvalds's avatar
Linus Torvalds committed
220 221
config SERIAL_CLPS711X
	tristate "CLPS711X serial port support"
222
	depends on ARCH_CLPS711X || COMPILE_TEST
Linus Torvalds's avatar
Linus Torvalds committed
223
	select SERIAL_CORE
224
	select SERIAL_MCTRL_GPIO if GPIOLIB
Linus Torvalds's avatar
Linus Torvalds committed
225
	help
226 227
	  This enables the driver for the on-chip UARTs of the Cirrus
	  Logic EP711x/EP721x/EP731x processors.
Linus Torvalds's avatar
Linus Torvalds committed
228 229 230 231 232 233 234 235 236

config SERIAL_CLPS711X_CONSOLE
	bool "Support for console on CLPS711X serial port"
	depends on SERIAL_CLPS711X=y
	select SERIAL_CORE_CONSOLE
	help
	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
237
	  "console=ttyCL1".
Linus Torvalds's avatar
Linus Torvalds committed
238

239 240
config SERIAL_SAMSUNG
	tristate "Samsung SoC serial support"
241
	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || ARCH_ARTPEC || COMPILE_TEST
242
	select SERIAL_CORE
Linus Torvalds's avatar
Linus Torvalds committed
243
	help
244
	  Support for the on-chip UARTs on the Samsung
245
	  S3C64xx/S5Pv210/Exynos and Apple M1 SoCs, providing
246 247
	  /dev/ttySAC0, 1 and 2 (note, some machines may not provide all of
	  these ports, depending on how the serial port pins are configured.
248

249
	  Choose Y/M here only if you build for such SoC.
Linus Torvalds's avatar
Linus Torvalds committed
250

251 252
config SERIAL_SAMSUNG_UARTS
	int
253
	depends on SERIAL_SAMSUNG
254
	default 4
255 256 257
	help
	  Select the number of available UART ports for the Samsung S3C
	  serial driver
258 259 260

config SERIAL_SAMSUNG_CONSOLE
	bool "Support for console on Samsung SoC serial port"
261
	depends on SERIAL_SAMSUNG
Linus Torvalds's avatar
Linus Torvalds committed
262
	select SERIAL_CORE_CONSOLE
263
	select SERIAL_EARLYCON
Linus Torvalds's avatar
Linus Torvalds committed
264
	help
265
	  Allow selection of the S3C24XX on-board serial ports for use as
Linus Torvalds's avatar
Linus Torvalds committed
266 267 268 269 270 271 272 273 274
	  an virtual console.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySACx". (Try "man bootparam" or see the documentation of
	  your boot loader about how to pass options to the kernel at
	  boot time.)

275 276
config SERIAL_TEGRA
	tristate "NVIDIA Tegra20/30 SoC serial controller"
277
	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
278 279 280
	select SERIAL_CORE
	help
	  Support for the on-chip UARTs on the NVIDIA Tegra series SOCs
281
	  providing /dev/ttyTHS0, 1, 2, 3 and 4 (note, some machines may not
282 283 284 285
	  provide all of these ports, depending on how the serial port
	  are enabled). This driver uses the APB DMA to achieve higher baudrate
	  and better performance.

286 287
config SERIAL_TEGRA_TCU
	tristate "NVIDIA Tegra Combined UART"
288 289
	depends on MAILBOX
	depends on (ARCH_TEGRA && TEGRA_HSP_MBOX) || COMPILE_TEST
290 291 292 293 294 295 296 297 298 299 300
	select SERIAL_CORE
	help
	  Support for the mailbox-based TCU (Tegra Combined UART) serial port.
	  TCU is a virtual serial port that allows multiplexing multiple data
	  streams into a single hardware serial port.

config SERIAL_TEGRA_TCU_CONSOLE
	bool "Support for console on a Tegra TCU serial port"
	depends on SERIAL_TEGRA_TCU=y
	select SERIAL_CORE_CONSOLE
	default y
301
	help
302 303 304 305 306 307 308
	  If you say Y here, it will be possible to use a the Tegra TCU as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  If unsure, say Y.

309 310 311 312 313 314 315
config SERIAL_MAX3100
	tristate "MAX3100 support"
	depends on SPI
	select SERIAL_CORE
	help
	  MAX3100 chip support

316
config SERIAL_MAX310X
317
	tristate "MAX310X support"
318
	depends on SPI_MASTER
319
	select SERIAL_CORE
320
	select REGMAP_SPI if SPI_MASTER
321
	select REGMAP_I2C if I2C
322
	help
323
	  This selects support for an advanced UART from Maxim (Dallas).
324
	  Supported ICs are MAX3107, MAX3108, MAX3109, MAX14830.
325 326 327 328
	  Each IC contains 128 words each of receive and transmit FIFO
	  that can be controlled through I2C or high-speed SPI.

	  Say Y here if you want to support this ICs.
329

Linus Torvalds's avatar
Linus Torvalds committed
330 331
config SERIAL_DZ
	bool "DECstation DZ serial driver"
332
	depends on MACH_DECSTATION && 32BIT
Linus Torvalds's avatar
Linus Torvalds committed
333
	select SERIAL_CORE
334
	default y
335
	help
336 337
	  DZ11-family serial controllers for DECstations and VAXstations,
	  including the DC7085, M7814, and M7819.
Linus Torvalds's avatar
Linus Torvalds committed
338 339 340 341 342

config SERIAL_DZ_CONSOLE
	bool "Support console on DECstation DZ serial driver"
	depends on SERIAL_DZ=y
	select SERIAL_CORE_CONSOLE
343
	default y
344
	help
Linus Torvalds's avatar
Linus Torvalds committed
345 346 347
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
348 349 350 351
	  mode).

	  Note that the firmware uses ttyS3 as the serial console on
	  DECstations that use this driver.
Linus Torvalds's avatar
Linus Torvalds committed
352 353 354

	  If unsure, say Y.

355 356 357 358 359
config SERIAL_ZS
	tristate "DECstation Z85C30 serial support"
	depends on MACH_DECSTATION
	select SERIAL_CORE
	default y
360
	help
361 362 363 364 365 366 367 368 369 370 371 372 373
	  Support for the Zilog 85C350 serial communications controller used
	  for serial ports in newer DECstation systems.  These include the
	  DECsystem 5900 and all models of the DECstation and DECsystem 5000
	  systems except from model 200.

	  If unsure, say Y.  To compile this driver as a module, choose M here:
	  the module will be called zs.

config SERIAL_ZS_CONSOLE
	bool "Support for console on a DECstation Z85C30 serial port"
	depends on SERIAL_ZS=y
	select SERIAL_CORE_CONSOLE
	default y
374
	help
375 376 377 378 379 380 381 382 383 384
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  Note that the firmware uses ttyS1 as the serial console on the
	  Maxine and ttyS3 on the others using this driver.

	  If unsure, say Y.

Linus Torvalds's avatar
Linus Torvalds committed
385 386
config SERIAL_21285
	tristate "DC21285 serial port support"
387
	depends on FOOTBRIDGE
Linus Torvalds's avatar
Linus Torvalds committed
388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409
	select SERIAL_CORE
	help
	  If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
	  PCI bridge you can enable its onboard serial port by enabling this
	  option.

config SERIAL_21285_CONSOLE
	bool "Console on DC21285 serial port"
	depends on SERIAL_21285=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the 21285 footbridge you can
	  make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyFB". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_PXA
410
	bool "PXA serial port support (DEPRECATED)"
411
	depends on ARCH_PXA || ARCH_MMP
Linus Torvalds's avatar
Linus Torvalds committed
412
	select SERIAL_CORE
413 414
	select SERIAL_8250_PXA if SERIAL_8250=y
	select SERIAL_PXA_NON8250 if !SERIAL_8250=y
Linus Torvalds's avatar
Linus Torvalds committed
415 416 417 418
	help
	  If you have a machine based on an Intel XScale PXA2xx CPU you
	  can enable its onboard serial ports by enabling this option.

419 420 421 422 423
	  Unless you have a specific need, you should use SERIAL_8250_PXA
	  instead of this.

config SERIAL_PXA_NON8250
	bool
424
	depends on !SERIAL_8250 || COMPILE_TEST
425

Linus Torvalds's avatar
Linus Torvalds committed
426
config SERIAL_PXA_CONSOLE
427
	bool "Console on PXA serial port (DEPRECATED)"
Linus Torvalds's avatar
Linus Torvalds committed
428 429
	depends on SERIAL_PXA
	select SERIAL_CORE_CONSOLE
430
	select SERIAL_8250_CONSOLE if SERIAL_8250=y
Linus Torvalds's avatar
Linus Torvalds committed
431 432 433 434 435 436 437 438 439 440 441
	help
	  If you have enabled the serial port on the Intel XScale PXA
	  CPU you can make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySA0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

442 443 444
	  Unless you have a specific need, you should use SERIAL_8250_PXA
	  and SERIAL_8250_CONSOLE instead of this.

Linus Torvalds's avatar
Linus Torvalds committed
445 446
config SERIAL_SA1100
	bool "SA1100 serial port support"
447
	depends on ARCH_SA1100
Linus Torvalds's avatar
Linus Torvalds committed
448
	select SERIAL_CORE
449
	select SERIAL_MCTRL_GPIO if GPIOLIB
Linus Torvalds's avatar
Linus Torvalds committed
450 451 452
	help
	  If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
	  can enable its onboard serial port by enabling this option.
453 454
	  Please read <file:Documentation/arch/arm/sa1100/serial_uart.rst> for
	  further info.
Linus Torvalds's avatar
Linus Torvalds committed
455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471

config SERIAL_SA1100_CONSOLE
	bool "Console on SA1100 serial port"
	depends on SERIAL_SA1100
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the SA1100/SA1110 StrongARM
	  CPU you can make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySA0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_IMX
472
	tristate "IMX serial port support"
473
	depends on ARCH_MXC || COMPILE_TEST
Linus Torvalds's avatar
Linus Torvalds committed
474
	select SERIAL_CORE
475
	select RATIONAL
476
	select SERIAL_MCTRL_GPIO if GPIOLIB
Linus Torvalds's avatar
Linus Torvalds committed
477 478 479 480 481
	help
	  If you have a machine based on a Motorola IMX CPU you
	  can enable its onboard serial port by enabling this option.

config SERIAL_IMX_CONSOLE
482 483
	tristate "Console on IMX serial port"
	depends on SERIAL_IMX
Linus Torvalds's avatar
Linus Torvalds committed
484 485
	select SERIAL_CORE_CONSOLE
	help
486
	  If you have enabled the serial port on the Freescale IMX
487
	  CPU you can make it the console by answering Y/M to this option.
Linus Torvalds's avatar
Linus Torvalds committed
488

489
	  Even if you say Y/M here, the currently visible virtual console
Linus Torvalds's avatar
Linus Torvalds committed
490 491
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
492 493
	  "console=ttymxc0". (Try "man bootparam" or see the documentation of
	  your bootloader about how to pass options to the kernel at boot time.)
Linus Torvalds's avatar
Linus Torvalds committed
494

495 496
config SERIAL_IMX_EARLYCON
	bool "Earlycon on IMX serial port"
497
	depends on ARCH_MXC || COMPILE_TEST
498
	depends on OF
499
	select SERIAL_CORE
500
	select SERIAL_EARLYCON
501
	select SERIAL_CORE_CONSOLE
502
	default y if SERIAL_IMX_CONSOLE
503 504 505 506
	help
	  If you have enabled the earlycon on the Freescale IMX
	  CPU you can make it the earlycon by answering Y to this option.

507 508
config SERIAL_UARTLITE
	tristate "Xilinx uartlite serial port support"
509
	depends on HAS_IOMEM
510 511 512 513 514
	select SERIAL_CORE
	help
	  Say Y here if you want to use the Xilinx uartlite serial controller.

	  To compile this driver as a module, choose M here: the
515
	  module will be called uartlite.
516 517 518 519 520

config SERIAL_UARTLITE_CONSOLE
	bool "Support for console on Xilinx uartlite serial port"
	depends on SERIAL_UARTLITE=y
	select SERIAL_CORE_CONSOLE
521
	select SERIAL_EARLYCON
522 523 524 525 526
	help
	  Say Y here if you wish to use a Xilinx uartlite as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

527 528 529 530 531 532 533 534 535
config SERIAL_UARTLITE_NR_UARTS
	int "Maximum number of uartlite serial ports"
	depends on SERIAL_UARTLITE
	range 1 256
	default 1
	help
	  Set this to the number of uartlites in your system, or the number
	  you think you might implement.

Linus Torvalds's avatar
Linus Torvalds committed
536 537
config SERIAL_SUNCORE
	bool
538
	depends on SPARC
Linus Torvalds's avatar
Linus Torvalds committed
539 540 541 542 543 544
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	default y

config SERIAL_SUNZILOG
	tristate "Sun Zilog8530 serial support"
545
	depends on SPARC
Linus Torvalds's avatar
Linus Torvalds committed
546 547 548 549 550 551 552 553 554 555 556 557 558 559
	help
	  This driver supports the Zilog8530 serial ports found on many Sparc
	  systems.  Say Y or M if you want to be able to these serial ports.

config SERIAL_SUNZILOG_CONSOLE
	bool "Console on Sun Zilog8530 serial port"
	depends on SERIAL_SUNZILOG=y
	help
	  If you would like to be able to use the Zilog8530 serial port
	  on your Sparc system as the console, you can do so by answering
	  Y to this option.

config SERIAL_SUNSU
	tristate "Sun SU serial support"
560
	depends on SPARC && PCI
Linus Torvalds's avatar
Linus Torvalds committed
561 562 563 564 565 566 567 568 569 570 571 572 573 574 575
	help
	  This driver supports the 8250 serial ports that run the keyboard and
	  mouse on (PCI) UltraSPARC systems.  Say Y or M if you want to be able
	  to these serial ports.

config SERIAL_SUNSU_CONSOLE
	bool "Console on Sun SU serial port"
	depends on SERIAL_SUNSU=y
	help
	  If you would like to be able to use the SU serial port
	  on your Sparc system as the console, you can do so by answering
	  Y to this option.

config SERIAL_MUX
	tristate "Serial MUX support"
576
	depends on GSC
Linus Torvalds's avatar
Linus Torvalds committed
577 578
	select SERIAL_CORE
	default y
579
	help
Linus Torvalds's avatar
Linus Torvalds committed
580
	  Saying Y here will enable the hardware MUX serial driver for
581 582 583 584 585
	  the Nova, K class systems and D class with a 'remote control card'.
	  The hardware MUX is not 8250/16550 compatible therefore the
	  /dev/ttyB0 device is shared between the Serial MUX and the PDC
	  software console. The following steps need to be completed to use
	  the Serial MUX:
Linus Torvalds's avatar
Linus Torvalds committed
586 587 588 589 590 591 592 593

	    1. create the device entry (mknod /dev/ttyB0 c 11 0)
	    2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
	    3. Add device ttyB0 to /etc/securetty (if you want to log on as
		 root on this console.)
	    4. Change the kernel command console parameter to: console=ttyB0

config SERIAL_MUX_CONSOLE
594 595
	bool "Support for console on serial MUX"
	depends on SERIAL_MUX=y
Linus Torvalds's avatar
Linus Torvalds committed
596
	select SERIAL_CORE_CONSOLE
597
	default y
Linus Torvalds's avatar
Linus Torvalds committed
598 599 600

config SERIAL_SUNSAB
	tristate "Sun Siemens SAB82532 serial support"
601
	depends on SPARC && PCI
Linus Torvalds's avatar
Linus Torvalds committed
602 603 604 605 606 607 608 609 610 611 612 613 614
	help
	  This driver supports the Siemens SAB82532 DUSCC serial ports on newer
	  (PCI) UltraSPARC systems.  Say Y or M if you want to be able to these
	  serial ports.

config SERIAL_SUNSAB_CONSOLE
	bool "Console on Sun Siemens SAB82532 serial port"
	depends on SERIAL_SUNSAB=y
	help
	  If you would like to be able to use the SAB82532 serial port
	  on your Sparc system as the console, you can do so by answering
	  Y to this option.

615 616 617 618 619 620 621
config SERIAL_SUNHV
	bool "Sun4v Hypervisor Console support"
	depends on SPARC64
	help
	  This driver supports the console device found on SUN4V Sparc
	  systems.  Say Y if you want to be able to use this device.

Linus Torvalds's avatar
Linus Torvalds committed
622
config SERIAL_IP22_ZILOG
623 624
	tristate "SGI Zilog8530 serial support"
	depends on SGI_HAS_ZILOG
Linus Torvalds's avatar
Linus Torvalds committed
625 626
	select SERIAL_CORE
	help
627
	  This driver supports the Zilog8530 serial ports found on SGI
Linus Torvalds's avatar
Linus Torvalds committed
628 629 630
	  systems.  Say Y or M if you want to be able to these serial ports.

config SERIAL_IP22_ZILOG_CONSOLE
631
	bool "Console on SGI Zilog8530 serial port"
Linus Torvalds's avatar
Linus Torvalds committed
632 633 634 635
	depends on SERIAL_IP22_ZILOG=y
	select SERIAL_CORE_CONSOLE

config SERIAL_SH_SCI
636
	tristate "SuperH SCI(F) serial port support"
637
	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
Linus Torvalds's avatar
Linus Torvalds committed
638
	select SERIAL_CORE
639
	select SERIAL_MCTRL_GPIO if GPIOLIB
Linus Torvalds's avatar
Linus Torvalds committed
640

641
config SERIAL_SH_SCI_NR_UARTS
642
	int "Maximum number of SCI(F) serial ports" if EXPERT
643 644
	range 1 64 if 64BIT
	range 1 32 if !64BIT
645
	depends on SERIAL_SH_SCI
646 647
	default "10" if SUPERH
	default "18" if ARCH_RENESAS
648
	default "2"
649

Linus Torvalds's avatar
Linus Torvalds committed
650
config SERIAL_SH_SCI_CONSOLE
651
	bool "Support for console on SuperH SCI(F)" if EXPERT
Linus Torvalds's avatar
Linus Torvalds committed
652 653
	depends on SERIAL_SH_SCI=y
	select SERIAL_CORE_CONSOLE
654
	default y
Linus Torvalds's avatar
Linus Torvalds committed
655

656
config SERIAL_SH_SCI_EARLYCON
657
	bool "Support for early console on SuperH SCI(F)" if EXPERT
658 659 660
	depends on SERIAL_SH_SCI=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
661
	default ARCH_RENESAS
662

663
config SERIAL_SH_SCI_DMA
664
	bool "DMA support" if EXPERT
665
	depends on SERIAL_SH_SCI && DMA_ENGINE
666
	default ARCH_RENESAS
667

668 669
config SERIAL_HS_LPC32XX
	tristate "LPC32XX high speed serial port support"
670 671
	depends on ARCH_LPC32XX || COMPILE_TEST
	depends on OF
672 673 674 675 676 677 678 679 680
	select SERIAL_CORE
	help
	  Support for the LPC32XX high speed serial ports (up to 900kbps).
	  Those are UARTs completely different from the Standard UARTs on the
	  LPC32XX SoC.
	  Choose M or Y here to build this driver.

config SERIAL_HS_LPC32XX_CONSOLE
	bool "Enable LPC32XX high speed UART serial console"
681
	depends on SERIAL_HS_LPC32XX=y
682 683 684 685 686 687
	select SERIAL_CORE_CONSOLE
	help
	  If you would like to be able to use one of the high speed serial
	  ports on the LPC32XX as the console, you can do so by answering
	  Y to this option.

Linus Torvalds's avatar
Linus Torvalds committed
688 689 690 691 692 693
config SERIAL_CORE
	tristate

config SERIAL_CORE_CONSOLE
	bool

694 695 696
config CONSOLE_POLL
	bool

697
config SERIAL_MCF
698
	bool "Coldfire serial support"
699 700 701
	depends on COLDFIRE
	select SERIAL_CORE
	help
702
	  This serial driver supports the Freescale Coldfire serial ports.
703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719

config SERIAL_MCF_BAUDRATE
	int "Default baudrate for Coldfire serial ports"
	depends on SERIAL_MCF
	default 19200
	help
	  This setting lets you define what the default baudrate is for the
	  ColdFire serial ports. The usual default varies from board to board,
	  and this setting is a way of catering for that.

config SERIAL_MCF_CONSOLE
	bool "Coldfire serial console support"
	depends on SERIAL_MCF
	select SERIAL_CORE_CONSOLE
	help
	  Enable a ColdFire internal serial port to be the system console.

Linus Torvalds's avatar
Linus Torvalds committed
720
config SERIAL_PMACZILOG
Finn Thain's avatar
Finn Thain committed
721
	tristate "Mac or PowerMac z85c30 ESCC support"
722
	depends on (M68K && MAC) || PPC_PMAC
Linus Torvalds's avatar
Linus Torvalds committed
723 724 725
	select SERIAL_CORE
	help
	  This driver supports the Zilog z85C30 serial ports found on
Finn Thain's avatar
Finn Thain committed
726
	  (Power)Mac machines.
Linus Torvalds's avatar
Linus Torvalds committed
727 728
	  Say Y or M if you want to be able to these serial ports.

729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750
config SERIAL_PMACZILOG_TTYS
	bool "Use ttySn device nodes for Zilog z85c30"
	depends on SERIAL_PMACZILOG
	help
	  The pmac_zilog driver for the z85C30 chip on many powermacs
	  historically used the device numbers for /dev/ttySn.  The
	  8250 serial port driver also uses these numbers, which means
	  the two drivers being unable to coexist; you could not use
	  both z85C30 and 8250 type ports at the same time.

	  If this option is not selected, the pmac_zilog driver will
	  use the device numbers allocated for /dev/ttyPZn.  This allows
	  the pmac_zilog and 8250 drivers to co-exist, but may cause
	  existing userspace setups to break.  Programs that need to
	  access the built-in serial ports on powermacs will need to
	  be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.

	  If you enable this option, any z85c30 ports in the system will
	  be registered as ttyS0 onwards as in the past, and you will be
	  unable to use the 8250 module for PCMCIA or other 16C550-style
	  UARTs.

Finn Thain's avatar
Finn Thain committed
751
	  Say N unless you need the z85c30 ports on your (Power)Mac
752 753
	  to appear as /dev/ttySn.

Linus Torvalds's avatar
Linus Torvalds committed
754
config SERIAL_PMACZILOG_CONSOLE
Finn Thain's avatar
Finn Thain committed
755
	bool "Console on Mac or PowerMac z85c30 serial port"
Linus Torvalds's avatar
Linus Torvalds committed
756 757 758 759
	depends on SERIAL_PMACZILOG=y
	select SERIAL_CORE_CONSOLE
	help
	  If you would like to be able to use the z85c30 serial port
Finn Thain's avatar
Finn Thain committed
760
	  on your (Power)Mac as the console, you can do so by answering
Linus Torvalds's avatar
Linus Torvalds committed
761 762 763 764
	  Y to this option.

config SERIAL_CPM
	tristate "CPM SCC/SMC serial port support"
765
	depends on CPM2 || CPM1 || (PPC32 && COMPILE_TEST)
Linus Torvalds's avatar
Linus Torvalds committed
766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786
	select SERIAL_CORE
	help
	  This driver supports the SCC and SMC serial ports on Motorola 
	  embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)

config SERIAL_CPM_CONSOLE
	bool "Support for console on CPM SCC/SMC serial port"
	depends on SERIAL_CPM=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use a SCC or SMC CPM UART as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

	  Even if you say Y here, the currently visible framebuffer console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyCPM0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

787 788
config SERIAL_PIC32
	tristate "Microchip PIC32 serial support"
789
	depends on MACH_PIC32 || (MIPS && COMPILE_TEST)
790 791 792 793 794 795 796 797 798 799
	select SERIAL_CORE
	help
	  If you have a PIC32, this driver supports the serial ports.

	  Say Y or M to use PIC32 serial ports, otherwise say N. Note that
	  to use a serial port as a console, this must be included in kernel and
	  not as a module.

config SERIAL_PIC32_CONSOLE
	bool "PIC32 serial console support"
800
	depends on SERIAL_PIC32=y
801 802 803 804 805 806 807
	select SERIAL_CORE_CONSOLE
	help
	  If you have a PIC32, this driver supports the putting a console on one
	  of the serial ports.

	  Say Y to use the PIC32 console, otherwise say N.

Linus Torvalds's avatar
Linus Torvalds committed
808
config SERIAL_MPC52xx
809 810
	tristate "Freescale MPC52xx/MPC512x family PSC serial support"
	depends on PPC_MPC52xx || PPC_MPC512x
Linus Torvalds's avatar
Linus Torvalds committed
811 812
	select SERIAL_CORE
	help
813 814
	  This driver supports MPC52xx and MPC512x PSC serial ports. If you would
	  like to use them, you must answer Y or M to this option. Note that
Linus Torvalds's avatar
Linus Torvalds committed
815 816 817 818
	  for use as console, it must be included in kernel and not as a
	  module.

config SERIAL_MPC52xx_CONSOLE
819
	bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
Linus Torvalds's avatar
Linus Torvalds committed
820 821 822 823 824 825 826
	depends on SERIAL_MPC52xx=y
	select SERIAL_CORE_CONSOLE
	help
	  Select this options if you'd like to use one of the PSC serial port
	  of the Freescale MPC52xx family as a console.

config SERIAL_MPC52xx_CONSOLE_BAUD
827
	int "Freescale MPC52xx/MPC512x family PSC serial port baud"
Linus Torvalds's avatar
Linus Torvalds committed
828 829 830 831 832 833 834 835 836
	depends on SERIAL_MPC52xx_CONSOLE=y
	default "9600"
	help
	  Select the MPC52xx console baud rate.
	  This value is only used if the bootloader doesn't pass in the
	  console baudrate

config SERIAL_ICOM
	tristate "IBM Multiport Serial Adapter"
837 838
	depends on PCI
	depends on PPC_PSERIES || COMPILE_TEST
Linus Torvalds's avatar
Linus Torvalds committed
839
	select SERIAL_CORE
840
	select FW_LOADER
Linus Torvalds's avatar
Linus Torvalds committed
841 842 843 844 845 846 847 848 849 850
	help
	  This driver is for a family of multiport serial adapters
	  including 2 port RVX, 2 port internal modem, 4 port internal
	  modem and a split 1 port RVX and 1 port internal modem.

	  This driver can also be built as a module.  If so, the module
	  will be called icom.

config SERIAL_TXX9
	bool "TMPTX39XX/49XX SIO support"
851
	depends on HAS_TXX9_SERIAL
Linus Torvalds's avatar
Linus Torvalds committed
852 853 854 855 856 857
	select SERIAL_CORE
	default y

config HAS_TXX9_SERIAL
	bool

858 859 860 861 862
config SERIAL_TXX9_NR_UARTS
	int "Maximum number of TMPTX39XX/49XX SIO ports"
	depends on SERIAL_TXX9
	default "6"

Linus Torvalds's avatar
Linus Torvalds committed
863 864 865 866 867 868 869 870 871 872
config SERIAL_TXX9_CONSOLE
	bool "TMPTX39XX/49XX SIO Console support"
	depends on SERIAL_TXX9=y
	select SERIAL_CORE_CONSOLE

config SERIAL_TXX9_STDSERIAL
	bool "TX39XX/49XX SIO act as standard serial"
	depends on !SERIAL_8250 && SERIAL_TXX9

config SERIAL_JSM
873
	tristate "Digi International NEO and Classic PCI Support"
874 875 876
	depends on PCI
	select SERIAL_CORE
	help
877
	  This is a driver for Digi International's Neo and Classic series
878 879 880 881
	  of cards which provide multiple serial ports. You would need
	  something like this to connect more than two modems to your Linux
	  box, for instance in order to become a dial-in server. This driver
	  supports PCI boards only.
882 883

	  If you have a card like this, say Y here, otherwise say N.
884 885 886

	  To compile this driver as a module, choose M here: the
	  module will be called jsm.
Linus Torvalds's avatar
Linus Torvalds committed
887

888
config SERIAL_MSM
889
	tristate "MSM on-chip serial port support"
890
	depends on ARCH_QCOM || COMPILE_TEST
891 892 893 894 895 896
	select SERIAL_CORE

config SERIAL_MSM_CONSOLE
	bool "MSM serial console support"
	depends on SERIAL_MSM=y
	select SERIAL_CORE_CONSOLE
897
	select SERIAL_EARLYCON
898

899 900 901 902 903 904 905 906
config SERIAL_QCOM_GENI
	tristate "QCOM on-chip GENI based serial port support"
	depends on ARCH_QCOM || COMPILE_TEST
	depends on QCOM_GENI_SE
	select SERIAL_CORE

config SERIAL_QCOM_GENI_CONSOLE
	bool "QCOM GENI Serial Console support"
907
	depends on SERIAL_QCOM_GENI
908 909 910 911 912 913
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Serial console driver for Qualcomm Technologies Inc's GENI based
	  QUP hardware.

914 915
config SERIAL_VT8500
	bool "VIA VT8500 on-chip serial port support"
916
	depends on ARCH_VT8500 || COMPILE_TEST
917 918 919 920 921 922 923
	select SERIAL_CORE

config SERIAL_VT8500_CONSOLE
	bool "VIA VT8500 serial console support"
	depends on SERIAL_VT8500=y
	select SERIAL_CORE_CONSOLE

924 925
config SERIAL_OMAP
	tristate "OMAP serial port support"
926
	depends on (ARCH_OMAP2PLUS && !SERIAL_8250_OMAP) || COMPILE_TEST
927 928 929 930 931 932 933 934 935 936 937
	select SERIAL_CORE
	help
	  If you have a machine based on an Texas Instruments OMAP CPU you
	  can enable its onboard serial ports by enabling this option.

	  By enabling this option you take advantage of dma feature available
	  with the omap-serial driver. DMA support can be enabled from platform
	  data.

config SERIAL_OMAP_CONSOLE
	bool "Console on OMAP serial port"
938
	depends on SERIAL_OMAP=y
939 940 941 942 943 944 945 946 947 948 949 950
	select SERIAL_CORE_CONSOLE
	help
	  Select this option if you would like to use omap serial port as
	  console.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyOx". (Try "man bootparam" or see the documentation of
	  your boot loader about how to pass options to the kernel at
	  boot time.)

951 952 953
config SERIAL_SIFIVE
	tristate "SiFive UART support"
	depends on OF
954
	default ARCH_SIFIVE || ARCH_CANAAN
955 956 957 958 959 960 961 962 963
	select SERIAL_CORE
	help
	  Select this option if you are building a kernel for a device that
	  contains a SiFive UART IP block.  This type of UART is present on
	  SiFive FU540 SoCs, among others.

config SERIAL_SIFIVE_CONSOLE
	bool "Console on SiFive UART"
	depends on SERIAL_SIFIVE=y
964
	default ARCH_SIFIVE || ARCH_CANAAN
965
	select SERIAL_CORE_CONSOLE
966
	select SERIAL_EARLYCON
967 968 969 970 971 972 973 974 975 976 977
	help
	  Select this option if you would like to use a SiFive UART as the
	  system console.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySIFx". (Try "man bootparam" or see the documentation of
	  your boot loader about how to pass options to the kernel at
	  boot time.)

978
config SERIAL_LANTIQ
979
	tristate "Lantiq serial driver"
980
	depends on (LANTIQ || X86) || COMPILE_TEST
981
	select SERIAL_CORE
982 983
	help
	  Support for UART on Lantiq and Intel SoCs.
984 985
	  To compile this driver as a module, select M here. The
	  module will be called lantiq.
986 987 988 989

config SERIAL_LANTIQ_CONSOLE
	bool "Console on Lantiq UART"
	depends on SERIAL_LANTIQ=y
990
	select SERIAL_CORE_CONSOLE
991
	select SERIAL_EARLYCON
992
	help
993 994
	  Select this option if you would like to use a Lantiq UART as the
	  system console.
995

996 997 998 999 1000 1001 1002 1003 1004
config SERIAL_QE
	tristate "Freescale QUICC Engine serial port support"
	depends on QUICC_ENGINE
	select SERIAL_CORE
	select FW_LOADER
	help
	  This driver supports the QE serial ports on Freescale embedded
	  PowerPC that contain a QUICC Engine.

1005
config SERIAL_SCCNXP
1006
	tristate "SCCNXP serial port support"
1007 1008 1009 1010 1011 1012 1013 1014
	select SERIAL_CORE
	help
	  This selects support for an advanced UART from NXP (Philips).
	  Supported ICs are SCC2681, SCC2691, SCC2692, SC28L91, SC28L92,
	  SC28L202, SCC68681 and SCC68692.

config SERIAL_SCCNXP_CONSOLE
	bool "Console on SCCNXP serial port"
1015
	depends on SERIAL_SCCNXP=y
1016 1017 1018 1019
	select SERIAL_CORE_CONSOLE
	help
	  Support for console on SCCNXP serial ports.

1020
config SERIAL_SC16IS7XX_CORE
1021
	tristate
1022

Jon Ringle's avatar
Jon Ringle committed
1023
config SERIAL_SC16IS7XX
1024 1025 1026 1027 1028 1029 1030
	tristate "SC16IS7xx serial support"
	select SERIAL_CORE
	depends on (SPI_MASTER && !I2C) || I2C
	help
	  This selects support for SC16IS7xx serial ports.
	  Supported ICs are SC16IS740, SC16IS741, SC16IS750, SC16IS752,
	  SC16IS760 and SC16IS762. Select supported buses using options below.
1031 1032

config SERIAL_SC16IS7XX_I2C
1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043
	bool "SC16IS7xx for I2C interface"
	depends on SERIAL_SC16IS7XX
	depends on I2C
	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
	select REGMAP_I2C if I2C
	default y
	help
	  Enable SC16IS7xx driver on I2C bus,
	  If required say y, and say n to i2c if not required,
	  Enabled by default to support oldconfig.
	  You must select at least one bus for the driver to be built.
1044 1045

config SERIAL_SC16IS7XX_SPI
1046 1047 1048 1049 1050 1051 1052 1053
	bool "SC16IS7xx for spi interface"
	depends on SERIAL_SC16IS7XX
	depends on SPI_MASTER
	select SERIAL_SC16IS7XX_CORE if SERIAL_SC16IS7XX
	select REGMAP_SPI if SPI_MASTER
	help
	  Enable SC16IS7xx driver on SPI bus,
	  If required say y, and say n to spi if not required,
1054
	  This is additional support to existing driver.
1055
	  You must select at least one bus for the driver to be built.
Jon Ringle's avatar
Jon Ringle committed
1056

1057 1058 1059
config SERIAL_TIMBERDALE
	tristate "Support for timberdale UART"
	select SERIAL_CORE
1060
	depends on X86_32 || COMPILE_TEST
1061
	help
1062 1063
	Add support for UART controller on timberdale.

1064
config SERIAL_BCM63XX
1065
	tristate "Broadcom BCM63xx/BCM33xx UART support"
1066
	select SERIAL_CORE
1067 1068
	depends on ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST
	default ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC
1069
	help
1070 1071
	  This enables the driver for the onchip UART core found on
	  the following chipsets:
1072

1073 1074 1075 1076
	    BCM33xx (cable modem)
	    BCM63xx/BCM63xxx (DSL)
	    BCM68xx (PON)
	    BCM7xxx (STB) - DOCSIS console
1077 1078

config SERIAL_BCM63XX_CONSOLE
1079
	bool "Console on BCM63xx serial port"
1080 1081
	depends on SERIAL_BCM63XX=y
	select SERIAL_CORE_CONSOLE
1082
	select SERIAL_EARLYCON
1083
	help
1084
	  If you have enabled the serial port on the BCM63xx CPU
1085 1086
	  you can make it the console by answering Y to this option.

1087 1088
config SERIAL_GRLIB_GAISLER_APBUART
	tristate "GRLIB APBUART serial support"
1089
	depends on OF && SPARC
Randy Dunlap's avatar
Randy Dunlap committed
1090
	select SERIAL_CORE
1091
	help
1092 1093 1094 1095 1096 1097 1098 1099 1100
	Add support for the GRLIB APBUART serial port.

config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
	bool "Console on GRLIB APBUART serial port"
	depends on SERIAL_GRLIB_GAISLER_APBUART=y
	select SERIAL_CORE_CONSOLE
	help
	Support for running a console on the GRLIB APBUART

1101 1102 1103 1104 1105 1106 1107 1108 1109 1110
config SERIAL_ALTERA_JTAGUART
	tristate "Altera JTAG UART support"
	select SERIAL_CORE
	help
	  This driver supports the Altera JTAG UART port.

config SERIAL_ALTERA_JTAGUART_CONSOLE
	bool "Altera JTAG UART console support"
	depends on SERIAL_ALTERA_JTAGUART=y
	select SERIAL_CORE_CONSOLE
1111
	select SERIAL_EARLYCON
1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122
	help
	  Enable a Altera JTAG UART port to be the system console.

config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
	bool "Bypass output when no connection"
	depends on SERIAL_ALTERA_JTAGUART_CONSOLE
	select SERIAL_CORE_CONSOLE
	help
	  Bypass console output and keep going even if there is no
	  JTAG terminal connection with the host.

1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150
config SERIAL_ALTERA_UART
	tristate "Altera UART support"
	select SERIAL_CORE
	help
	  This driver supports the Altera softcore UART port.

config SERIAL_ALTERA_UART_MAXPORTS
	int "Maximum number of Altera UART ports"
	depends on SERIAL_ALTERA_UART
	default 4
	help
	  This setting lets you define the maximum number of the Altera
	  UART ports. The usual default varies from board to board, and
	  this setting is a way of catering for that.

config SERIAL_ALTERA_UART_BAUDRATE
	int "Default baudrate for Altera UART ports"
	depends on SERIAL_ALTERA_UART
	default 115200
	help
	  This setting lets you define what the default baudrate is for the
	  Altera UART ports. The usual default varies from board to board,
	  and this setting is a way of catering for that.

config SERIAL_ALTERA_UART_CONSOLE
	bool "Altera UART console support"
	depends on SERIAL_ALTERA_UART=y
	select SERIAL_CORE_CONSOLE
1151
	select SERIAL_EARLYCON
1152 1153 1154
	help
	  Enable a Altera UART port to be the system console.

1155
config SERIAL_PCH_UART
1156
	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
1157
	depends on PCI && (X86_32 || MIPS ||  COMPILE_TEST)
1158 1159 1160 1161 1162
	select SERIAL_CORE
	help
	  This driver is for PCH(Platform controller Hub) UART of Intel EG20T
	  which is an IOH(Input/Output Hub) for x86 embedded processor.
	  Enabling PCH_DMA, this PCH UART works as DMA mode.
1163

1164 1165 1166 1167 1168 1169
	  This driver also can be used for LAPIS Semiconductor IOH(Input/
	  Output Hub), ML7213, ML7223 and ML7831.
	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1170

1171 1172 1173 1174 1175 1176 1177 1178 1179
config SERIAL_PCH_UART_CONSOLE
	bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
	depends on SERIAL_PCH_UART=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use the PCH UART as the system console
	  (the system  console is the device which receives all kernel messages and
	  warnings and which allows logins in single user mode).

1180 1181
config SERIAL_MXS_AUART
	tristate "MXS AUART support"
1182
	depends on ARCH_MXS || MACH_ASM9260 || COMPILE_TEST
1183
	select SERIAL_CORE
1184
	select SERIAL_MCTRL_GPIO if GPIOLIB
1185
	help
1186 1187
	  This driver supports the MXS and Alphascale ASM9260 Application
	  UART (AUART) port.
1188 1189 1190 1191 1192 1193 1194 1195

config SERIAL_MXS_AUART_CONSOLE
	bool "MXS AUART console support"
	depends on SERIAL_MXS_AUART=y
	select SERIAL_CORE_CONSOLE
	help
	  Enable a MXS AUART port to be the system console.

1196
config SERIAL_XILINX_PS_UART
1197
	tristate "Cadence (Xilinx Zynq) UART support"
1198
	depends on OF
1199 1200
	select SERIAL_CORE
	help
1201 1202
	  This driver supports the Cadence UART. It is found e.g. in Xilinx
	  Zynq.
1203 1204

config SERIAL_XILINX_PS_UART_CONSOLE
1205
	bool "Cadence UART console support"
1206 1207
	depends on SERIAL_XILINX_PS_UART=y
	select SERIAL_CORE_CONSOLE
1208
	select SERIAL_EARLYCON
1209
	help
1210
	  Enable a Cadence UART port to be the system console.
1211

1212
config SERIAL_AR933X
1213
	tristate "AR933X serial port support"
1214
	depends on (HAVE_CLK && ATH79) || (MIPS && COMPILE_TEST)
1215
	select SERIAL_CORE
1216
	select SERIAL_MCTRL_GPIO if GPIOLIB
1217 1218 1219 1220
	help
	  If you have an Atheros AR933X SOC based board and want to use the
	  built-in UART of the SoC, say Y to this option.

1221 1222 1223
	  To compile this driver as a module, choose M here: the
	  module will be called ar933x_uart.

1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238
config SERIAL_AR933X_CONSOLE
	bool "Console on AR933X serial port"
	depends on SERIAL_AR933X=y
	select SERIAL_CORE_CONSOLE
	help
	  Enable a built-in UART port of the AR933X to be the system console.

config SERIAL_AR933X_NR_UARTS
	int "Maximum number of AR933X serial ports"
	depends on SERIAL_AR933X
	default "2"
	help
	  Set this to the number of serial ports you want the driver
	  to support.

1239 1240 1241 1242
config SERIAL_MPS2_UART_CONSOLE
	bool "MPS2 UART console support"
	depends on SERIAL_MPS2_UART
	select SERIAL_CORE_CONSOLE
1243
	select SERIAL_EARLYCON
1244 1245 1246

config SERIAL_MPS2_UART
	bool "MPS2 UART port"
1247
	depends on ARCH_MPS2 || COMPILE_TEST
1248 1249 1250 1251
	select SERIAL_CORE
	help
	  This driver support the UART ports on ARM MPS2.

1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262
config SERIAL_ARC
	tristate "ARC UART driver support"
	select SERIAL_CORE
	help
	  Driver for on-chip UART for ARC(Synopsys) for the legacy
	  FPGA Boards (ML50x/ARCAngel4)

config SERIAL_ARC_CONSOLE
	bool "Console on ARC UART"
	depends on SERIAL_ARC=y
	select SERIAL_CORE_CONSOLE
1263
	select SERIAL_EARLYCON
1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275
	help
	  Enable system Console on ARC UART

config SERIAL_ARC_NR_PORTS
	int "Number of ARC UART ports"
	depends on SERIAL_ARC
	range 1 3
	default "1"
	help
	  Set this to the number of serial ports you want the driver
	  to support.

1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299
config SERIAL_RP2
	tristate "Comtrol RocketPort EXPRESS/INFINITY support"
	depends on PCI
	select SERIAL_CORE
	help
	  This driver supports the Comtrol RocketPort EXPRESS and
	  RocketPort INFINITY families of PCI/PCIe multiport serial adapters.
	  These adapters use a "RocketPort 2" ASIC that is not compatible
	  with the original RocketPort driver (CONFIG_ROCKETPORT).

	  To compile this driver as a module, choose M here: the
	  module will be called rp2.

	  If you want to compile this driver into the kernel, say Y here.  If
	  you don't have a suitable RocketPort card installed, say N.

config SERIAL_RP2_NR_UARTS
	int "Maximum number of RocketPort EXPRESS/INFINITY ports"
	depends on SERIAL_RP2
	default "32"
	help
	  If multiple cards are present, the default limit of 32 ports may
	  need to be increased.

1300 1301
config SERIAL_FSL_LPUART
	tristate "Freescale lpuart serial port support"
1302
	depends on HAS_DMA
1303 1304 1305 1306 1307 1308
	select SERIAL_CORE
	help
	  Support for the on-chip lpuart on some Freescale SOCs.

config SERIAL_FSL_LPUART_CONSOLE
	bool "Console on Freescale lpuart serial port"
1309
	depends on SERIAL_FSL_LPUART=y
1310
	select SERIAL_CORE_CONSOLE
1311
	select SERIAL_EARLYCON
1312 1313 1314 1315
	help
	  If you have enabled the lpuart serial port on the Freescale SoCs,
	  you can make it the console by answering Y to this option.

1316
config SERIAL_FSL_LINFLEXUART
1317
	tristate "Freescale LINFlexD UART serial port support"
1318
	depends on PRINTK
1319 1320
	select SERIAL_CORE
	help
1321
	  Support for the on-chip LINFlexD UART on some Freescale SOCs.
1322 1323

config SERIAL_FSL_LINFLEXUART_CONSOLE
1324
	bool "Console on Freescale LINFlexD UART serial port"
1325 1326 1327 1328
	depends on SERIAL_FSL_LINFLEXUART=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
1329
	  If you have enabled the LINFlexD UART serial port on the Freescale
1330 1331
	  SoCs, you can make it the console by answering Y to this option.

1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346
config SERIAL_CONEXANT_DIGICOLOR
	tristate "Conexant Digicolor CX92xxx USART serial port support"
	depends on OF
	select SERIAL_CORE
	help
	  Support for the on-chip USART on Conexant Digicolor SoCs.

config SERIAL_CONEXANT_DIGICOLOR_CONSOLE
	bool "Console on Conexant Digicolor serial port"
	depends on SERIAL_CONEXANT_DIGICOLOR=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the USART serial port on Conexant Digicolor
	  SoCs, you can make it the console by answering Y to this option.

1347 1348 1349
config SERIAL_ST_ASC
	tristate "ST ASC serial port support"
	select SERIAL_CORE
1350
	depends on ARM || COMPILE_TEST
1351
	help
1352
	  This driver is for the on-chip Asynchronous Serial Controller on
1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363
	  STMicroelectronics STi SoCs.
	  ASC is embedded in ST COMMS IP block. It supports Rx & Tx functionality.
	  It support all industry standard baud rates.

	  If unsure, say N.

config SERIAL_ST_ASC_CONSOLE
	bool "Support for console on ST ASC"
	depends on SERIAL_ST_ASC=y
	select SERIAL_CORE_CONSOLE

1364 1365
config SERIAL_MEN_Z135
	tristate "MEN 16z135 Support"
1366
	select SERIAL_CORE
1367 1368 1369 1370 1371 1372 1373 1374
	depends on MCB
	help
	  Say yes here to enable support for the MEN 16z135 High Speed UART IP-Core
	  on a MCB carrier.

	  This driver can also be build as a module. If so, the module will be called
	  men_z135_uart.ko

1375 1376 1377
config SERIAL_SPRD
	tristate "Support for Spreadtrum serial"
	select SERIAL_CORE
1378
	depends on COMMON_CLK
1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392
	help
	  This enables the driver for the Spreadtrum's serial.

config SERIAL_SPRD_CONSOLE
	bool "Spreadtrum UART console support"
	depends on SERIAL_SPRD=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Support for early debug console using Spreadtrum's serial. This enables
	  the console before standard serial driver is probed. This is enabled
	  with "earlycon" on the kernel command line. The console is
	  enabled when early_param is processed.

1393 1394 1395
config SERIAL_STM32
	tristate "STMicroelectronics STM32 serial port support"
	select SERIAL_CORE
1396
	depends on ARCH_STM32 || COMPILE_TEST
1397
	select SERIAL_MCTRL_GPIO if GPIOLIB
1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409
	help
	  This driver is for the on-chip Serial Controller on
	  STMicroelectronics STM32 MCUs.
	  USART supports Rx & Tx functionality.
	  It support all industry standard baud rates.

	  If unsure, say N.

config SERIAL_STM32_CONSOLE
	bool "Support for console on STM32"
	depends on SERIAL_STM32=y
	select SERIAL_CORE_CONSOLE
1410
	select SERIAL_EARLYCON
1411

1412 1413
config SERIAL_MVEBU_UART
	bool "Marvell EBU serial port support"
1414
	depends on ARCH_MVEBU || COMPILE_TEST
1415
	depends on COMMON_CLK
1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435
	select SERIAL_CORE
	help
	  This driver is for Marvell EBU SoC's UART. If you have a machine
	  based on the Armada-3700 SoC and wish to use the on-board serial
	  port,
	  say 'Y' here.
	  Otherwise, say 'N'.

config SERIAL_MVEBU_CONSOLE
	bool "Console on Marvell EBU serial port"
	depends on SERIAL_MVEBU_UART
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	default y
	help
	  Say 'Y' here if you wish to use Armada-3700 UART as the system console.
	  (the system console is the device which receives all kernel messages
	  and warnings and which allows logins in single user mode)
	  Otherwise, say 'N'.

1436
config SERIAL_OWL
1437
	tristate "Actions Semi Owl serial port support"
1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452
	depends on ARCH_ACTIONS || COMPILE_TEST
	select SERIAL_CORE
	help
	  This driver is for Actions Semiconductor S500/S900 SoC's UART.
	  Say 'Y' here if you wish to use the on-board serial port.
	  Otherwise, say 'N'.

config SERIAL_OWL_CONSOLE
	bool "Console on Actions Semi Owl serial port"
	depends on SERIAL_OWL=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	default y
	help
	  Say 'Y' here if you wish to use Actions Semiconductor S500/S900 UART
1453
	  as the system console.
1454

1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473
config SERIAL_RDA
	bool "RDA Micro serial port support"
	depends on ARCH_RDA || COMPILE_TEST
	select SERIAL_CORE
	help
	  This driver is for RDA8810PL SoC's UART.
	  Say 'Y' here if you wish to use the on-board serial port.
	  Otherwise, say 'N'.

config SERIAL_RDA_CONSOLE
	bool "Console on RDA Micro serial port"
	depends on SERIAL_RDA=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	default y
	help
	  Say 'Y' here if you wish to use the RDA8810PL UART as the system
	  console. Only earlycon is implemented currently.

1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499
config SERIAL_MILBEAUT_USIO
	tristate "Milbeaut USIO/UART serial port support"
	depends on ARCH_MILBEAUT || (COMPILE_TEST && OF)
	default ARCH_MILBEAUT
	select SERIAL_CORE
	help
	  This selects the USIO/UART IP found in Socionext Milbeaut SoCs.

config SERIAL_MILBEAUT_USIO_PORTS
	int "Maximum number of CSIO/UART ports (1-8)"
	range 1 8
	depends on SERIAL_MILBEAUT_USIO
	default "4"

config SERIAL_MILBEAUT_USIO_CONSOLE
	bool "Support for console on MILBEAUT USIO/UART serial port"
	depends on SERIAL_MILBEAUT_USIO=y
	default y
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Say 'Y' here if you wish to use a USIO/UART of Socionext Milbeaut
	  SoCs as the system console (the system console is the device which
	  receives all kernel messages and warnings and which allows logins in
	  single user mode).

1500 1501 1502
config SERIAL_LITEUART
	tristate "LiteUART serial port support"
	depends on HAS_IOMEM
1503
	depends on OF
1504
	depends on LITEX || COMPILE_TEST
1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524
	select SERIAL_CORE
	help
	  This driver is for the FPGA-based LiteUART serial controller from LiteX
	  SoC builder.

	  Say 'Y' or 'M' here if you wish to use the LiteUART serial controller.
	  Otherwise, say 'N'.

config SERIAL_LITEUART_MAX_PORTS
	int "Maximum number of LiteUART ports"
	depends on SERIAL_LITEUART
	default "1"
	help
	  Set this to the maximum number of serial ports you want the driver
	  to support.

config SERIAL_LITEUART_CONSOLE
	bool "LiteUART serial port console support"
	depends on SERIAL_LITEUART=y
	select SERIAL_CORE_CONSOLE
1525
	select SERIAL_EARLYCON
1526 1527 1528 1529 1530 1531 1532
	help
	  Say 'Y' or 'M' here if you wish to use the FPGA-based LiteUART serial
	  controller from LiteX SoC builder as the system console
	  (the system console is the device which receives all kernel messages
	  and warnings and which allows logins in single user mode).
	  Otherwise, say 'N'.

1533 1534
config SERIAL_SUNPLUS
	tristate "Sunplus UART support"
1535
	depends on ARCH_SUNPLUS || COMPILE_TEST
1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557
	select SERIAL_CORE
	help
	  Select this option if you would like to use Sunplus serial port on
	  Sunplus SoC SP7021.
	  If you enable this option, Sunplus serial ports in the system will
	  be registered as ttySUPx.
	  This driver can also be built as a module. If so, the module will be
	  called sunplus-uart.

config SERIAL_SUNPLUS_CONSOLE
	bool "Console on Sunplus UART"
	depends on SERIAL_SUNPLUS
	select SERIAL_CORE_CONSOLE
	select SERIAL_EARLYCON
	help
	  Select this option if you would like to use a Sunplus UART as the
	  system console.
	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySUPx".

Linus Torvalds's avatar
Linus Torvalds committed
1558
endmenu
1559

1560 1561
config SERIAL_MCTRL_GPIO
	tristate