mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 03:11:46 +00:00
0cf985f487
Introduce a driver suitable for use with the UARTs present in Ingenic SoCs such as the JZ4740 & JZ4780. These are described as being ns16550 compatible but aren't quite - they require the setting of an extra bit in the FCR register to enable the UART module. The serial_out implementation is the same as that in arch/mips/jz4740/serial.c - which will shortly be removed. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jiri Slaby <jslaby@suse.cz> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: linux-serial@vger.kernel.org Cc: linux-mips@linux-mips.org Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Peter Hurley <peter@hurleysoftware.com> Cc: Alan Cox <alan@linux.intel.com> Cc: linux-kernel@vger.kernel.org Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Cc: Tony Lindgren <tony@atomide.com> Cc: John Crispin <blogic@openwrt.org> Patchwork: https://patchwork.linux-mips.org/patch/10159/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
354 lines
13 KiB
Plaintext
354 lines
13 KiB
Plaintext
#
|
|
# 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"
|
|
select SERIAL_CORE
|
|
---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. (Note that the Cyclades multi serial port driver
|
|
does not need this driver built in for it to work.)
|
|
|
|
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_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" if EXPERT
|
|
depends on SERIAL_8250 && PCI
|
|
default SERIAL_8250
|
|
select RATIONAL
|
|
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_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_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 <http://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 Cyclades, 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_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 <http://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
|
|
::: To be written :::
|
|
|
|
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_FSL
|
|
bool
|
|
depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550
|
|
default PPC
|
|
|
|
config SERIAL_8250_DW
|
|
tristate "Support for Synopsys DesignWare 8250 quirks"
|
|
depends on SERIAL_8250
|
|
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 && ARM && HAVE_CLK
|
|
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_RT288X
|
|
bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support"
|
|
depends on SERIAL_8250 && (SOC_RT288X || SOC_RT305X || SOC_RT3883 || SOC_MT7620)
|
|
help
|
|
If you have a Ralink RT288x/RT305x SoC based board and want to use the
|
|
serial port, say Y to this option. The driver can handle up to 2 serial
|
|
ports. If unsure, say N.
|
|
|
|
config SERIAL_8250_OMAP
|
|
tristate "Support for OMAP internal UART (8250 based driver)"
|
|
depends on SERIAL_8250 && ARCH_OMAP2PLUS
|
|
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_FINTEK
|
|
tristate "Support for Fintek F81216A LPC to 4 UART"
|
|
depends on SERIAL_8250 && PNP
|
|
help
|
|
Selecting this option will add support for the Fintek F81216A
|
|
LPC to 4 UART. This device has some RS485 functionality not available
|
|
through the PNP driver. If unsure, say N.
|
|
|
|
config SERIAL_8250_MT6577
|
|
bool "Mediatek serial port support"
|
|
depends on SERIAL_8250 && ARCH_MEDIATEK
|
|
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_INGENIC
|
|
bool "Support for Ingenic SoC serial ports"
|
|
depends on SERIAL_8250_CONSOLE && OF_FLATTREE
|
|
select LIBFDT
|
|
select SERIAL_EARLYCON
|
|
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.
|