MAGMA(4)             NetBSD/sparc Kernel Interfaces Manual            MAGMA(4)

NAME
     magma -- Magma Sp Serial/Parallel board device driver

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

DESCRIPTION
     The magma 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
           |   |   |   |
           |   |   |   +-------------------> 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 avail-
     able and a 12 byte FIFO on the chip in each direction so errors should be
     minimal.

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

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 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.

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

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

AUTHORS
     The driver was written by Iain Hibbert.

TO DO
     CD1190 parallel support.

     "bpp" input.

     Dial-out (cua) devices are not yet supported.

     "mdmbuf" is unsupported (see tty(4) and termios(4)).

     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.

NetBSD 5.0_STABLE               April 21, 1998               NetBSD 5.0_STABLE
