mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
547 lines
19 KiB
547 lines
19 KiB
# SPDX-License-Identifier: GPL-2.0 |
|
# |
|
# The 8250/16550 serial drivers. You shouldn't be in this list unless |
|
# you somehow have an implicit or explicit dependency on SERIAL_8250. |
|
# |
|
|
|
config SERIAL_8250 |
|
tristate "8250/16550 and compatible serial support" |
|
depends on !S390 |
|
select SERIAL_CORE |
|
select SERIAL_MCTRL_GPIO if GPIOLIB |
|
help |
|
This selects whether you want to include the driver for the standard |
|
serial ports. The standard answer is Y. People who might say N |
|
here are those that are setting up dedicated Ethernet WWW/FTP |
|
servers, or users that have one of the various bus mice instead of a |
|
serial mouse and don't intend to use their machine's standard serial |
|
port for anything. |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called 8250. |
|
[WARNING: Do not compile this driver as a module if you are using |
|
non-standard serial ports, since the configuration information will |
|
be lost when the driver is unloaded. This limitation may be lifted |
|
in the future.] |
|
|
|
BTW1: If you have a mouseman serial mouse which is not recognized by |
|
the X window system, try running gpm first. |
|
|
|
BTW2: If you intend to use a software modem (also called Winmodem) |
|
under Linux, forget it. These modems are crippled and require |
|
proprietary drivers which are only available under Windows. |
|
|
|
Most people will say Y or M here, so that they can use serial mice, |
|
modems and similar devices connecting to the standard serial ports. |
|
|
|
config SERIAL_8250_DEPRECATED_OPTIONS |
|
bool "Support 8250_core.* kernel options (DEPRECATED)" |
|
depends on SERIAL_8250 |
|
default y |
|
help |
|
In 3.7 we renamed 8250 to 8250_core by mistake, so now we have to |
|
accept kernel parameters in both forms like 8250_core.nr_uarts=4 and |
|
8250.nr_uarts=4. We now renamed the module back to 8250, but if |
|
anybody noticed in 3.7 and changed their userspace we still have to |
|
keep the 8250_core.* options around until they revert the changes |
|
they already did. |
|
|
|
If 8250 is built as a module, this adds 8250_core alias instead. |
|
|
|
If you did not notice yet and/or you have userspace from pre-3.7, it |
|
is safe (and recommended) to say N here. |
|
|
|
config SERIAL_8250_PNP |
|
bool "8250/16550 PNP device support" if EXPERT |
|
depends on SERIAL_8250 && PNP |
|
default y |
|
help |
|
This builds standard PNP serial support. You may be able to |
|
disable this feature if you only need legacy serial support. |
|
|
|
config SERIAL_8250_16550A_VARIANTS |
|
bool "Support for variants of the 16550A serial port" |
|
depends on SERIAL_8250 |
|
default !X86 |
|
help |
|
The 8250 driver can probe for many variants of the venerable 16550A |
|
serial port. Doing so takes additional time at boot. |
|
|
|
On modern systems, especially those using serial only for a simple |
|
console, you can say N here. |
|
|
|
config SERIAL_8250_FINTEK |
|
bool "Support for Fintek F81216A LPC to 4 UART RS485 API" |
|
depends on SERIAL_8250 |
|
help |
|
Selecting this option will add support for the RS485 capabilities |
|
of the Fintek F81216A LPC to 4 UART. |
|
|
|
If this option is not selected the device will be configured as a |
|
standard 16550A serial port. |
|
|
|
If unsure, say N. |
|
|
|
config SERIAL_8250_CONSOLE |
|
bool "Console on 8250/16550 and compatible serial port" |
|
depends on SERIAL_8250=y |
|
select SERIAL_CORE_CONSOLE |
|
select SERIAL_EARLYCON |
|
help |
|
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). This could be useful if some terminal or printer is connected |
|
to that serial port. |
|
|
|
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=ttyS1". (Try "man bootparam" or see the documentation of |
|
your boot loader (grub or lilo or loadlin) about how to pass options |
|
to the kernel at boot time.) |
|
|
|
If you don't have a VGA card installed and you say Y here, the |
|
kernel will automatically use the first serial line, /dev/ttyS0, as |
|
system console. |
|
|
|
You can set that using a kernel command line option such as |
|
"console=uart8250,io,0x3f8,9600n8" |
|
"console=uart8250,mmio,0xff5e0000,115200n8". |
|
and it will switch to normal serial console when the corresponding |
|
port is ready. |
|
"earlycon=uart8250,io,0x3f8,9600n8" |
|
"earlycon=uart8250,mmio,0xff5e0000,115200n8". |
|
it will not only setup early console. |
|
|
|
If unsure, say N. |
|
|
|
config SERIAL_8250_GSC |
|
tristate |
|
depends on SERIAL_8250 && GSC |
|
default SERIAL_8250 |
|
|
|
config SERIAL_8250_DMA |
|
bool "DMA support for 16550 compatible UART controllers" if EXPERT |
|
depends on SERIAL_8250 && DMADEVICES=y |
|
default SERIAL_8250 |
|
help |
|
This builds DMA support that can be used with 8250/16650 |
|
compatible UART controllers that support DMA signaling. |
|
|
|
config SERIAL_8250_PCI |
|
tristate "8250/16550 PCI device support" |
|
depends on SERIAL_8250 && PCI |
|
default SERIAL_8250 |
|
help |
|
This builds standard PCI serial support. You may be able to |
|
disable this feature if you only need legacy serial support. |
|
Saves about 9K. |
|
Note that serial ports on NetMos 9835 Multi-I/O cards are handled |
|
by the parport_serial driver, enabled with CONFIG_PARPORT_SERIAL. |
|
|
|
config SERIAL_8250_EXAR |
|
tristate "8250/16550 Exar/Commtech PCI/PCIe device support" |
|
depends on SERIAL_8250_PCI |
|
default SERIAL_8250 |
|
help |
|
This builds support for XR17C1xx, XR17V3xx and some Commtech |
|
422x PCIe serial cards that are not covered by the more generic |
|
SERIAL_8250_PCI option. |
|
|
|
config SERIAL_8250_HP300 |
|
tristate |
|
depends on SERIAL_8250 && HP300 |
|
default SERIAL_8250 |
|
|
|
config SERIAL_8250_CS |
|
tristate "8250/16550 PCMCIA device support" |
|
depends on PCMCIA && SERIAL_8250 |
|
help |
|
Say Y here to enable support for 16-bit PCMCIA serial devices, |
|
including serial port cards, modems, and the modem functions of |
|
multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are |
|
credit-card size devices often used with laptops.) |
|
|
|
To compile this driver as a module, choose M here: the |
|
module will be called serial_cs. |
|
|
|
If unsure, say N. |
|
|
|
config SERIAL_8250_MEN_MCB |
|
tristate "MEN MCB UART device support" |
|
depends on MCB && SERIAL_8250 |
|
help |
|
This enables support for FPGA based UARTs found on many MEN |
|
boards. This driver enables support for the 16z025, 16z057 |
|
and 16z125 UARTs. |
|
|
|
To compile this driver as a module, chose M here: the |
|
module will be called 8250_men_mcb. |
|
|
|
|
|
config SERIAL_8250_NR_UARTS |
|
int "Maximum number of 8250/16550 serial ports" |
|
depends on SERIAL_8250 |
|
default "4" |
|
help |
|
Set this to the number of serial ports you want the driver |
|
to support. This includes any ports discovered via ACPI or |
|
PCI enumeration and any ports that may be added at run-time |
|
via hot-plug, or any ISA multi-port serial cards. |
|
|
|
config SERIAL_8250_RUNTIME_UARTS |
|
int "Number of 8250/16550 serial ports to register at runtime" |
|
depends on SERIAL_8250 |
|
range 0 SERIAL_8250_NR_UARTS |
|
default "4" |
|
help |
|
Set this to the maximum number of serial ports you want |
|
the kernel to register at boot time. This can be overridden |
|
with the module parameter "nr_uarts", or boot-time parameter |
|
8250.nr_uarts |
|
|
|
config SERIAL_8250_EXTENDED |
|
bool "Extended 8250/16550 serial driver options" |
|
depends on SERIAL_8250 |
|
help |
|
If you wish to use any non-standard features of the standard "dumb" |
|
driver, say Y here. This includes HUB6 support, shared serial |
|
interrupts, special multiport support, support for more than the |
|
four COM 1/2/3/4 boards, etc. |
|
|
|
Note that the answer to this question won't directly affect the |
|
kernel: saying N will just cause the configurator to skip all |
|
the questions about serial driver options. If unsure, say N. |
|
|
|
config SERIAL_8250_MANY_PORTS |
|
bool "Support more than 4 legacy serial ports" |
|
depends on SERIAL_8250_EXTENDED && !IA64 |
|
help |
|
Say Y here if you have dumb serial boards other than the four |
|
standard COM 1/2/3/4 ports. This may happen if you have an AST |
|
FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available |
|
from <https://www.tldp.org/docs.html#howto>), or other custom |
|
serial port hardware which acts similar to standard serial port |
|
hardware. If you only use the standard COM 1/2/3/4 ports, you can |
|
say N here to save some memory. You can also say Y if you have an |
|
"intelligent" multiport card such as Digiboards, etc. |
|
|
|
# |
|
# Multi-port serial cards |
|
# |
|
|
|
config SERIAL_8250_FOURPORT |
|
tristate "Support Fourport cards" |
|
depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
|
help |
|
Say Y here if you have an AST FourPort serial board. |
|
|
|
To compile this driver as a module, choose M here: the module |
|
will be called 8250_fourport. |
|
|
|
config SERIAL_8250_ACCENT |
|
tristate "Support Accent cards" |
|
depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
|
help |
|
Say Y here if you have an Accent Async serial board. |
|
|
|
To compile this driver as a module, choose M here: the module |
|
will be called 8250_accent. |
|
|
|
config SERIAL_8250_ASPEED_VUART |
|
tristate "Aspeed Virtual UART" |
|
depends on SERIAL_8250 |
|
depends on OF |
|
depends on REGMAP && MFD_SYSCON |
|
help |
|
If you want to use the virtual UART (VUART) device on Aspeed |
|
BMC platforms, enable this option. This enables the 16550A- |
|
compatible device on the local LPC bus, giving a UART device |
|
with no physical RS232 connections. |
|
|
|
config SERIAL_8250_BOCA |
|
tristate "Support Boca cards" |
|
depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
|
help |
|
Say Y here if you have a Boca serial board. Please read the Boca |
|
mini-HOWTO, available from <https://www.tldp.org/docs.html#howto> |
|
|
|
To compile this driver as a module, choose M here: the module |
|
will be called 8250_boca. |
|
|
|
config SERIAL_8250_EXAR_ST16C554 |
|
tristate "Support Exar ST16C554/554D Quad UART" |
|
depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
|
help |
|
The Uplogix Envoy TU301 uses this Exar Quad UART. If you are |
|
tinkering with your Envoy TU301, or have a machine with this UART, |
|
say Y here. |
|
|
|
To compile this driver as a module, choose M here: the module |
|
will be called 8250_exar_st16c554. |
|
|
|
config SERIAL_8250_HUB6 |
|
tristate "Support Hub6 cards" |
|
depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS |
|
help |
|
Say Y here if you have a HUB6 serial board. |
|
|
|
To compile this driver as a module, choose M here: the module |
|
will be called 8250_hub6. |
|
|
|
# |
|
# Misc. options/drivers. |
|
# |
|
|
|
config SERIAL_8250_SHARE_IRQ |
|
bool "Support for sharing serial interrupts" |
|
depends on SERIAL_8250_EXTENDED |
|
help |
|
Some serial boards have hardware support which allows multiple dumb |
|
serial ports on the same board to share a single IRQ. To enable |
|
support for this in the serial driver, say Y here. |
|
|
|
config SERIAL_8250_DETECT_IRQ |
|
bool "Autodetect IRQ on standard ports (unsafe)" |
|
depends on SERIAL_8250_EXTENDED |
|
help |
|
Say Y here if you want the kernel to try to guess which IRQ |
|
to use for your serial port. |
|
|
|
This is considered unsafe; it is far better to configure the IRQ in |
|
a boot script using the setserial command. |
|
|
|
If unsure, say N. |
|
|
|
config SERIAL_8250_RSA |
|
bool "Support RSA serial ports" |
|
depends on SERIAL_8250_EXTENDED |
|
help |
|
Say Y here if you have a IODATA RSA-DV II/S ISA card and |
|
would like to use its >115kbps speeds. |
|
You will need to provide module parameter "probe_rsa", or boot-time |
|
parameter 8250.probe_rsa with I/O addresses of this card then. |
|
|
|
If you don't have such card, or if unsure, say N. |
|
|
|
config SERIAL_8250_DWLIB |
|
bool |
|
|
|
config SERIAL_8250_ACORN |
|
tristate "Acorn expansion card serial port support" |
|
depends on ARCH_ACORN && SERIAL_8250 |
|
help |
|
If you have an Atomwide Serial card or Serial Port card for an Acorn |
|
system, say Y to this option. The driver can handle 1, 2, or 3 port |
|
cards. If unsure, say N. |
|
|
|
config SERIAL_8250_BCM2835AUX |
|
tristate "BCM2835 auxiliar mini UART support" |
|
depends on ARCH_BCM2835 || COMPILE_TEST |
|
depends on SERIAL_8250 && SERIAL_8250_SHARE_IRQ |
|
help |
|
Support for the BCM2835 auxiliar mini UART. |
|
|
|
Features and limitations of the UART are |
|
Registers are similar to 16650 registers, |
|
set bits in the control registers that are unsupported |
|
are ignored and read back as 0 |
|
7/8 bit operation with 1 start and 1 stop bit |
|
8 symbols deep fifo for rx and tx |
|
SW controlled RTS and SW readable CTS |
|
Clock rate derived from system clock |
|
Uses 8 times oversampling (compared to 16 times for 16650) |
|
Missing break detection (but break generation) |
|
Missing framing error detection |
|
Missing parity bit |
|
Missing receive time-out interrupt |
|
Missing DCD, DSR, DTR and RI signals |
|
|
|
If unsure, say N. |
|
|
|
config SERIAL_8250_FSL |
|
bool "Freescale 16550 UART support" if COMPILE_TEST && !(PPC || ARM || ARM64) |
|
depends on SERIAL_8250_CONSOLE |
|
default PPC || ARM || ARM64 |
|
help |
|
Selecting this option enables a workaround for a break-detection |
|
erratum for Freescale 16550 UARTs in the 8250 driver. It also |
|
enables support for ACPI enumeration. |
|
|
|
config SERIAL_8250_DW |
|
tristate "Support for Synopsys DesignWare 8250 quirks" |
|
depends on SERIAL_8250 |
|
select SERIAL_8250_DWLIB |
|
help |
|
Selecting this option will enable handling of the extra features |
|
present in the Synopsys DesignWare APB UART. |
|
|
|
config SERIAL_8250_EM |
|
tristate "Support for Emma Mobile integrated serial port" |
|
depends on SERIAL_8250 && HAVE_CLK |
|
depends on (ARM && ARCH_RENESAS) || COMPILE_TEST |
|
help |
|
Selecting this option will add support for the integrated serial |
|
port hardware found on the Emma Mobile line of processors. |
|
If unsure, say N. |
|
|
|
config SERIAL_8250_IOC3 |
|
tristate "SGI IOC3 8250 UART support" |
|
depends on SERIAL_8250 |
|
depends on SGI_MFD_IOC3 || COMPILE_TEST |
|
select SERIAL_8250_EXTENDED |
|
select SERIAL_8250_SHARE_IRQ |
|
help |
|
Enable this if you have a SGI Origin or Octane machine. This module |
|
provides basic serial support by directly driving the UART chip |
|
behind the IOC3 device on those systems. Maximum baud speed is |
|
38400bps using this driver. |
|
|
|
config SERIAL_8250_RT288X |
|
bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" |
|
depends on SERIAL_8250 |
|
default y if MIPS_ALCHEMY || SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620 |
|
help |
|
Selecting this option will add support for the alternate register |
|
layout used by Ralink RT288x/RT305x, Alchemy Au1xxx, and some others. |
|
If unsure, say N. |
|
|
|
config SERIAL_8250_OMAP |
|
tristate "Support for OMAP internal UART (8250 based driver)" |
|
depends on SERIAL_8250 |
|
depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST |
|
help |
|
If you have a machine based on an Texas Instruments OMAP CPU you |
|
can enable its onboard serial ports by enabling this option. |
|
|
|
This driver uses ttyS instead of ttyO. |
|
|
|
config SERIAL_8250_OMAP_TTYO_FIXUP |
|
bool "Replace ttyO with ttyS" |
|
depends on SERIAL_8250_OMAP=y && SERIAL_8250_CONSOLE |
|
default y |
|
help |
|
This option replaces the "console=ttyO" argument with the matching |
|
ttyS argument if the user did not specified it on the command line. |
|
This ensures that the user can see the kernel output during boot |
|
which he wouldn't see otherwise. The getty has still to be configured |
|
for ttyS instead of ttyO regardless of this option. |
|
This option is intended for people who "automatically" enable this |
|
driver without knowing that this driver requires a different console= |
|
argument. If you read this, please keep this option disabled and |
|
instead update your kernel command line. If you prepare a kernel for a |
|
distribution or other kind of larger user base then you probably want |
|
to keep this option enabled. Otherwise people might complain about a |
|
not booting kernel because the serial console remains silent in case |
|
they forgot to update the command line. |
|
|
|
config SERIAL_8250_LPC18XX |
|
tristate "NXP LPC18xx/43xx serial port support" |
|
depends on SERIAL_8250 && OF && (ARCH_LPC18XX || COMPILE_TEST) |
|
default ARCH_LPC18XX |
|
help |
|
If you have a LPC18xx/43xx based board and want to use the |
|
serial port, say Y to this option. If unsure, say Y. |
|
|
|
config SERIAL_8250_MT6577 |
|
tristate "Mediatek serial port support" |
|
depends on SERIAL_8250 |
|
depends on ARCH_MEDIATEK || COMPILE_TEST |
|
help |
|
If you have a Mediatek based board and want to use the |
|
serial port, say Y to this option. If unsure, say N. |
|
|
|
config SERIAL_8250_UNIPHIER |
|
tristate "Support for UniPhier on-chip UART" |
|
depends on SERIAL_8250 |
|
depends on ARCH_UNIPHIER || COMPILE_TEST |
|
help |
|
If you have a UniPhier based board and want to use the on-chip |
|
serial ports, say Y to this option. If unsure, say N. |
|
|
|
config SERIAL_8250_INGENIC |
|
tristate "Support for Ingenic SoC serial ports" |
|
depends on SERIAL_8250 |
|
depends on OF_FLATTREE |
|
depends on MIPS || COMPILE_TEST |
|
help |
|
If you have a system using an Ingenic SoC and wish to make use of |
|
its UARTs, say Y to this option. If unsure, say N. |
|
|
|
config SERIAL_8250_LPSS |
|
tristate "Support for serial ports on Intel LPSS platforms" |
|
default SERIAL_8250 |
|
depends on SERIAL_8250 && PCI |
|
depends on X86 || COMPILE_TEST |
|
select SERIAL_8250_DWLIB |
|
select DW_DMAC_CORE if SERIAL_8250_DMA |
|
select DW_DMAC_PCI if (SERIAL_8250_DMA && X86_INTEL_LPSS) |
|
select RATIONAL |
|
help |
|
Selecting this option will enable handling of the UART found on |
|
various Intel platforms such as: |
|
- Intel Baytrail SoC |
|
- Intel Braswell SoC |
|
- Intel Quark X1000 SoC |
|
that are not covered by the more generic SERIAL_8250_PCI option. |
|
|
|
config SERIAL_8250_MID |
|
tristate "Support for serial ports on Intel MID platforms" |
|
default SERIAL_8250 |
|
depends on SERIAL_8250 && PCI |
|
depends on X86 || COMPILE_TEST |
|
select HSU_DMA if SERIAL_8250_DMA |
|
select HSU_DMA_PCI if (HSU_DMA && X86_INTEL_MID) |
|
select RATIONAL |
|
help |
|
Selecting this option will enable handling of the UART found on |
|
Intel Medfield SOC and various other Intel platforms that is not |
|
covered by the more generic SERIAL_8250_PCI option. |
|
|
|
config SERIAL_8250_PERICOM |
|
tristate "Support for Pericom and Acces I/O serial ports" |
|
default SERIAL_8250 |
|
depends on SERIAL_8250 && PCI |
|
help |
|
Selecting this option will enable handling of the Pericom and Acces |
|
I/O UARTs that are not covered by the more generic SERIAL_8250_PCI |
|
option. |
|
|
|
config SERIAL_8250_PXA |
|
tristate "PXA serial port support" |
|
depends on SERIAL_8250 |
|
depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST |
|
help |
|
If you have a machine based on an Intel XScale PXA2xx CPU you can |
|
enable its onboard serial ports by enabling this option. The option is |
|
applicable to both devicetree and legacy boards, and early console is |
|
part of its support. |
|
|
|
config SERIAL_8250_TEGRA |
|
tristate "8250 support for Tegra serial ports" |
|
default SERIAL_8250 |
|
depends on SERIAL_8250 |
|
depends on ARCH_TEGRA || COMPILE_TEST |
|
help |
|
Select this option if you have machine with an NVIDIA Tegra SoC and |
|
wish to enable 8250 serial driver for the Tegra serial interfaces. |
|
|
|
config SERIAL_8250_BCM7271 |
|
tristate "Broadcom 8250 based serial port" |
|
depends on SERIAL_8250 && (ARCH_BRCMSTB || COMPILE_TEST) |
|
default ARCH_BRCMSTB |
|
help |
|
If you have a Broadcom STB based board and want to use the |
|
enhanced features of the Broadcom 8250 based serial port, |
|
including DMA support and high accuracy BAUD rates, say |
|
Y to this option. If unsure, say N. |
|
|
|
config SERIAL_OF_PLATFORM |
|
tristate "Devicetree based probing for 8250 ports" |
|
depends on SERIAL_8250 && OF |
|
help |
|
This option is used for all 8250 compatible serial ports that |
|
are probed through devicetree, including Open Firmware based |
|
PowerPC systems and embedded systems on architectures using the |
|
flattened device tree format.
|
|
|