Annotation of sys/dev/ic/am79900reg.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: am79900reg.h,v 1.1 2005/07/28 01:31:22 brad Exp $ */
2: /* $NetBSD: am79900reg.h,v 1.7 2005/02/27 00:27:00 perry Exp $ */
3:
4: /*-
5: * Copyright (c) 1998 The NetBSD Foundation, Inc.
6: * All rights reserved.
7: *
8: * This code is derived from software contributed to The NetBSD Foundation
9: * by Charles M. Hannum.
10: *
11: * Redistribution and use in source and binary forms, with or without
12: * modification, are permitted provided that the following conditions
13: * are met:
14: * 1. Redistributions of source code must retain the above copyright
15: * notice, this list of conditions and the following disclaimer.
16: * 2. Redistributions in binary form must reproduce the above copyright
17: * notice, this list of conditions and the following disclaimer in the
18: * documentation and/or other materials provided with the distribution.
19: * 3. All advertising materials mentioning features or use of this software
20: * must display the following acknowledgement:
21: * This product includes software developed by the NetBSD
22: * Foundation, Inc. and its contributors.
23: * 4. Neither the name of The NetBSD Foundation nor the names of its
24: * contributors may be used to endorse or promote products derived
25: * from this software without specific prior written permission.
26: *
27: * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
28: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
29: * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
30: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
31: * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37: * POSSIBILITY OF SUCH DAMAGE.
38: */
39:
40: /*-
41: * Copyright (c) 1992, 1993
42: * The Regents of the University of California. All rights reserved.
43: *
44: * This code is derived from software contributed to Berkeley by
45: * Ralph Campbell and Rick Macklem.
46: *
47: * Redistribution and use in source and binary forms, with or without
48: * modification, are permitted provided that the following conditions
49: * are met:
50: * 1. Redistributions of source code must retain the above copyright
51: * notice, this list of conditions and the following disclaimer.
52: * 2. Redistributions in binary form must reproduce the above copyright
53: * notice, this list of conditions and the following disclaimer in the
54: * documentation and/or other materials provided with the distribution.
55: * 3. Neither the name of the University nor the names of its contributors
56: * may be used to endorse or promote products derived from this software
57: * without specific prior written permission.
58: *
59: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
60: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
61: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
62: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
63: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
64: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
65: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
66: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
67: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
68: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
69: * SUCH DAMAGE.
70: *
71: * @(#)if_lereg.h 8.1 (Berkeley) 6/10/93
72: */
73:
74: /*
75: * Receive message descriptor
76: */
77: struct lermd {
78: u_int32_t rmd0;
79: u_int32_t rmd1;
80: u_int32_t rmd2;
81: int32_t rmd3;
82: };
83:
84: /*
85: * Transmit message descriptor
86: */
87: struct letmd {
88: u_int32_t tmd0;
89: u_int32_t tmd1;
90: u_int32_t tmd2;
91: int32_t tmd3;
92: };
93:
94: /*
95: * Initialization block
96: */
97: struct leinit {
98: u_int32_t init_mode; /* +0x0000 */
99: u_int32_t init_padr[2]; /* +0x0002 */
100: u_int16_t init_ladrf[4]; /* +0x0008 */
101: u_int32_t init_rdra; /* +0x0010 */
102: u_int32_t init_tdra; /* +0x0014 */
103: int32_t pad; /* Pad to 16 shorts */
104: };
105:
106: /* Receive message descriptor 1 (rmd1_bits) */
107: #define LE_R1_OWN (1<<31) /* LANCE owns the packet */
108: #define LE_R1_ERR (1<<30) /* error summary */
109: #define LE_R1_FRAM (1<<29) /* framing error */
110: #define LE_R1_OFLO (1<<28) /* overflow error */
111: #define LE_R1_CRC (1<<27) /* CRC error */
112: #define LE_R1_BUFF (1<<26) /* buffer error */
113: #define LE_R1_STP (1<<25) /* start of packet */
114: #define LE_R1_ENP (1<<24) /* end of packet */
115: #define LE_R1_ONES (0xf<<12) /* must be ones */
116: #define LE_R1_BCNT_MASK (0xfff) /* byte count mask */
117:
118: #define LE_R1_BITS \
119: "\20\40OWN\37ERR\36FRAM\35OFLO\34CRC\33BUFF\32STP\31ENP"
120:
121: /* Transmit message descriptor 1 (tmd1_bits) */
122: #define LE_T1_OWN (1<<31) /* LANCE owns the packet */
123: #define LE_T1_ERR (1<<30) /* error summary */
124: #define LE_T1_ADD_FCS (1<<29) /* add FCS (PCnet-PCI) */
125: #define LE_T1_NO_FCS (1<<29) /* no FCS (ILACC) */
126: #define LE_T1_MORE (1<<28) /* multiple collisions */
127: #define LE_T1_LTINT (1<<28) /* transmit interrupt (if LTINTEN) */
128: #define LE_T1_ONE (1<<27) /* single collision */
129: #define LE_T1_DEF (1<<26) /* deferred transmit */
130: #define LE_T1_STP (1<<25) /* start of packet */
131: #define LE_T1_ENP (1<<24) /* end of packet */
132: #define LE_T1_ONES (0xf<<12) /* must be ones */
133: #define LE_T1_BCNT_MASK (0xfff) /* byte count mask */
134:
135: #define LE_T1_BITS \
136: "\20\40OWN\37ERR\36RES\35MORE\34ONE\33DEF\32STP\31ENP"
137:
138: /* Transmit message descriptor 3 (tmd3) */
139: #define LE_T2_BUFF (1<<31) /* buffer error */
140: #define LE_T2_UFLO (1<<30) /* underflow error */
141: #define LE_T2_EXDEF (1<<29) /* excessive defferral */
142: #define LE_T2_LCOL (1<<28) /* late collision */
143: #define LE_T2_LCAR (1<<27) /* loss of carrier */
144: #define LE_T2_RTRY (1<<26) /* retry error */
145: #if 0
146: #define LE_T3_TDR_MASK 0x03ff /* time domain reflectometry counter */
147: #endif
148:
149: #define LE_T3_BITS \
150: "\12\40BUFF\37UFLO\35LCOL\34LCAR\33RTRY"
CVSweb