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