RP(4) BSD Programmer's Manual RP(4)NAMErp - driver for Comtrol Rocketport Intelligent Serial Port Cards
SYNOPSIS
rp0 at isa? port 0x180
rp0 at pci?
DESCRIPTION
This driver provides a kernel device driver for the RocketPort and Rock-
etPort RA serial boards. These boards provide 8, 16, or 32 high-speed se-
rial ports while requiring only 68 bytes of I/O space for all 8, 16, or
32 ports, and do not require an interrupt channel. This driver supports
up to four RocketPort or RocketPort RA boards in one machine simultane-
ously. If you are using four 32 port RocketPort boards, you can put as
many as 128 intelligent serial ports on your system.
The rp driver support the following speeds: 50, 75, 110, 134, 150, 200,
300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 7200, 14400, 57600,
76800, 115200, 230400. (You must use termios(4), rather than the old
style ioctl interface to use non-traditional speeds.)
An open on the rp driver will block until carrier is present, unless
O_NONBLOCK or CLOCAL is set.
HARDWARE CONFIGURATION
The first RocketPort or Rocketport RA card requires a 68-byte contiguous
block of I/O addresses, starting at one of the following: 0x100h, 0x140h,
0x180h, 0x200h, 0x240h, 0x280h, 0x300h, 0x340h, 0x380h. The second,
third, and fourth RocketPort cards require only a 64-byte contiguous
block of I/O addresses, starting at one of the above address ranges. The
I/O address range used by any of the RocketPort cards must not conflict
with any other cards in the system, including other RocketPort cards.
The starting range of the I/O ports used by each card must match with the
I/O address specified in the kernel configuration file.
Since the first RocketPort uses 68 I/O addresses, if the first card is
set to use an I/O block starting at 0x100, it will occupy the I/O ports
between 0x100 and 0x143. This means that the second, third, or fourth
Rocketport Board may not use the block of addresses starting at 0x140,
since the first three I/O addresses of that range are used by the first
board. This is an important point to keep in mind.
The configuration of the Rocketport cards is via a set of 8 DIP switches,
labeled SW1 on the Rocketport card:
+-------------------------------+
| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
+-------+-------+---------------+
| Unused| Card | I/O Port Block|
+-------------------------------+
Dip switches 7 and 8 are unused, and must be left on.
Dip switches 6 and 5 identify the card number of each Rocketport card.
The first card installed in the system must have its DIP switches set as
card number one; the second card installed in the system must have its
DIP switches set as card number two; and so on. As shipped from the fac-
tory, dip switches 6 and 5 are both on by default, indicating that it is
first card installed on the system:
DIP Switches
6 5
===================
On On First Card
On Off Second Card
Off On Third Card
Off Off Fourth Card
Dip switches 4, 3, 2, and 1 indicate the I/O address range used by the
first Rocketport card. If there are more than one Rocketport card in-
stalled in a system, the second, third and fourth Rocketport cards must
also be set to the I/O address range used by the first Rocketport card;
all cards must have these dip switches set identically for proper opera-
tion. As shipped from the factory, dip switch 4 is on, and switches 3,
2, and 1 are off by default, indicating an I/O address range used by the
first card which starts at 0x180 and extends to 0x1C3.
DIP Switches I/O Address Range
4 3 2 1 Used by the First Card
=====================================
On Off On Off 100-143
On Off Off On 140-183
On Off Off Off 180-1C3
Off On On Off 200-243
Off On Off On 240-283
Off On Off Off 280-2C3
Off Off On Off 300-343
Off Off Off On 340-383
Off Off Off Off 380-3C3
KERNEL CONFIGURATION
In order to use the Rocketport driver, it is necessary to add the rp de-
vice to the kernel configuration file. A separate line must be added for
each Rocketport card installed in the system. For example, the kernel
configuration line for a single Rocketport card installed at the default
I/O address range is:
# Comtrol Rocketport
rp0 at isa? port 0x180
If instead there are two Rocketport cards, with the first installed to
use I/O addresses 0x100-0x143, and the second installed to use I/O ad-
dresses 0x280-0x2C0, then the kernel configuration lines would be:
# Comtrol Rocketport
rp0 at isa? port 0x100
rp1 at isa? port 0x280
FILES
/dev/ttyR[RSTU][0-31]
AUTHOR
Theodore Ts'o (tytso@mit.edu)
This driver was written under contract for Comtrol Corporation. For
dealer, distributor and other information regarding Comtrol RocketPort,
contact Comtrol Corporation at (800) 926-6876 or send email to in-
fo@comtrol.com. To report bugs for this driver, please send email to
bug-bsdi-rocketport@comtrol.com.
BUGS
If incoming software flow control is enabled on a 486 or Pentium machine,
and the flow control is very heavily exercised, on rare occasions a char-
acter will get dropped. This problem does not occur on a 386, and it is
not currently known whether the bug is in the Rocketport driver or in the
BSDI tty layer.
4th Berkeley Distribution November 15, 1995 2