SI(4) BSD Programmer's Manual SI(4)NAMEsi - Specialix International SLXOS 8-32 port communications multiplexor
SYNOPSIS
si0 at isa? iomem 0x0d8000 iosiz 65536
DESCRIPTION
The Specialix SLXOS is an 8 to 32 port EIA RS-232C (CCITT V.28) communi-
cations multiplexor for ISA bus machines (the hardware is also available
for EISA and MCA machines, but this driver has not been tested on those
configurations). The driver will support both SI and XIO types of con-
troller (TA and MTA terminal adapters).
The controller uses a memory block within the ISA bus "hole" between
0xa0000 and 0xfffff. The controller memory address can be set outside
this range, but the driver does not currently support this. Irqs 11, 12
or 15 can be used, either specified via the config description or select-
ed during autoconfiguration. The controller is soft configured to the ap-
propriate interrupt.
The si driver is not fully initialized at kernel bootstrap time as
firmware code must first be downloaded to the the controller. This is
performed by siconfig(8), normally invoked from /etc/rc.
Each port may be independently set to any speed between 75 and 57600 baud
(115200 on XIO). As B38400 is the highest available termios(4) se-
lectable speed, B50 is mapped to 57600 (and B110 is mapped to 115200 on
XIO).
An open on the si driver will block until carrier is present, unless
O_NONBLOCK or CLOCAL is set. Alternatively, a soft carrier state can be
set for each port via the siconfig(8) utility - this has the effect of
simulating the presence of DCD.
Up to two SLXOS boards may be present in the system at one time. The
least significant five bits (bits 1-5) of the minor device number select
the port within a controller card, the next bit (bit 6) selects the con-
troller. Bit 8 is used to select a controlling device for use by sicon-
fig(8) (/dev/si_control is minor device 128).
Bit 7 is reserved for selection of the printer port found on many asyn-
chronous terminals - this is referred to as the XPRINT interface. Two de-
vice nodes are used to reference the same physical line: for example
/dev/ttya0 (minor = 0) and /dev/ttya0_xp (minor = 64). When the appro-
priate printer port enable and disable strings are set via siconfig(8),
data sent to /dev/ttya0_xp will appear on the terminal's printer port.
DIAGNOSTICS
SLXOS si%d: iomem (%x) out of range
Invalid base memory address specification in kernel config file.
SLXOS si%d: %s not supported
Unsupported controller type detected.
SLXOS si%d: download beyond ram at offset 0x%x
Attempt to load firmware outside the controller RAM range - usually
caused by a corrupt download file.
SLXOS si%d: startup timeout - aborting
The controller failed to initialize after 5 seconds.
SLXOS si%d: %s - no ports found
No terminal ports found on the controller
SLXOS si%d: Z280 version error - initstat %x
An unexpected status was returned from the controller CPU.
SLXOS si%d: extra ports ignored
More ports were reported by the controller than are configured into
the driver. This error should not happen!
SLXOS si%d: unknown module type %d
An unknown terminal adapter type was reported by the controller.
SLXOS si%d: fail to malloc memory for port structs
This should never happen!
SLXOS si%d: %d ports
Report of number of terminal adapter ports found.
SLXOS si%d: Warning interrupt handler re-entered
This should never happen!
SLXOS [sx]i%d(%d): <debugging message>
A vast range of driver debugging can be enabled via siconfig(8).
FILES
/dev/si_control driver control interface - used by siconfig(8)
/dev/tty[ab]* ports
/dev/tty[ab]*_xp
XPRINT ports
SEE ALSOtermios(4), tty(4), siconfig(8).
BSDI BSD/OS January 31, 1994 2