1 2 /* ====== ethernet card info. ====== */ 3 typedef struct ether_card 4 { 5 unsigned int ec_mode; 6 port_t ec_port; 7 int ec_irq; 8 int ec_hook; 9 } ether_card_t; 10 11 /* 12 * NOTE: Not all the CSRs are defined. Just the ones that were deemed 13 * necessary or potentially useful. 14 */ 15 16 /* Control and Status Register Addresses */ 17 #define LANCE_CSR0 0 /* Controller Status Register */ 18 #define LANCE_CSR1 1 /* Initialization Block Address (Lower) */ 19 #define LANCE_CSR2 2 /* Initialization Block Address (Upper) */ 20 #define LANCE_CSR3 3 /* Interrupt Masks and Deferral Control */ 21 #define LANCE_CSR4 4 /* Test and Features Control */ 22 #define LANCE_CSR5 5 /* Extended Control and Interrupt */ 23 #define LANCE_CSR8 8 /* Logical Address Filter 0 */ 24 #define LANCE_CSR9 9 /* Logical Address Filter 1 */ 25 #define LANCE_CSR10 10 /* Logical Address Filter 2 */ 26 #define LANCE_CSR11 11 /* Logical Address Filter 3 */ 27 #define LANCE_CSR15 15 /* Mode */ 28 #define LANCE_CSR88 88 /* Chip ID Register (Lower) */ 29 #define LANCE_CSR89 89 /* Chip ID Register (Upper) */ 30 31 /* Control and Status Register 0 (CSR0) */ 32 #define LANCE_CSR0_ERR 0x8000 /* Error Occurred */ 33 #define LANCE_CSR0_BABL 0x4000 /* Transmitter Timeout Error */ 34 #define LANCE_CSR0_CERR 0x2000 /* Collision Error */ 35 #define LANCE_CSR0_MISS 0x1000 /* Missed Frame */ 36 #define LANCE_CSR0_MERR 0x0800 /* Memory Error */ 37 #define LANCE_CSR0_RINT 0x0400 /* Receive Interrupt */ 38 #define LANCE_CSR0_TINT 0x0200 /* Transmit Interrupt */ 39 #define LANCE_CSR0_IDON 0x0100 /* Initialization Done */ 40 #define LANCE_CSR0_INTR 0x0080 /* Interrupt Flag */ 41 #define LANCE_CSR0_IENA 0x0040 /* Interrupt Enable */ 42 #define LANCE_CSR0_RXON 0x0020 /* Receive On */ 43 #define LANCE_CSR0_TXON 0x0010 /* Transmit On */ 44 #define LANCE_CSR0_TDMD 0x0008 /* Transmit Demand */ 45 #define LANCE_CSR0_STOP 0x0004 /* Stop */ 46 #define LANCE_CSR0_STRT 0x0002 /* Start */ 47 #define LANCE_CSR0_INIT 0x0001 /* Init */ 48 49 /* Control and Status Register 3 (CSR3) */ 50 /* 0x8000 Reserved */ 51 #define LANCE_CSR3_BABLM 0x4000 /* Babble Mask */ 52 /* 0x2000 Reserved */ 53 #define LANCE_CSR3_MISSM 0x1000 /* Missed Frame Mask */ 54 #define LANCE_CSR3_MERRM 0x0800 /* Memory Error Mask */ 55 #define LANCE_CSR3_RINTM 0x0400 /* Receive Interrupt Mask */ 56 #define LANCE_CSR3_TINTM 0x0200 /* Transmit Interrupt Mask */ 57 #define LANCE_CSR3_IDONM 0x0100 /* Initialization Done Mask */ 58 /* 0x0080 Reserved */ 59 #define LANCE_CSR3_DXSUFLO 0x0040 /* Disable Transmit Stop on Underflow */ 60 #define LANCE_CSR3_LAPPEN 0x0020 /* Look Ahead Packet Processing Enable */ 61 #define LANCE_CSR3_DXMT2PD 0x0010 /* Disable Transmit Two Part Deferral */ 62 #define LANCE_CSR3_EMBA 0x0008 /* Enable Modified Back-off Algorithm */ 63 #define LANCE_CSR3_BSWP 0x0004 /* Byte Swap */ 64 /* 0x0002 Reserved 65 * 0x0001 Reserved */ 66 67 /* Control and Status Register 4 (CSR4) */ 68 #define LANCE_CSR4_EN124 0x8000 /* Enable CSR124 Access */ 69 #define LANCE_CSR4_DMAPLUS 0x4000 /* Disable DMA Burst Transfer Counter */ 70 #define LANCE_CSR4_TIMER 0x2000 /* Enable Bus Activity Timer */ 71 #define LANCE_CSR4_DPOLL 0x1000 /* Disable Transmit Polling */ 72 #define LANCE_CSR4_APAD_XMT 0x0800 /* Auto Pad Transmit */ 73 #define LANCE_CSR4_ASTRP_RCV 0x0400 /* Auto Strip Receive */ 74 #define LANCE_CSR4_MFCO 0x0200 /* Missed Frame Counter Overflow */ 75 #define LANCE_CSR4_MFCOM 0x0100 /* Missed Frame Counter Overflow Mask */ 76 #define LANCE_CSR4_UINTCMD 0x0080 /* User Interrupt Command */ 77 #define LANCE_CSR4_UINT 0x0040 /* User Interrupt */ 78 #define LANCE_CSR4_RCVCCO 0x0020 /* Receive Collision Counter Overflow */ 79 #define LANCE_CSR4_RCVCCOM 0x0010 /* Receive Collision Counter Overflow 80 * Mask */ 81 #define LANCE_CSR4_TXSTRT 0x0008 /* Transmit Start */ 82 #define LANCE_CSR4_TXSTRTM 0x0004 /* Transmit Start Mask */ 83 #define LANCE_CSR4_JAB 0x0002 /* Jabber Error */ 84 #define LANCE_CSR4_JABM 0x0001 /* Jabber Error Mask */ 85 86 /* Control and Status Register 5 (CSR5) */ 87 #define LANCE_CSR5_TOKINTD 0x8000 /* Transmit OK Interrupt Disable */ 88 #define LANCE_CSR5_LINTEN 0x4000 /* Last Transmit Interrupt Enable */ 89 /* 0x2000 Reserved 90 * 0x1000 Reserved */ 91 #define LANCE_CSR5_SINT 0x0800 /* System Interrupt */ 92 #define LANCE_CSR5_SINTE 0x0400 /* System Interrupt Enable */ 93 #define LANCE_CSR5_SLPINT 0x0200 /* Sleep Interrupt */ 94 #define LANCE_CSR5_SLPINTE 0x0100 /* Sleep Interrupt Enable */ 95 #define LANCE_CSR5_EXDINT 0x0080 /* Excessive Deferral Interrupt */ 96 #define LANCE_CSR5_EXDINTE 0x0040 /* Excessive Deferral Interrupt Enable */ 97 #define LANCE_CSR5_MPPLBA 0x0020 /* Magic Packet Physical Logical Broadcast 98 * Accept */ 99 #define LANCE_CSR5_MPINT 0x0010 /* Magic Packet Interrupt */ 100 #define LANCE_CSR5_MPINTE 0x0008 /* Magic Packet Interrupt Enable */ 101 #define LANCE_CSR5_MPEN 0x0004 /* Magic Packet Enable */ 102 #define LANCE_CSR5_MPMODE 0x0002 /* Magic Packet Mode */ 103 #define LANCE_CSR5_SPND 0x0001 /* Suspend */ 104 105 /* Control and Status Register 15 (CSR15) */ 106 #define LANCE_CSR15_PROM 0x8000 /* Promiscuous Mode */ 107 #define LANCE_CSR15_DRCVBC 0x4000 /* Disable Receive Broadcast */ 108 #define LANCE_CSR15_DRCVPA 0x2000 /* Disable Receive Physical Address */ 109 #define LANCE_CSR15_DLNKTST 0x1000 /* Disable Link Status */ 110 #define LANCE_CSR15_DAPC 0x0800 /* Disable Automatic Polarity Correction */ 111 #define LANCE_CSR15_MENDECL 0x0400 /* MENDEC Loopback Mode */ 112 #define LANCE_CSR15_LRT 0x0200 /* Low Receive Threshold (T-MAU Mode) */ 113 #define LANCE_CSR15_TSEL 0x0200 /* Transmit Mode Select (AUI Mode) */ 114 /* 0x0100 Portsel[1] 115 * 0x0080 Portsel[0] */ 116 #define LANCE_CSR15_INTL 0x0040 /* Internal Loopback */ 117 #define LANCE_CSR15_DRTY 0x0020 /* Disable Retry */ 118 #define LANCE_CSR15_FCOLL 0x0010 /* Force Collision */ 119 #define LANCE_CSR15_DXMTFCS 0x0008 /* Disable Transmit CRC (FCS) */ 120 #define LANCE_CSR15_LOOP 0x0004 /* Loopback Enable */ 121 #define LANCE_CSR15_DTX 0x0002 /* Disable Transmit */ 122 #define LANCE_CSR15_DRX 0x0001 /* Disable Receiver */ 123