if_aereg.h revision 1.13 1 1.12 briggs /* $NetBSD: if_aereg.h,v 1.13 1997/02/24 06:03:59 scottr Exp $ */
2 1.3 cgd
3 1.1 briggs /*
4 1.6 briggs * National Semiconductor DS8390 NIC register definitions.
5 1.4 briggs *
6 1.6 briggs * Copyright (C) 1993, David Greenman. This software may be used, modified,
7 1.6 briggs * copied, distributed, and sold, in both source and binary form provided that
8 1.6 briggs * the above copyright and these terms are retained. Under no circumstances is
9 1.6 briggs * the author responsible for the proper functioning of this software, nor does
10 1.6 briggs * the author assume any responsibility for damages incurred with its use.
11 1.1 briggs */
12 1.8 briggs
13 1.8 briggs /*
14 1.8 briggs * The following is a structure that we should be pulling from
15 1.10 cgd * dev/ic/dp8390reg.h, but since we have the card in x86 mode and
16 1.8 briggs * the std. include file assumes that big-endian processors will
17 1.8 briggs * have the card in m68k mode, we're hosed for the moment.
18 1.8 briggs * Fix this. -- XXX
19 1.8 briggs */
20 1.9 briggs struct ae_ring {
21 1.9 briggs u_char rsr; /* receiver status */
22 1.9 briggs u_char next_packet; /* pointer to next packet */
23 1.9 briggs u_short count; /* bytes in packet (length + 4) */
24 1.8 briggs };
25 1.1 briggs /*
26 1.1 briggs * Vendor types
27 1.1 briggs */
28 1.6 briggs #define AE_VENDOR_UNKNOWN 0xFF /* Unknown network card */
29 1.6 briggs #define AE_VENDOR_APPLE 0x00 /* Apple Ethernet card */
30 1.6 briggs #define AE_VENDOR_INTERLAN 0x01 /* Interlan A310 card (GatorCard) */
31 1.6 briggs #define AE_VENDOR_DAYNA 0x02 /* DaynaPORT E/30s (and others?) */
32 1.6 briggs #define AE_VENDOR_ASANTE 0x03 /* Asante MacCon II/E */
33 1.11 briggs #define AE_VENDOR_FARALLON 0x04 /* Farallon EtherMac II-TP */
34 1.12 briggs #define AE_VENDOR_FOCUS 0x05 /* FOCUS Enhancements EtherLAN */
35 1.1 briggs
36 1.1 briggs /*
37 1.1 briggs * Compile-time config flags
38 1.1 briggs */
39 1.1 briggs /*
40 1.6 briggs * This sets the default for enabling/disablng the tranceiver.
41 1.1 briggs */
42 1.6 briggs #define AE_FLAGS_DISABLE_TRANCEIVER 0x0001
43 1.1 briggs
44 1.1 briggs /*
45 1.1 briggs * This disables the use of double transmit buffers.
46 1.1 briggs */
47 1.6 briggs #define AE_FLAGS_NO_DOUBLE_BUFFERING 0x0008
48 1.1 briggs
49 1.1 briggs /* */
50 1.9 briggs #define GC_RESET_OFFSET 0x000c0000 /* writes here reset NIC */
51 1.9 briggs #define GC_ROM_OFFSET 0x000c0000 /* address prom */
52 1.9 briggs #define GC_DATA_OFFSET 0x000d0000 /* Offset to NIC memory */
53 1.13 scottr #define GC_REG_OFFSET 0x000e0000 /* Offset to NIC registers */
54 1.2 briggs
55 1.2 briggs #define DP_ROM_OFFSET 0x000f0000
56 1.9 briggs #define DP_DATA_OFFSET 0x000d0000 /* Offset to SONIC memory */
57 1.13 scottr #define DP_REG_OFFSET 0x000e0000 /* Offset to SONIC registers */
58 1.1 briggs
59 1.1 briggs #define AE_ROM_OFFSET 0x000f0000
60 1.9 briggs #define AE_DATA_OFFSET 0x000d0000 /* Offset to NIC memory */
61 1.13 scottr #define AE_REG_OFFSET 0x000e0000 /* Offset to NIC registers */
62 1.11 briggs
63 1.11 briggs #define FE_ROM_OFFSET 0x000d0006 /* Determined empirically */
64 1.13 scottr
65 1.13 scottr #define AE_REG_SIZE 0x40 /* Size of register space */
66