serial: rp2: New driver for Comtrol RocketPort 2 cards

This driver supports the 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).

Tested with the RocketPort EXPRESS Octa DB9 and Quad DB9.  Also added an
old RocketPort 8J PCI card to the same system to verify that rocket.c and
rp2.c coexist peacefully.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Kevin Cernekee
2013-01-16 20:28:40 -08:00
committed by Greg Kroah-Hartman
parent b9d42395a0
commit 7d9f49afa4
4 changed files with 913 additions and 0 deletions

View File

@@ -1458,4 +1458,28 @@ config SERIAL_ARC_NR_PORTS
Set this to the number of serial ports you want the driver
to support.
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.
endmenu

View File

@@ -84,3 +84,4 @@ obj-$(CONFIG_SERIAL_TEGRA) += serial-tegra.o
obj-$(CONFIG_SERIAL_AR933X) += ar933x_uart.o
obj-$(CONFIG_SERIAL_EFM32_UART) += efm32-uart.o
obj-$(CONFIG_SERIAL_ARC) += arc_uart.o
obj-$(CONFIG_SERIAL_RP2) += rp2.o

885
drivers/tty/serial/rp2.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -219,4 +219,7 @@
/* ARC (Synopsys) on-chip UART */
#define PORT_ARC 101
/* Rocketport EXPRESS/INFINITY */
#define PORT_RP2 102
#endif /* _UAPILINUX_SERIAL_CORE_H */