forked from Minki/linux
c216c4ad59
Add support for : - CP-102E: 2 ports RS232 PCIE card - CP-102EL: 2 ports RS232 PCIE card - CP-132EL: 2 ports RS422/485 PCIE card - CP-114EL: 4 ports RS232/422/485 PCIE card - CP-104EL-A: 4 ports RS232 PCIE card - CP-168EL-A: 8 ports RS232 PCIE card - CP-118EL-A: 8 ports RS232/422/485 PCIE card - CP-118E-A: 8 ports RS422/485 PCIE card - CP-138E-A: 8 ports RS422/485 PCIE card - CP-134EL-A: 4 ports RS422/485 PCIE card - CP-116E-A (A): 8 ports RS232/422/485 PCIE card - CP-116E-A (B): 8 ports RS232/422/485 PCIE card This patch is based on information extracted from vendor mxupcie driver available on MOXA website. I was able to test it on a CP-168EL-A on PC. Signed-off-by: Mathieu OTHACEHE <m.othacehe@gmail.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
425 lines
15 KiB
Plaintext
425 lines
15 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_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
|
|
depends on SERIAL_8250_CONSOLE
|
|
default PPC || ARM || ARM64
|
|
|
|
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
|
|
depends on MIPS || COMPILE_TEST
|
|
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 && 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_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 && 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_UNIPHIER
|
|
tristate "Support for UniPhier on-chip UART"
|
|
depends on SERIAL_8250 && ARCH_UNIPHIER
|
|
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 && SERIAL_8250_CONSOLE) || !SERIAL_EARLYCON
|
|
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_MID
|
|
tristate "Support for serial ports on Intel MID platforms"
|
|
depends on SERIAL_8250 && PCI
|
|
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 extra features
|
|
present on the UART found on Intel Medfield SOC and various other
|
|
Intel platforms.
|
|
|
|
config SERIAL_8250_MOXA
|
|
tristate "MOXA SmartIO MUE support"
|
|
depends on SERIAL_8250 && PCI
|
|
help
|
|
Say Y here if you have a Moxa SmartIO MUE multiport serial card.
|
|
If unsure, say N.
|
|
|
|
This driver can also be built as a module. The module will be called
|
|
8250_moxa. If you want to do that, say M here.
|
|
|
|
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.
|