summaryrefslogtreecommitdiffstats
path: root/sys/dev/ed/if_edreg.h
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1993-09-29 20:30:26 +0000
committerdg <dg@FreeBSD.org>1993-09-29 20:30:26 +0000
commitb88b0732c031250ab790d6523339cbb7a0f024fc (patch)
tree5ad63c0cbd4ea17d688fcbec0332af0452fa6337 /sys/dev/ed/if_edreg.h
parent7b6449320312d30fe1302a16e10602d020af0283 (diff)
downloadFreeBSD-src-b88b0732c031250ab790d6523339cbb7a0f024fc.zip
FreeBSD-src-b88b0732c031250ab790d6523339cbb7a0f024fc.tar.gz
* Revision 2.2 93/09/29 13:23:25 davidg
* added no multi-buffer override for 3c503 * * Revision 2.1 93/09/29 12:32:12 davidg * changed multi-buffer count for 16bit 3c503's from 5 to 2 after * noticing that the transmitter becomes idle because of so many * packets to load. * * Revision 2.0 93/09/29 00:00:19 davidg * many changes, rewrites, additions, etc. Now supports the * NE1000, NE2000, WD8003, WD8013, 3C503, 16bit 3C503, and * a variety of similar clones. 16bit 3c503 now does multi * transmit buffers. Nearly every part of the driver has * changed in some way since rev 1.30.
Diffstat (limited to 'sys/dev/ed/if_edreg.h')
-rw-r--r--sys/dev/ed/if_edreg.h64
1 files changed, 58 insertions, 6 deletions
diff --git a/sys/dev/ed/if_edreg.h b/sys/dev/ed/if_edreg.h
index 949acb4..9b7a43f 100644
--- a/sys/dev/ed/if_edreg.h
+++ b/sys/dev/ed/if_edreg.h
@@ -1,11 +1,19 @@
/*
* National Semiconductor DS8390 NIC register definitions
*
- * $Id$
+ * $Id: if_edreg.h,v 2.0 93/09/29 00:37:15 davidg Exp Locker: davidg $
*
* Modification history
*
* $Log: if_edreg.h,v $
+ * Revision 2.0 93/09/29 00:37:15 davidg
+ * changed double buffering flag to multi buffering
+ * made changes/additions for 3c503 multi-buffering
+ * ...companion to Rev. 2.0 of 'ed' driver.
+ *
+ * Revision 1.6 93/09/28 17:20:03 davidg
+ * first cut at PIO (e.g. NE1000/2000) support
+ *
* Revision 1.5 93/08/25 20:38:34 davidg
* added define for card type WD8013WC (10BaseT)
*
@@ -568,6 +576,7 @@ struct ed_ring {
*/
#define ED_VENDOR_WD_SMC 0x00 /* Western Digital/SMC */
#define ED_VENDOR_3COM 0x01 /* 3Com */
+#define ED_VENDOR_NOVELL 0x02 /* Novell */
/*
* Compile-time config flags
@@ -575,19 +584,25 @@ struct ed_ring {
/*
* this sets the default for enabling/disablng the tranceiver
*/
-#define ED_FLAGS_DISABLE_TRANCEIVER 0x01
+#define ED_FLAGS_DISABLE_TRANCEIVER 0x0001
/*
* This forces the board to be used in 8/16bit mode even if it
* autoconfigs differently
*/
-#define ED_FLAGS_FORCE_8BIT_MODE 0x02
-#define ED_FLAGS_FORCE_16BIT_MODE 0x04
+#define ED_FLAGS_FORCE_8BIT_MODE 0x0002
+#define ED_FLAGS_FORCE_16BIT_MODE 0x0004
/*
* This disables the use of double transmit buffers.
*/
-#define ED_FLAGS_NO_DOUBLE_BUFFERING 0x08
+#define ED_FLAGS_NO_MULTI_BUFFERING 0x0008
+
+/*
+ * This forces all operations with the NIC memory to use Programmed
+ * I/O (i.e. not via shared memory)
+ */
+#define ED_FLAGS_FORCE_PIO 0x0010
/*
* Definitions for Western digital/SMC WD80x3 series ASIC
@@ -669,6 +684,7 @@ struct ed_ring {
/* i/o base offset to CARD ID */
#define ED_WD_CARD_ID ED_WD_PROM+6
+/* Board type codes in card ID */
#define ED_TYPE_WD8003S 0x02
#define ED_TYPE_WD8003E 0x03
#define ED_TYPE_WD8013EBT 0x05
@@ -706,7 +722,15 @@ struct ed_ring {
*/
#define ED_3COM_IO_PORTS 16 /* # of i/o addresses used */
-#define ED_3COM_PAGE_OFFSET 0x20 /* memory starts in second bank */
+/* tx memory starts in second bank on 8bit cards */
+#define ED_3COM_TX_PAGE_OFFSET_8BIT 0x20
+
+/* tx memory starts in first bank on 16bit cards */
+#define ED_3COM_TX_PAGE_OFFSET_16BIT 0x0
+
+/* ...and rx memory starts in second bank */
+#define ED_3COM_RX_PAGE_OFFSET_16BIT 0x20
+
/*
* Page Start Register. Must match PSTART in NIC
@@ -849,3 +873,31 @@ struct ed_ring {
* Register File Access LSB
*/
#define ED_3COM_RFLSB 0x0f
+
+/*
+ * Definitions for Novell NE1000/2000 boards
+ */
+
+/*
+ * Board type codes
+ */
+#define ED_TYPE_NE1000 0x01
+#define ED_TYPE_NE2000 0x02
+
+/*
+ * Register offsets/total
+ */
+#define ED_NOVELL_NIC_OFFSET 0x00
+#define ED_NOVELL_ASIC_OFFSET 0x10
+#define ED_NOVELL_IO_PORTS 32
+
+/*
+ * Remote DMA data register; for reading or writing to the NIC mem
+ * via programmed I/O (offset from ASIC base)
+ */
+#define ED_NOVELL_DATA 0x00
+
+/*
+ * Reset register; reading from this register causes a board reset
+ */
+#define ED_NOVELL_RESET 0x0f
OpenPOWER on IntegriCloud