MAGMA(4)              OpenBSD Programmer's Manual (SPARC)             MAGMA(4)

NAME
     magma - Magma Sp Serial/Parallel board device driver

SYNOPSIS
     magma? at sbus? slot ? offset ?
     mtty? at magma?
     mbpp? at magma?

DESCRIPTION
     This driver provides an interface to Magma LC2+1Sp, 2+1Sp, 4+1Sp, 8+2Sp,
     4Sp, 8Sp, 12Sp, 16Sp, 1P and 2P 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
           |   |   |   |
           |   |   |   +-------------------> dialout (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 avail-
     able and a 12 byte FIFO on the chip in each direction so errors should be
     minimal.

DIAGNOSTICS
     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 some-
     thing 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_FI-
     FO_THRESHOLD or MTTY_RX_DTR_THRESHOLD #define's to something smaller may
     help slow machines avoid this problem.

FILES
     /dev/tty[0-3][0-a]  Serial ports
     /dev/bpp[0-3][0-1]  Parallel ports

SEE ALSO
     read(2), termios(4), tty(4)

AUTHORS
     The driver was written by Iain Hibbert <plunky@skate.demon.co.uk>

HISTORY
     The driver was loosely based upon the cy(4) Cyclades Cyclom device driver
     written by Andrew Herbert and Timo Rossi.

TODO
     CD1190 parallel support

     bpp input

     Dialout (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 al-
     lowing a close, so that I could turn off the channel interrupts at that
     time.  It can be done.

OpenBSD 3.0                     April 21, 1998                               2
