1997-02-24 10:34:18 +03:00
|
|
|
/* $NetBSD: if_aereg.h,v 1.14 1997/02/24 07:34:20 scottr Exp $ */
|
1994-10-26 11:45:48 +03:00
|
|
|
|
1993-11-29 03:32:22 +03:00
|
|
|
/*
|
1995-04-12 19:01:14 +04:00
|
|
|
* National Semiconductor DS8390 NIC register definitions.
|
1994-12-04 02:30:45 +03:00
|
|
|
*
|
1995-04-12 19:01:14 +04:00
|
|
|
* Copyright (C) 1993, David Greenman. This software may be used, modified,
|
|
|
|
* copied, distributed, and sold, in both source and binary form provided that
|
|
|
|
* the above copyright and these terms are retained. Under no circumstances is
|
|
|
|
* the author responsible for the proper functioning of this software, nor does
|
|
|
|
* the author assume any responsibility for damages incurred with its use.
|
1993-11-29 03:32:22 +03:00
|
|
|
*/
|
|
|
|
|
1995-04-19 08:46:06 +04:00
|
|
|
/*
|
|
|
|
* The following is a structure that we should be pulling from
|
1995-06-28 08:30:30 +04:00
|
|
|
* dev/ic/dp8390reg.h, but since we have the card in x86 mode and
|
1995-04-19 08:46:06 +04:00
|
|
|
* the std. include file assumes that big-endian processors will
|
|
|
|
* have the card in m68k mode, we're hosed for the moment.
|
|
|
|
* Fix this. -- XXX
|
|
|
|
*/
|
1995-04-21 06:47:35 +04:00
|
|
|
struct ae_ring {
|
|
|
|
u_char rsr; /* receiver status */
|
|
|
|
u_char next_packet; /* pointer to next packet */
|
|
|
|
u_short count; /* bytes in packet (length + 4) */
|
1995-04-19 08:46:06 +04:00
|
|
|
};
|
1993-11-29 03:32:22 +03:00
|
|
|
/*
|
|
|
|
* Vendor types
|
|
|
|
*/
|
1997-02-24 10:34:18 +03:00
|
|
|
#define AE_VENDOR_UNKNOWN 0xff /* Unknown network card */
|
1995-04-12 19:01:14 +04:00
|
|
|
#define AE_VENDOR_APPLE 0x00 /* Apple Ethernet card */
|
|
|
|
#define AE_VENDOR_INTERLAN 0x01 /* Interlan A310 card (GatorCard) */
|
|
|
|
#define AE_VENDOR_DAYNA 0x02 /* DaynaPORT E/30s (and others?) */
|
|
|
|
#define AE_VENDOR_ASANTE 0x03 /* Asante MacCon II/E */
|
1995-07-30 17:38:04 +04:00
|
|
|
#define AE_VENDOR_FARALLON 0x04 /* Farallon EtherMac II-TP */
|
1996-01-12 07:52:58 +03:00
|
|
|
#define AE_VENDOR_FOCUS 0x05 /* FOCUS Enhancements EtherLAN */
|
1997-02-24 10:34:18 +03:00
|
|
|
#define AE_VENDOR_KINETICS 0x06 /* Kinetics EtherPort SE/30 */
|
1993-11-29 03:32:22 +03:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Compile-time config flags
|
|
|
|
*/
|
|
|
|
/*
|
1995-04-12 19:01:14 +04:00
|
|
|
* This sets the default for enabling/disablng the tranceiver.
|
1993-11-29 03:32:22 +03:00
|
|
|
*/
|
1995-04-12 19:01:14 +04:00
|
|
|
#define AE_FLAGS_DISABLE_TRANCEIVER 0x0001
|
1993-11-29 03:32:22 +03:00
|
|
|
|
|
|
|
/*
|
|
|
|
* This disables the use of double transmit buffers.
|
|
|
|
*/
|
1995-04-12 19:01:14 +04:00
|
|
|
#define AE_FLAGS_NO_DOUBLE_BUFFERING 0x0008
|
1993-11-29 03:32:22 +03:00
|
|
|
|
|
|
|
/* */
|
1995-04-21 06:47:35 +04:00
|
|
|
#define GC_RESET_OFFSET 0x000c0000 /* writes here reset NIC */
|
|
|
|
#define GC_ROM_OFFSET 0x000c0000 /* address prom */
|
|
|
|
#define GC_DATA_OFFSET 0x000d0000 /* Offset to NIC memory */
|
1997-02-24 09:03:55 +03:00
|
|
|
#define GC_REG_OFFSET 0x000e0000 /* Offset to NIC registers */
|
1993-11-29 03:32:22 +03:00
|
|
|
|
1994-03-01 18:24:25 +03:00
|
|
|
#define DP_ROM_OFFSET 0x000f0000
|
1995-04-21 06:47:35 +04:00
|
|
|
#define DP_DATA_OFFSET 0x000d0000 /* Offset to SONIC memory */
|
1997-02-24 09:03:55 +03:00
|
|
|
#define DP_REG_OFFSET 0x000e0000 /* Offset to SONIC registers */
|
1994-03-01 18:24:25 +03:00
|
|
|
|
1993-11-29 03:32:22 +03:00
|
|
|
#define AE_ROM_OFFSET 0x000f0000
|
1995-04-21 06:47:35 +04:00
|
|
|
#define AE_DATA_OFFSET 0x000d0000 /* Offset to NIC memory */
|
1997-02-24 09:03:55 +03:00
|
|
|
#define AE_REG_OFFSET 0x000e0000 /* Offset to NIC registers */
|
1995-07-30 17:38:04 +04:00
|
|
|
|
|
|
|
#define FE_ROM_OFFSET 0x000d0006 /* Determined empirically */
|
1997-02-24 09:03:55 +03:00
|
|
|
|
1997-02-24 10:34:18 +03:00
|
|
|
#define KE_ROM_OFFSET 0x000f0007
|
|
|
|
#define KE_DATA_OFFSET 0x00000000 /* Offset to NIC memory */
|
|
|
|
#define KE_REG_OFFSET 0x00080003 /* Offset to NIC registers */
|
|
|
|
|
1997-02-24 09:03:55 +03:00
|
|
|
#define AE_REG_SIZE 0x40 /* Size of register space */
|