magma - Magma Sp Serial/Parallel board device driver
magma? at sbus? slot ? offset ?
mtty? at magma?
mbpp? at magma?
This driver provides an interface to Magma LC2+1Sp, 2+1Sp,
4+1Sp, 8+2Sp,
4Sp, 8Sp, 12Sp, 16Sp, 1P, 2P, and 2+1HS boards. These
boards are based
around the Cirrus Logic CD1400 serial/parallel communications engine and
the Cirrus Logic CD1190 parallel communications engine.
The device minor numbers for this driver are encoded as follows:
+---+---+---+---+---+---+---+---+
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---+---+---+---+---+---+---+---+
| | | | | | | |
| | | | +---+---+---+---> port number
| | | |
| | | +-------------------> dial-out (on tty
ports)
| | |
| | +-----------------------> unused
| |
+---+---------------------------> card number
Up to four cards are supported in the system.
All tty ports have full automatic hardware (RTS/CTS) flow
control available
and a 12 byte FIFO on the chip in each direction so errors should be
minimal.
/dev/tty[mno][0-f] Serial ports
/dev/bpp[mno][0-1] Parallel ports
mtty%d%x: ring buffer overflow Incoming characters have
been discarded
due to a buffer overflow. This is caused by the process in
control of
the device not reading characters fast enough. If need be
you can make
the ring buffer bigger by changing the MAGMA_RBUF_SIZE #define to something
bigger, but it should be a multiple of two.
mtty%d%x: fifo overflow Incoming characters have been discarded due to a
CD1400 channel overrun. This is caused by interrupts not
being serviced
sufficiently quickly to prevent the 12 byte receive FIFO on
a serial
channel from overflowing. Reducing the value of either the
MTTY_RX_FIFO_THRESHOLD or MTTY_RX_DTR_THRESHOLD #define's to
something
smaller may help slow machines avoid this problem.
intro(4), sbus(4), tty(4)
The driver was loosely based upon the cy(4) Cyclades Cyclom
device driver
written by Andrew Herbert and Timo Rossi.
The driver was written by Iain Hibbert <[email protected]-
mon.co.uk>
CD1190 parallel support.
bpp input.
Dial-out (cua) devices are not yet supported.
mdmbuf is unsupported.
Automatic XON/XOFF handshaking could be implemented fairly
easily.
It would be good if the tty port waited for the FIFO to empty before allowing
a close, so that I could turn off the channel interrupts at that
time. It can be done.
OpenBSD 3.6 January 12, 2002
[ Back ] |