if_fereg.h (13765) | if_fereg.h (14645) |
---|---|
1/* | 1/* |
2 * Hardware specification of various 8696x based Ethernet cards. 3 * Contributed by M. Sekiguchi <seki@sysrap.cs.fujitsu.co.jp> 4 * |
|
2 * All Rights Reserved, Copyright (C) Fujitsu Limited 1995 3 * 4 * This software may be used, modified, copied, distributed, and sold, 5 * in both source and binary form provided that the above copyright, 6 * these terms and the following disclaimer are retained. The name of 7 * the author and/or the contributor may not be used to endorse or 8 * promote products derived from this software without specific prior 9 * written permission. --- 6 unchanged lines hidden (view full) --- 16 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 17 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 18 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 19 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 20 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 21 * SUCH DAMAGE. 22 */ 23 | 5 * All Rights Reserved, Copyright (C) Fujitsu Limited 1995 6 * 7 * This software may be used, modified, copied, distributed, and sold, 8 * in both source and binary form provided that the above copyright, 9 * these terms and the following disclaimer are retained. The name of 10 * the author and/or the contributor may not be used to endorse or 11 * promote products derived from this software without specific prior 12 * written permission. --- 6 unchanged lines hidden (view full) --- 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26 |
24#define FE_REG_VERSION "if_fereg.h ver. 0.8" | 27/* $Id:$ */ |
25 26/* | 28 29/* |
27 * Hardware specification of various 86960/86965 based Ethernet cards. 28 * Contributed by M.S. <seki@sysrap.cs.fujitsu.co.jp> 29 */ 30 31/* | |
32 * Registers on FMV-180 series' ISA bus interface ASIC. 33 * I'm not sure the following register names are appropriate. 34 * Doesn't it look silly, eh? FIXME. 35 */ 36 | 30 * Registers on FMV-180 series' ISA bus interface ASIC. 31 * I'm not sure the following register names are appropriate. 32 * Doesn't it look silly, eh? FIXME. 33 */ 34 |
37#define FE_FMV0 16 /* Hardware status. */ 38#define FE_FMV1 17 /* Hardware type? Always 0 */ 39#define FE_FMV2 18 /* Hardware configuration. */ 40#define FE_FMV3 19 /* Hardware enable. */ | 35#define FE_FMV0 16 /* Card status register #0 */ 36#define FE_FMV1 17 /* Card status register #1 */ 37#define FE_FMV2 18 /* Card config register #0 */ 38#define FE_FMV3 19 /* Card config register #1 */ |
41#define FE_FMV4 20 /* Station address #1 */ 42#define FE_FMV5 21 /* Station address #2 */ 43#define FE_FMV6 22 /* Station address #3 */ 44#define FE_FMV7 23 /* Station address #4 */ 45#define FE_FMV8 24 /* Station address #5 */ 46#define FE_FMV9 25 /* Station address #6 */ | 39#define FE_FMV4 20 /* Station address #1 */ 40#define FE_FMV5 21 /* Station address #2 */ 41#define FE_FMV6 22 /* Station address #3 */ 42#define FE_FMV7 23 /* Station address #4 */ 43#define FE_FMV8 24 /* Station address #5 */ 44#define FE_FMV9 25 /* Station address #6 */ |
47#define FE_FMV10 26 /* Unknown; to be set to 0. */ | 45#define FE_FMV10 26 /* Buffer RAM control register */ 46#define FE_FMV11 27 /* Buffer RAM data register */ |
48 49/* 50 * FMV-180 series' ASIC register values. 51 */ 52 | 47 48/* 49 * FMV-180 series' ASIC register values. 50 */ 51 |
53/* Magic value in FMV0 register. */ 54#define FE_FMV0_MAGIC_MASK 0x78 55#define FE_FMV0_MAGIC_VALUE 0x50 | 52/* FMV0: Card status register #0: Misc info? */ 53#define FE_FMV0_MEDIA 0x07 /* Supported physical media. */ 54#define FE_FMV0_PRRDY 0x10 /* ??? */ 55#define FE_FMV0_PRERR 0x20 /* ??? */ 56#define FE_FMV0_ERRDY 0x40 /* ??? */ 57#define FE_FMV0_IREQ 0x80 /* ??? */ |
56 | 58 |
57/* Model identification. */ 58#define FE_FMV0_MODEL 0x07 59#define FE_FMV0_MODEL_FMV181 0x05 60#define FE_FMV0_MODEL_FMV182 0x03 | 59#define FE_FMV0_MEDIUM_5 0x01 /* 10base5/Dsub */ 60#define FE_FMV0_MEDIUM_2 0x02 /* 10base2/BNC */ 61#define FE_FMV0_MEDIUM_T 0x04 /* 10baseT/RJ45 */ |
61 | 62 |
62/* Card type ID? Always 0? */ 63#define FE_FMV1_CARDID_MASK 0xFF 64#define FE_FMV1_CARDID_ID 0x00 | 63/* Card status register #1: Hardware revision. */ 64#define FE_FMV1_REV 0x0F /* Card revision */ 65#define FE_FMV1_UPPER 0xF0 /* Usage unknown */ |
65 | 66 |
66/* I/O port address assignment. */ 67#define FE_FMV2_ADDR 0x07 68#define FE_FMV2_ADDR_SHIFT 0 | 67/* Card config register #0: I/O port address assignment. */ 68#define FE_FMV2_IOS 0x07 /* I/O selection. */ 69#define FE_FMV2_MES 0x38 /* ??? boot ROM? */ 70#define FE_FMV2_IRS 0xC0 /* IRQ selection. */ |
69 | 71 |
70/* Boot ROM address assignment. */ 71#define FE_FMV2_ROM 0x38 72#define FE_FMV2_ROM_SHIFT 3 | 72#define FE_FMV2_IOS_SHIFT 0 73#define FE_FMV2_MES_SHIFT 3 74#define FE_FMV2_IRS_SHIFT 6 |
73 | 75 |
74/* IRQ assignment. */ 75#define FE_FMV2_IRQ 0xC0 76#define FE_FMV2_IRQ_SHIFT 6 | 76/* Card config register #1: IRQ enable */ 77#define FE_FMV3_IRQENB 0x80 /* IRQ enable. */ |
77 | 78 |
78/* Hardware(?) enable flag. */ 79#define FE_FMV3_ENABLE_FLAG 0x80 80 81/* Extra bits in FMV3 register. Always 0? */ 82#define FE_FMV3_EXTRA_MASK 0x7F 83#define FE_FMV3_EXTRA_VALUE 0x00 84 | |
85/* | 79/* |
86 * EEPROM allocation of AT1700/RE2000. | 80 * Register(?) specific to AT1700/RE2000. |
87 */ | 81 */ |
88#define FE_EEP_ATI_ADDR 8 /* Station address. (8-13) */ 89#define FE_EEP_ATI_TYPE 25 /* Hardware type? FIXME. */ | |
90 | 82 |
91#define FE_EEP_ATI_TYPE_HIGHIRQ 0x04 /* IRQ delivery? FIXME. */ | 83#define FE_ATI_RESET 0x1F /* Write to reset the 86965. */ |
92 | 84 |
85/* EEPROM allocation (offsets) of AT1700/RE2000. */ 86#define FE_ATI_EEP_ADDR 0x08 /* Station address. (8-13) */ 87#define FE_ATI_EEP_MEDIA 0x18 /* Media type. */ 88#define FE_ATI_EEP_MAGIC 0x19 /* XXX Magic. */ 89#define FE_ATI_EEP_MODEL 0x1e /* Hardware type. */ 90#define FE_ATI_EEP_REVISION 0x1f /* Hardware revision. */ 91 92/* Value for FE_ATI_EEP_MODEL. */ 93#define FE_ATI_MODEL_AT1700T 0x00 94#define FE_ATI_MODEL_AT1700BT 0x01 95#define FE_ATI_MODEL_AT1700FT 0x02 96#define FE_ATI_MODEL_AT1700AT 0x03 97 |
|
93/* 94 * Registers on MBH10302. 95 */ 96 97#define FE_MBH0 0x10 /* ??? Including interrupt. */ 98#define FE_MBH1 0x11 /* ??? */ 99#define FE_MBH10 0x1A /* Station address. (10 - 15) */ 100 101/* Values to be set in MBH0 register. */ 102#define FE_MBH0_MAGIC 0x0D /* Just a magic constant? */ 103#define FE_MBH0_INTR 0x10 /* Master interrupt control. */ 104 105#define FE_MBH0_INTR_ENABLE 0x10 /* Enable interrupts. */ 106#define FE_MBH0_INTR_DISABLE 0x00 /* Disable interrupts. */ | 98/* 99 * Registers on MBH10302. 100 */ 101 102#define FE_MBH0 0x10 /* ??? Including interrupt. */ 103#define FE_MBH1 0x11 /* ??? */ 104#define FE_MBH10 0x1A /* Station address. (10 - 15) */ 105 106/* Values to be set in MBH0 register. */ 107#define FE_MBH0_MAGIC 0x0D /* Just a magic constant? */ 108#define FE_MBH0_INTR 0x10 /* Master interrupt control. */ 109 110#define FE_MBH0_INTR_ENABLE 0x10 /* Enable interrupts. */ 111#define FE_MBH0_INTR_DISABLE 0x00 /* Disable interrupts. */ |
112 113/* 114 * Registers on RE1000. (*NOT* on RE1000 Plus.) 115 */ 116 117/* IRQ configuration. */ 118#define FE_RE1000_IRQCONF 0x10 119#define FE_RE1000_IRQCONF_IRQ 0xf0 120#define FE_RE1000_IRQCONF_IRQSHIFT 4 121 122/* MAC (station) address. */ 123#define FE_RE1000_MAC0 0x11 124#define FE_RE1000_MAC1 0x13 125#define FE_RE1000_MAC2 0x15 126#define FE_RE1000_MAC3 0x17 127#define FE_RE1000_MAC4 0x19 128#define FE_RE1000_MAC5 0x1B 129 130/* "Check sum" -- an xor of MAC0 through MAC5 */ 131#define FE_RE1000_MACCHK 0x1D 132 |
|