Annotation of sys/arch/mvme68k/dev/wlreg.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: wlreg.h,v 1.3 2003/06/04 16:36:14 deraadt Exp $ */
! 2:
! 3: /*
! 4: * Copyright (c) 1995 Dale Rahn. All rights reserved.
! 5: *
! 6: * Redistribution and use in source and binary forms, with or without
! 7: * modification, are permitted provided that the following conditions
! 8: * are met:
! 9: * 1. Redistributions of source code must retain the above copyright
! 10: * notice, this list of conditions and the following disclaimer.
! 11: * 2. Redistributions in binary form must reproduce the above copyright
! 12: * notice, this list of conditions and the following disclaimer in the
! 13: * documentation and/or other materials provided with the distribution.
! 14: *
! 15: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
! 16: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
! 17: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
! 18: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
! 19: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
! 20: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
! 21: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
! 22: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
! 23: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
! 24: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! 25: */
! 26:
! 27: struct clreg {
! 28: volatile u_char anon1[0x7];
! 29: volatile u_char cl_cor7; /* 0x07 */
! 30: volatile u_char anon2[0x1];
! 31: volatile u_char cl_livr; /* 0x09 */
! 32: volatile u_char anon3[0x6];
! 33: volatile u_char cl_cor1; /* 0x10 */
! 34: volatile u_char cl_ier; /* 0x11 */
! 35: volatile u_char cl_stcr; /* 0x12 */
! 36: volatile u_char cl_ccr; /* 0x13 */
! 37: volatile u_char cl_cor5; /* 0x14 */
! 38: volatile u_char cl_cor4; /* 0x15 */
! 39: volatile u_char cl_cor3; /* 0x16 */
! 40: volatile u_char cl_cor2; /* 0x17 */
! 41: volatile u_char cl_cor6; /* 0x18 */
! 42: volatile u_char cl_dmabsts; /* 0x19 */
! 43: volatile u_char cl_csr; /* 0x1a */
! 44: volatile u_char cl_cmr; /* 0x1b */
! 45: volatile u_char cl_schr4; /* 0x1c */
! 46: volatile u_char cl_schr3; /* 0x1d */
! 47: volatile u_char cl_schr2; /* 0x1e */
! 48: volatile u_char cl_schr1; /* 0x1f */
! 49: volatile u_char anon5[0x2];
! 50: volatile u_char cl_scrh; /* 0x22 */
! 51: volatile u_char cl_scrl; /* 0x23 */
! 52: #define cl_rtpr rtpr.rtpr_rtpr
! 53: #define cl_rtprh rtpr.hl.rtpr_rtprh
! 54: #define cl_rtprl rtpr.hl.rtpr_rtprl
! 55: union {
! 56: volatile u_short rtpr_rtpr; /* 0x24 */
! 57: struct {
! 58: volatile u_char rtpr_rtprh; /* 0x24 */
! 59: volatile u_char rtpr_rtprl; /* 0x25 */
! 60: } hl;
! 61: } rtpr;
! 62: volatile u_char cl_licr; /* 0x26 */
! 63: volatile u_char anon6[0x7];
! 64: volatile u_char cl_lnxt; /* 0x2e */
! 65: volatile u_char anon7[0x1];
! 66: volatile u_char cl_rfoc; /* 0x30 */
! 67: volatile u_char anon8[0x7];
! 68: volatile u_short cl_tcbadru; /* 0x38 */
! 69: volatile u_short cl_tcbadrl; /* 0x3a */
! 70: volatile u_short cl_rcbadru; /* 0x3c */
! 71: volatile u_short cl_rcbadrl; /* 0x3e */
! 72: volatile u_short cl_arbadru; /* 0x40 */
! 73: volatile u_short cl_arbadrl; /* 0x42 */
! 74: volatile u_short cl_brbadru; /* 0x44 */
! 75: volatile u_short cl_brbadrl; /* 0x46 */
! 76: volatile u_short cl_brbcnt; /* 0x48 */
! 77: volatile u_short cl_arbcnt; /* 0x4a */
! 78: volatile u_char anoni[0x2];
! 79: volatile u_char cl_brbsts; /* 0x4e */
! 80: volatile u_char cl_arbsts; /* 0x4f */
! 81: #define cl_atbadr atbadr.atbadr
! 82: #define cl_atbadru atbadr.hl.atbadru
! 83: #define cl_atbadrl atbadr.hl.atbadrl
! 84: union {
! 85: struct {
! 86: volatile u_short atbadru; /* 0x50 */
! 87: volatile u_short atbadrl; /* 0x52 */
! 88: } hl;
! 89: volatile u_long atbadr; /* 0x50 */
! 90: } atbadr;
! 91: #define cl_btbadr btbadr.btbadr
! 92: #define cl_btbadru btbadr.hl.btbadru
! 93: #define cl_btbadrl btbadr.hl.btbadrl
! 94: union {
! 95: struct {
! 96: volatile u_short btbadru; /* 0x54 */
! 97: volatile u_short btbadrl; /* 0x56 */
! 98: } hl;
! 99: volatile u_long btbadr; /* 0x54 */
! 100: } btbadr;
! 101: volatile u_short cl_btbcnt; /* 0x58 */
! 102: volatile u_short cl_atbcnt; /* 0x5a */
! 103: volatile u_char anono[0x2];
! 104: volatile u_char cl_btbsts; /* 0x5e */
! 105: volatile u_char cl_atbsts; /* 0x5f */
! 106: volatile u_char anonp[0x20];
! 107: volatile u_char cl_tftc; /* 0x80 */
! 108: volatile u_char cl_gfrcr; /* 0x81 */
! 109: volatile u_char anonq[0x2];
! 110: volatile u_char cl_reoir; /* 0x84 */
! 111: volatile u_char cl_teoir; /* 0x85 */
! 112: volatile u_char cl_meoir; /* 0x86 */
! 113: volatile u_char anonr[0x1];
! 114: #define cl_risr risr.risr_risr
! 115: #define cl_risrl risr.hl.risr_risrl
! 116: #define cl_risrh risr.hl.risr_risrh
! 117: union {
! 118: volatile u_short risr_risr; /* 0x88 */
! 119: struct {
! 120: volatile u_char risr_risrh; /* 0x88 */
! 121: volatile u_char risr_risrl; /* 0x89 */
! 122: } hl;
! 123: } risr;
! 124: volatile u_char cl_tisr; /* 0x8a */
! 125: volatile u_char cl_misr; /* 0x8b */
! 126: volatile u_char anons[0x2];
! 127: volatile u_char cl_bercnt; /* 0x8e */
! 128: volatile u_char anont[0x31];
! 129: volatile u_char cl_tcor; /* 0xc0 */
! 130: volatile u_char anonu[0x2];
! 131: volatile u_char cl_tbpr; /* 0xc3 */
! 132: volatile u_char anonv[0x4];
! 133: volatile u_char cl_rcor; /* 0xc8 */
! 134: volatile u_char anonw[0x2];
! 135: volatile u_char cl_rbpr; /* 0xcb */
! 136: volatile u_char anonx[0xa];
! 137: volatile u_char cl_cpsr; /* 0xd6 */
! 138: volatile u_char anony[0x3];
! 139: volatile u_char cl_tpr; /* 0xda */
! 140: volatile u_char anonz[0x3];
! 141: volatile u_char cl_msvr_rts; /* 0xde */
! 142: volatile u_char cl_msvr_dtr; /* 0xdf */
! 143: volatile u_char cl_tpilr; /* 0xe0 */
! 144: volatile u_char cl_rpilr; /* 0xe1 */
! 145: volatile u_char cl_stk; /* 0xe2 */
! 146: volatile u_char cl_mpilr; /* 0xe3 */
! 147: volatile u_char anonA[0x8];
! 148: volatile u_char cl_tir; /* 0xec */
! 149: volatile u_char cl_rir; /* 0xed */
! 150: volatile u_char cl_car; /* 0xee */
! 151: volatile u_char cl_mir; /* 0xef */
! 152: volatile u_char anonB[0x6];
! 153: volatile u_char cl_dmr; /* 0xf6 */
! 154: volatile u_char anonC[0x1];
! 155: #define cl_rdr cl_tdr
! 156: volatile u_char cl_tdr; /* 0xf8 */
! 157: volatile u_char anonD[7];
! 158: };
! 159:
! 160: #define TIR_TEN 0x80 /* irq enable */
! 161: #define TIR_TACT 0x40 /* irq active */
! 162: #define TIR_TEOI 0x20
! 163: #define TIR_TVCT_M 0x0c /* vector (mask) */
! 164: #define TIR_TCN_M 0x03 /* channel number (mask) */
! 165:
! 166: #define TEOIR_TERMBUF 0x80
! 167: #define TEOIR_EOF 0x40
! 168: #define TEOIR_SETTM2 0x20
! 169: #define TEOIR_SETTM1 0x10
! 170: #define TEOIR_NOTRANSF 0x08
! 171:
! 172: #define REOIR_TERMBUFF 0x80
! 173: #define REOIR_DISCEXC 0x40
! 174: #define REOIR_SETTM2 0x20
! 175: #define REOIR_SETTM1 0x10
! 176: #define REOIR_NOTRANSF 0x08
! 177: #define REOIR_GAP_M 0x07
! 178:
! 179: #define RISRH_BERR 0x80
! 180: #define RISRH_EOF 0x40
! 181: #define RISRH_EOB 0x20
! 182: #define RISRH_BA_BB 0x08
! 183:
! 184: #define RISRL_TIMEOUT 0x80
! 185: #define RISRL_SCDET_M 0x70
! 186: #define RISRL_OE 0x08
! 187: #define RISRL_PE 0x04
! 188: #define RISRL_FE 0x02
! 189: #define RISRL_BREAK 0x01
! 190:
! 191: #define RIR_REN 0x80
! 192: #define RIR_RACT 0x40
! 193: #define RIR_REOI 0x20
! 194: #define RIR_RCVT_M 0x0c
! 195: #define RIR_RCN_M 0x03
! 196:
! 197: #define IER_MDM 0x80
! 198: #define IER_RET 0x20
! 199: #define IER_RXD 0x08
! 200: #define IER_TIMER 0x04
! 201: #define IER_TXMPTY 0x02
! 202: #define IER_TXD 0x01
! 203:
! 204: #define MIR_MER 0x80
! 205: #define MIR_MACT 0x40
! 206: #define MIR_MEO 0x20
! 207: #define MIR_MVCT_M 0x0c
! 208: #define MIR_MCM_M 0x03
! 209:
! 210: #define MISR_DSRCHG 0x80
! 211: #define MISR_CDCHG 0x40
! 212: #define MISR_CTSCHG 0x20
! 213: #define MISR_TIMER2 0x02
! 214: #define MISR_TIMER1 0x01
! 215:
! 216: #define TISR_BERR 0x80
! 217: #define TISR_EOF 0x40
! 218: #define TISR_EOB 0x20
! 219: #define TISR_UE 0x10
! 220: #define TISR_BABB 0x08
! 221: #define TISR_TXEMPTY 0x02
! 222: #define TISR_TXDAT 0x01
CVSweb