1*95e1ffb1Schristos /* $NetBSD: dlreg.h,v 1.6 2005/12/11 12:23:29 christos Exp $ */ 2e9a34e14Sragge /* 3e6f1ac08Sbjh21 * Ben Harris, 1997 4e9a34e14Sragge * 5e6f1ac08Sbjh21 * This file is in the Public Domain. 6e9a34e14Sragge */ 7e9a34e14Sragge /* 8e9a34e14Sragge * dlreg.h -- Definitions for the DL11 and DLV11 serial cards. 9e9a34e14Sragge * 10e9a34e14Sragge * Style in imitation of dzreg.h. 11e9a34e14Sragge */ 12e9a34e14Sragge 13e9a34e14Sragge #ifdef notdef 14e9a34e14Sragge union w_b 15e9a34e14Sragge { 16e9a34e14Sragge u_short word; 17e9a34e14Sragge struct { 18e9a34e14Sragge u_char byte_lo; 19e9a34e14Sragge u_char byte_hi; 20e9a34e14Sragge } bytes; 21e9a34e14Sragge }; 22e9a34e14Sragge 23e9a34e14Sragge struct DLregs 24e9a34e14Sragge { 25e9a34e14Sragge volatile u_short dl_rcsr; /* Receive Control/Status Register (R/W) */ 26e9a34e14Sragge volatile u_short dl_rbuf; /* Receive Buffer (R) */ 27e9a34e14Sragge volatile u_short dl_xcsr; /* Transmit Control/Status Register (R/W) */ 28e9a34e14Sragge volatile union w_b u_xbuf; /* Transmit Buffer (W) */ 29e9a34e14Sragge #define dl_xbuf u_xbuf.bytes.byte_lo 30e9a34e14Sragge }; 31e9a34e14Sragge 32e9a34e14Sragge typedef struct DLregs dlregs; 33e9a34e14Sragge #endif 34e9a34e14Sragge 35e9a34e14Sragge #define DL_UBA_RCSR 0 36e9a34e14Sragge #define DL_UBA_RBUF 2 37e9a34e14Sragge #define DL_UBA_XCSR 4 38e9a34e14Sragge #define DL_UBA_XBUFL 6 39e9a34e14Sragge 40e9a34e14Sragge /* RCSR bits */ 41e9a34e14Sragge 42e9a34e14Sragge #define DL_RCSR_RX_DONE 0x0080 /* Receiver Done (R) */ 43e9a34e14Sragge #define DL_RCSR_RXIE 0x0040 /* Receiver Interrupt Enable (R/W) */ 44e9a34e14Sragge #define DL_RCSR_READER_ENABLE 0x0001 /* [paper-tape] Reader Enable (W) */ 45e9a34e14Sragge #define DL_RCSR_BITS "\20\1READER_ENABLE\7RXIE\10RX_DONE\n" 46e9a34e14Sragge 47e9a34e14Sragge /* RBUF bits */ 48e9a34e14Sragge 49e9a34e14Sragge #define DL_RBUF_ERR 0x8000 /* Error (R) */ 50e9a34e14Sragge #define DL_RBUF_OVERRUN_ERR 0x4000 /* Overrun Error (R) */ 51e9a34e14Sragge #define DL_RBUF_FRAMING_ERR 0x2000 /* Framing Error (R) */ 52e9a34e14Sragge #define DL_RBUF_PARITY_ERR 0x1000 /* Parity Error (R) */ 53e9a34e14Sragge #define DL_RBUF_DATA_MASK 0x00FF /* Receive Data (R) */ 54e9a34e14Sragge #define DL_RBUF_BITS "\20\15PARITY_ERR\16FRAMING_ERR\17OVERRUN_ERR\20ERR\n" 55e9a34e14Sragge 56e9a34e14Sragge /* XCSR bits */ 57e9a34e14Sragge 58e9a34e14Sragge #define DL_XCSR_TX_READY 0x0080 /* Transmitter Ready (R) */ 59e9a34e14Sragge #define DL_XCSR_TXIE 0x0040 /* Transmit Interrupt Enable (R/W) */ 60e9a34e14Sragge #define DL_XCSR_TX_BREAK 0x0001 /* Transmit Break (R/W) */ 61e9a34e14Sragge #define DL_XCSR_BITS "\20\1TX_BREAK\7TXIE\10TX_READY\n" 62e9a34e14Sragge 63e9a34e14Sragge /* XBUF is just data byte right justified. */ 64