Home | History | Annotate | Line # | Download | only in qbus
dhureg.h revision 1.4.2.1
      1  1.4.2.1  thorpej /*	$NetBSD: dhureg.h,v 1.4.2.1 1999/06/21 01:18:49 thorpej Exp $	*/
      2      1.1    ragge /*
      3      1.1    ragge  * Copyright (c) 1996  Ken C. Wellsch.  All rights reserved.
      4      1.1    ragge  *
      5      1.1    ragge  * Redistribution and use in source and binary forms, with or without
      6      1.1    ragge  * modification, are permitted provided that the following conditions
      7      1.1    ragge  * are met:
      8      1.1    ragge  * 1. Redistributions of source code must retain the above copyright
      9      1.1    ragge  *    notice, this list of conditions and the following disclaimer.
     10      1.1    ragge  * 2. Redistributions in binary form must reproduce the above copyright
     11      1.1    ragge  *    notice, this list of conditions and the following disclaimer in the
     12      1.1    ragge  *    documentation and/or other materials provided with the distribution.
     13      1.1    ragge  * 3. All advertising materials mentioning features or use of this software
     14      1.1    ragge  *    must display the following acknowledgement:
     15      1.1    ragge  *	This product includes software developed by the University of
     16      1.1    ragge  *	California, Berkeley and its contributors.
     17      1.1    ragge  * 4. Neither the name of the University nor the names of its contributors
     18      1.1    ragge  *    may be used to endorse or promote products derived from this software
     19      1.1    ragge  *    without specific prior written permission.
     20      1.1    ragge  *
     21      1.1    ragge  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     22      1.1    ragge  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23      1.1    ragge  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24      1.1    ragge  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     25      1.1    ragge  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     26      1.1    ragge  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     27      1.1    ragge  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     28      1.1    ragge  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     29      1.1    ragge  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     30      1.1    ragge  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     31      1.1    ragge  * SUCH DAMAGE.
     32      1.1    ragge  */
     33      1.1    ragge 
     34      1.4    ragge #ifdef notdef
     35      1.2    ragge union w_b
     36      1.2    ragge {
     37      1.2    ragge 	u_short word;
     38      1.2    ragge 	struct {
     39      1.2    ragge 		u_char byte_lo;
     40      1.2    ragge 		u_char byte_hi;
     41      1.2    ragge 	} bytes;
     42      1.2    ragge };
     43      1.2    ragge 
     44      1.1    ragge struct DHUregs
     45      1.1    ragge {
     46      1.2    ragge 	volatile union w_b u_csr;	/* Control/Status Register (R/W) */
     47      1.1    ragge 	volatile u_short dhu_rbuf;	/* Receive Buffer (R only) */
     48      1.1    ragge #define dhu_txchar	 dhu_rbuf	/* Transmit Character (W only) */
     49      1.1    ragge 	volatile u_short dhu_lpr;	/* Line Parameter Register (R/W) */
     50      1.1    ragge 	volatile u_short dhu_stat;	/* Line Status (R only) */
     51      1.1    ragge 	volatile u_short dhu_lnctrl;	/* Line Control (R/W) */
     52      1.1    ragge 	volatile u_short dhu_tbufad1;	/* Transmit Buffer Address 1 (R/W) */
     53      1.1    ragge 	volatile u_short dhu_tbufad2;	/* Transmit Buffer Address 2 (R/W) */
     54      1.1    ragge 	volatile u_short dhu_tbufcnt;	/* Transmit Buffer Count (R/W) */
     55      1.1    ragge };
     56      1.1    ragge 
     57      1.2    ragge #define dhu_csr		u_csr.word
     58      1.2    ragge #define dhu_csr_lo	u_csr.bytes.byte_lo
     59      1.2    ragge #define dhu_csr_hi	u_csr.bytes.byte_hi
     60      1.2    ragge 
     61      1.1    ragge typedef struct DHUregs dhuregs;
     62      1.4    ragge #endif
     63      1.4    ragge 
     64      1.4    ragge #define	DHU_UBA_CSR	0
     65      1.4    ragge #define	DHU_UBA_CSR_HI	1
     66      1.4    ragge #define	DHU_UBA_RBUF	2
     67      1.4    ragge #define	DHU_UBA_TXCHAR	2
     68      1.4    ragge #define	DHU_UBA_LPR	4
     69      1.4    ragge #define	DHU_UBA_STAT	6
     70      1.4    ragge #define	DHU_UBA_LNCTRL	8
     71      1.4    ragge #define	DHU_UBA_TBUFAD1	10
     72      1.4    ragge #define	DHU_UBA_TBUFAD2	12
     73      1.4    ragge #define	DHU_UBA_TBUFCNT	14
     74      1.1    ragge 
     75      1.1    ragge /* CSR bits */
     76      1.1    ragge 
     77      1.1    ragge #define DHU_CSR_TX_ACTION	0100000
     78      1.1    ragge #define DHU_CSR_TXIE		0040000
     79      1.1    ragge #define DHU_CSR_DIAG_FAIL	0020000
     80      1.1    ragge #define DHU_CSR_TX_DMA_ERROR	0010000
     81      1.1    ragge #define DHU_CSR_TX_LINE_MASK	0007400
     82      1.1    ragge #define DHU_CSR_RX_DATA_AVAIL	0000200
     83      1.1    ragge #define DHU_CSR_RXIE		0000100
     84      1.1    ragge #define DHU_CSR_MASTER_RESET	0000040
     85      1.1    ragge #define DHU_CSR_UNUSED		0000020
     86      1.1    ragge #define DHU_CSR_CHANNEL_MASK	0000017
     87      1.1    ragge 
     88      1.1    ragge /* RBUF bits */
     89      1.1    ragge 
     90      1.1    ragge #define DHU_RBUF_DATA_VALID	0100000
     91      1.1    ragge #define DHU_RBUF_OVERRUN_ERR	0040000
     92      1.1    ragge #define DHU_RBUF_FRAMING_ERR	0020000
     93      1.1    ragge #define DHU_RBUF_PARITY_ERR	0010000
     94      1.1    ragge #define DHU_RBUF_RX_LINE_MASK	0007400
     95      1.1    ragge 
     96      1.1    ragge #define DHU_DIAG_CODE		0070001
     97      1.1    ragge #define DHU_MODEM_CODE		0070000
     98      1.1    ragge 
     99      1.1    ragge /* TXCHAR bits */
    100      1.1    ragge 
    101      1.1    ragge #define DHU_TXCHAR_DATA_VALID	0100000
    102      1.1    ragge 
    103      1.1    ragge /* LPR bits */
    104      1.1    ragge 
    105      1.1    ragge #define DHU_LPR_B50		0x0
    106      1.1    ragge #define DHU_LPR_B75		0x1
    107      1.1    ragge #define DHU_LPR_B110		0x2
    108      1.1    ragge #define DHU_LPR_B134		0x3
    109      1.1    ragge #define DHU_LPR_B150		0x4
    110      1.1    ragge #define DHU_LPR_B300		0x5
    111      1.1    ragge #define DHU_LPR_B600		0x6
    112      1.1    ragge #define DHU_LPR_B1200		0x7
    113      1.1    ragge #define DHU_LPR_B1800		0x8
    114      1.1    ragge #define DHU_LPR_B2000		0x9
    115      1.1    ragge #define DHU_LPR_B2400		0xA
    116      1.1    ragge #define DHU_LPR_B4800		0xB
    117      1.1    ragge #define DHU_LPR_B7200		0xC
    118      1.1    ragge #define DHU_LPR_B9600		0xD
    119      1.1    ragge #define DHU_LPR_B19200		0xE
    120      1.1    ragge #define DHU_LPR_B38400		0xF
    121      1.1    ragge 
    122      1.1    ragge #define DHU_LPR_5_BIT_CHAR	0000000
    123      1.1    ragge #define DHU_LPR_6_BIT_CHAR	0000010
    124      1.1    ragge #define DHU_LPR_7_BIT_CHAR	0000020
    125      1.1    ragge #define DHU_LPR_8_BIT_CHAR	0000030
    126      1.1    ragge #define DHU_LPR_PARENB		0000040
    127      1.1    ragge #define DHU_LPR_EPAR		0000100
    128      1.1    ragge #define DHU_LPR_2_STOP		0000200
    129      1.1    ragge 
    130      1.1    ragge /* STAT bits */
    131      1.1    ragge 
    132      1.1    ragge #define DHU_STAT_DSR		0100000
    133      1.1    ragge #define DHU_STAT_RI		0020000
    134      1.1    ragge #define DHU_STAT_DCD		0010000
    135      1.1    ragge #define DHU_STAT_CTS		0004000
    136      1.1    ragge #define DHU_STAT_DHU		0000400
    137      1.1    ragge 
    138      1.1    ragge /* LNCTRL bits */
    139      1.1    ragge 
    140      1.1    ragge #define DHU_LNCTRL_DMA_ABORT	0000001
    141      1.1    ragge #define DHU_LNCTRL_IAUTO	0000002
    142      1.1    ragge #define DHU_LNCTRL_RX_ENABLE	0000004
    143      1.1    ragge #define DHU_LNCTRL_BREAK	0000010
    144      1.1    ragge #define DHU_LNCTRL_OAUTO	0000020
    145      1.1    ragge #define DHU_LNCTRL_FORCE_XOFF	0000040
    146      1.1    ragge #define DHU_LNCTRL_LINK_TYPE	0000400
    147      1.1    ragge #define DHU_LNCTRL_DTR		0001000
    148      1.1    ragge #define DHU_LNCTRL_RTS		0010000
    149      1.1    ragge 
    150      1.1    ragge /* TBUFAD2 bits */
    151      1.1    ragge 
    152      1.1    ragge #define DHU_TBUFAD2_DMA_START	0000200
    153      1.1    ragge #define DHU_TBUFAD2_TX_ENABLE	0100000
    154