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[0-3][0-a]
/dev/bpp[0-3][0-1]
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.
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.
"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.