⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e1000_hw.h

📁 intel E1000类型网卡驱动源代码,目前在2.4的内核下支持82573的芯片不是很好,其他都不错
💻 H
📖 第 1 页 / 共 5 页
字号:
#define E1000_LEDCTL_MODE_LINK_ACTIVITY 0x4#define E1000_LEDCTL_MODE_LINK_10       0x5#define E1000_LEDCTL_MODE_LINK_100      0x6#define E1000_LEDCTL_MODE_LINK_1000     0x7#define E1000_LEDCTL_MODE_PCIX_MODE     0x8#define E1000_LEDCTL_MODE_FULL_DUPLEX   0x9#define E1000_LEDCTL_MODE_COLLISION     0xA#define E1000_LEDCTL_MODE_BUS_SPEED     0xB#define E1000_LEDCTL_MODE_BUS_SIZE      0xC#define E1000_LEDCTL_MODE_PAUSED        0xD#define E1000_LEDCTL_MODE_LED_ON        0xE#define E1000_LEDCTL_MODE_LED_OFF       0xF/* Receive Address */#define E1000_RAH_AV  0x80000000        /* Receive descriptor valid *//* Interrupt Cause Read */#define E1000_ICR_TXDW          0x00000001 /* Transmit desc written back */#define E1000_ICR_TXQE          0x00000002 /* Transmit Queue empty */#define E1000_ICR_LSC           0x00000004 /* Link Status Change */#define E1000_ICR_RXSEQ         0x00000008 /* rx sequence error */#define E1000_ICR_RXDMT0        0x00000010 /* rx desc min. threshold (0) */#define E1000_ICR_RXO           0x00000040 /* rx overrun */#define E1000_ICR_RXT0          0x00000080 /* rx timer intr (ring 0) */#define E1000_ICR_MDAC          0x00000200 /* MDIO access complete */#define E1000_ICR_RXCFG         0x00000400 /* RX /c/ ordered set */#define E1000_ICR_GPI_EN0       0x00000800 /* GP Int 0 */#define E1000_ICR_GPI_EN1       0x00001000 /* GP Int 1 */#define E1000_ICR_GPI_EN2       0x00002000 /* GP Int 2 */#define E1000_ICR_GPI_EN3       0x00004000 /* GP Int 3 */#define E1000_ICR_TXD_LOW       0x00008000#define E1000_ICR_SRPD          0x00010000/* Interrupt Cause Set */#define E1000_ICS_TXDW      E1000_ICR_TXDW      /* Transmit desc written back */#define E1000_ICS_TXQE      E1000_ICR_TXQE      /* Transmit Queue empty */#define E1000_ICS_LSC       E1000_ICR_LSC       /* Link Status Change */#define E1000_ICS_RXSEQ     E1000_ICR_RXSEQ     /* rx sequence error */#define E1000_ICS_RXDMT0    E1000_ICR_RXDMT0    /* rx desc min. threshold */#define E1000_ICS_RXO       E1000_ICR_RXO       /* rx overrun */#define E1000_ICS_RXT0      E1000_ICR_RXT0      /* rx timer intr */#define E1000_ICS_MDAC      E1000_ICR_MDAC      /* MDIO access complete */#define E1000_ICS_RXCFG     E1000_ICR_RXCFG     /* RX /c/ ordered set */#define E1000_ICS_GPI_EN0   E1000_ICR_GPI_EN0   /* GP Int 0 */#define E1000_ICS_GPI_EN1   E1000_ICR_GPI_EN1   /* GP Int 1 */#define E1000_ICS_GPI_EN2   E1000_ICR_GPI_EN2   /* GP Int 2 */#define E1000_ICS_GPI_EN3   E1000_ICR_GPI_EN3   /* GP Int 3 */#define E1000_ICS_TXD_LOW   E1000_ICR_TXD_LOW#define E1000_ICS_SRPD      E1000_ICR_SRPD/* Interrupt Mask Set */#define E1000_IMS_TXDW      E1000_ICR_TXDW      /* Transmit desc written back */#define E1000_IMS_TXQE      E1000_ICR_TXQE      /* Transmit Queue empty */#define E1000_IMS_LSC       E1000_ICR_LSC       /* Link Status Change */#define E1000_IMS_RXSEQ     E1000_ICR_RXSEQ     /* rx sequence error */#define E1000_IMS_RXDMT0    E1000_ICR_RXDMT0    /* rx desc min. threshold */#define E1000_IMS_RXO       E1000_ICR_RXO       /* rx overrun */#define E1000_IMS_RXT0      E1000_ICR_RXT0      /* rx timer intr */#define E1000_IMS_MDAC      E1000_ICR_MDAC      /* MDIO access complete */#define E1000_IMS_RXCFG     E1000_ICR_RXCFG     /* RX /c/ ordered set */#define E1000_IMS_GPI_EN0   E1000_ICR_GPI_EN0   /* GP Int 0 */#define E1000_IMS_GPI_EN1   E1000_ICR_GPI_EN1   /* GP Int 1 */#define E1000_IMS_GPI_EN2   E1000_ICR_GPI_EN2   /* GP Int 2 */#define E1000_IMS_GPI_EN3   E1000_ICR_GPI_EN3   /* GP Int 3 */#define E1000_IMS_TXD_LOW   E1000_ICR_TXD_LOW#define E1000_IMS_SRPD      E1000_ICR_SRPD/* Interrupt Mask Clear */#define E1000_IMC_TXDW      E1000_ICR_TXDW      /* Transmit desc written back */#define E1000_IMC_TXQE      E1000_ICR_TXQE      /* Transmit Queue empty */#define E1000_IMC_LSC       E1000_ICR_LSC       /* Link Status Change */#define E1000_IMC_RXSEQ     E1000_ICR_RXSEQ     /* rx sequence error */#define E1000_IMC_RXDMT0    E1000_ICR_RXDMT0    /* rx desc min. threshold */#define E1000_IMC_RXO       E1000_ICR_RXO       /* rx overrun */#define E1000_IMC_RXT0      E1000_ICR_RXT0      /* rx timer intr */#define E1000_IMC_MDAC      E1000_ICR_MDAC      /* MDIO access complete */#define E1000_IMC_RXCFG     E1000_ICR_RXCFG     /* RX /c/ ordered set */#define E1000_IMC_GPI_EN0   E1000_ICR_GPI_EN0   /* GP Int 0 */#define E1000_IMC_GPI_EN1   E1000_ICR_GPI_EN1   /* GP Int 1 */#define E1000_IMC_GPI_EN2   E1000_ICR_GPI_EN2   /* GP Int 2 */#define E1000_IMC_GPI_EN3   E1000_ICR_GPI_EN3   /* GP Int 3 */#define E1000_IMC_TXD_LOW   E1000_ICR_TXD_LOW#define E1000_IMC_SRPD      E1000_ICR_SRPD/* Receive Control */#define E1000_RCTL_RST            0x00000001    /* Software reset */#define E1000_RCTL_EN             0x00000002    /* enable */#define E1000_RCTL_SBP            0x00000004    /* store bad packet */#define E1000_RCTL_UPE            0x00000008    /* unicast promiscuous enable */#define E1000_RCTL_MPE            0x00000010    /* multicast promiscuous enab */#define E1000_RCTL_LPE            0x00000020    /* long packet enable */#define E1000_RCTL_LBM_NO         0x00000000    /* no loopback mode */#define E1000_RCTL_LBM_MAC        0x00000040    /* MAC loopback mode */#define E1000_RCTL_LBM_SLP        0x00000080    /* serial link loopback mode */#define E1000_RCTL_LBM_TCVR       0x000000C0    /* tcvr loopback mode */#define E1000_RCTL_RDMTS_HALF     0x00000000    /* rx desc min threshold size */#define E1000_RCTL_RDMTS_QUAT     0x00000100    /* rx desc min threshold size */#define E1000_RCTL_RDMTS_EIGTH    0x00000200    /* rx desc min threshold size */#define E1000_RCTL_MO_SHIFT       12            /* multicast offset shift */#define E1000_RCTL_MO_0           0x00000000    /* multicast offset 11:0 */#define E1000_RCTL_MO_1           0x00001000    /* multicast offset 12:1 */#define E1000_RCTL_MO_2           0x00002000    /* multicast offset 13:2 */#define E1000_RCTL_MO_3           0x00003000    /* multicast offset 15:4 */#define E1000_RCTL_MDR            0x00004000    /* multicast desc ring 0 */#define E1000_RCTL_BAM            0x00008000    /* broadcast enable *//* these buffer sizes are valid if E1000_RCTL_BSEX is 0 */#define E1000_RCTL_SZ_2048        0x00000000    /* rx buffer size 2048 */#define E1000_RCTL_SZ_1024        0x00010000    /* rx buffer size 1024 */#define E1000_RCTL_SZ_512         0x00020000    /* rx buffer size 512 */#define E1000_RCTL_SZ_256         0x00030000    /* rx buffer size 256 *//* these buffer sizes are valid if E1000_RCTL_BSEX is 1 */#define E1000_RCTL_SZ_16384       0x00010000    /* rx buffer size 16384 */#define E1000_RCTL_SZ_8192        0x00020000    /* rx buffer size 8192 */#define E1000_RCTL_SZ_4096        0x00030000    /* rx buffer size 4096 */#define E1000_RCTL_VFE            0x00040000    /* vlan filter enable */#define E1000_RCTL_CFIEN          0x00080000    /* canonical form enable */#define E1000_RCTL_CFI            0x00100000    /* canonical form indicator */#define E1000_RCTL_DPF            0x00400000    /* discard pause frames */#define E1000_RCTL_PMCF           0x00800000    /* pass MAC control frames */#define E1000_RCTL_BSEX           0x02000000    /* Buffer size extension */#define E1000_RCTL_SECRC          0x04000000    /* Strip Ethernet CRC *//* Receive Descriptor */#define E1000_RDT_DELAY 0x0000ffff      /* Delay timer (1=1024us) */#define E1000_RDT_FPDB  0x80000000      /* Flush descriptor block */#define E1000_RDLEN_LEN 0x0007ff80      /* descriptor length */#define E1000_RDH_RDH   0x0000ffff      /* receive descriptor head */#define E1000_RDT_RDT   0x0000ffff      /* receive descriptor tail *//* Flow Control */#define E1000_FCRTH_RTH  0x0000FFF8     /* Mask Bits[15:3] for RTH */#define E1000_FCRTH_XFCE 0x80000000     /* External Flow Control Enable */#define E1000_FCRTL_RTL  0x0000FFF8     /* Mask Bits[15:3] for RTL */#define E1000_FCRTL_XONE 0x80000000     /* Enable XON frame transmission *//* Receive Descriptor Control */#define E1000_RXDCTL_PTHRESH 0x0000003F /* RXDCTL Prefetch Threshold */#define E1000_RXDCTL_HTHRESH 0x00003F00 /* RXDCTL Host Threshold */#define E1000_RXDCTL_WTHRESH 0x003F0000 /* RXDCTL Writeback Threshold */#define E1000_RXDCTL_GRAN    0x01000000 /* RXDCTL Granularity *//* Transmit Descriptor Control */#define E1000_TXDCTL_PTHRESH 0x000000FF /* TXDCTL Prefetch Threshold */#define E1000_TXDCTL_HTHRESH 0x0000FF00 /* TXDCTL Host Threshold */#define E1000_TXDCTL_WTHRESH 0x00FF0000 /* TXDCTL Writeback Threshold */#define E1000_TXDCTL_GRAN    0x01000000 /* TXDCTL Granularity */#define E1000_TXDCTL_LWTHRESH 0xFE000000 /* TXDCTL Low Threshold */#define E1000_TXDCTL_FULL_TX_DESC_WB 0x01010000 /* GRAN=1, WTHRESH=1 *//* Transmit Configuration Word */#define E1000_TXCW_FD         0x00000020        /* TXCW full duplex */#define E1000_TXCW_HD         0x00000040        /* TXCW half duplex */#define E1000_TXCW_PAUSE      0x00000080        /* TXCW sym pause request */#define E1000_TXCW_ASM_DIR    0x00000100        /* TXCW astm pause direction */#define E1000_TXCW_PAUSE_MASK 0x00000180        /* TXCW pause request mask */#define E1000_TXCW_RF         0x00003000        /* TXCW remote fault */#define E1000_TXCW_NP         0x00008000        /* TXCW next page */#define E1000_TXCW_CW         0x0000ffff        /* TxConfigWord mask */#define E1000_TXCW_TXC        0x40000000        /* Transmit Config control */#define E1000_TXCW_ANE        0x80000000        /* Auto-neg enable *//* Receive Configuration Word */#define E1000_RXCW_CW    0x0000ffff     /* RxConfigWord mask */#define E1000_RXCW_NC    0x04000000     /* Receive config no carrier */#define E1000_RXCW_IV    0x08000000     /* Receive config invalid */#define E1000_RXCW_CC    0x10000000     /* Receive config change */#define E1000_RXCW_C     0x20000000     /* Receive config */#define E1000_RXCW_SYNCH 0x40000000     /* Receive config synch */#define E1000_RXCW_ANC   0x80000000     /* Auto-neg complete *//* Transmit Control */#define E1000_TCTL_RST    0x00000001    /* software reset */#define E1000_TCTL_EN     0x00000002    /* enable tx */#define E1000_TCTL_BCE    0x00000004    /* busy check enable */#define E1000_TCTL_PSP    0x00000008    /* pad short packets */#define E1000_TCTL_CT     0x00000ff0    /* collision threshold */#define E1000_TCTL_COLD   0x003ff000    /* collision distance */#define E1000_TCTL_SWXOFF 0x00400000    /* SW Xoff transmission */#define E1000_TCTL_PBE    0x00800000    /* Packet Burst Enable */#define E1000_TCTL_RTLC   0x01000000    /* Re-transmit on late collision */#define E1000_TCTL_NRTU   0x02000000    /* No Re-transmit on underrun *//* Receive Checksum Control */#define E1000_RXCSUM_PCSS_MASK 0x000000FF   /* Packet Checksum Start */#define E1000_RXCSUM_IPOFL     0x00000100   /* IPv4 checksum offload */#define E1000_RXCSUM_TUOFL     0x00000200   /* TCP / UDP checksum offload */#define E1000_RXCSUM_IPV6OFL   0x00000400   /* IPv6 checksum offload *//* Definitions for power management and wakeup registers *//* Wake Up Control */#define E1000_WUC_APME       0x00000001 /* APM Enable */#define E1000_WUC_PME_EN     0x00000002 /* PME Enable */#define E1000_WUC_PME_STATUS 0x00000004 /* PME Status */#define E1000_WUC_APMPME     0x00000008 /* Assert PME on APM Wakeup */#define E1000_WUC_SPM        0x80000000 /* Enable SPM *//* Wake Up Filter Control */#define E1000_WUFC_LNKC 0x00000001 /* Link Status Change Wakeup Enable */#define E1000_WUFC_MAG  0x00000002 /* Magic Packet Wakeup Enable */#define E1000_WUFC_EX   0x00000004 /* Directed Exact Wakeup Enable */#define E1000_WUFC_MC   0x00000008 /* Directed Multicast Wakeup Enable */#define E1000_WUFC_BC   0x00000010 /* Broadcast Wakeup Enable */#define E1000_WUFC_ARP  0x00000020 /* ARP Request Packet Wakeup Enable */#define E1000_WUFC_IPV4 0x00000040 /* Directed IPv4 Packet Wakeup Enable */#define E1000_WUFC_IPV6 0x00000080 /* Directed IPv6 Packet Wakeup Enable */#define E1000_WUFC_FLX0 0x00010000 /* Flexible Filter 0 Enable */#define E1000_WUFC_FLX1 0x00020000 /* Flexible Filter 1 Enable */#define E1000_WUFC_FLX2 0x00040000 /* Flexible Filter 2 Enable */#define E1000_WUFC_FLX3 0x00080000 /* Flexible Filter 3 Enable */#define E1000_WUFC_ALL_FILTERS 0x000F00FF /* Mask for all wakeup filters */#define E1000_WUFC_FLX_OFFSET 16       /* Offset to the Flexible Filters bits */#define E1000_WUFC_FLX_FILTERS 0x000F0000 /* Mask for the 4 flexible filters *//* Wake Up Status */#define E1000_WUS_LNKC 0x00000001 /* Link Status Changed */#define E1000_WUS_MAG  0x00000002 /* Magic Packet Received */#define E1000_WUS_EX   0x00000004 /* Directed Exact Received */#define E1000_WUS_MC   0x00000008 /* Directed Multicast Received */#define E1000_WUS_BC   0x00000010 /* Broadcast Received */#define E1000_WUS_ARP  0x00000020 /* ARP Request Packet Received */#define E1000_WUS_IPV4 0x00000040 /* Directed IPv4 Packet Wakeup Received */#define E1000_WUS_IPV6 0x00000080 /* Directed IPv6 Packet Wakeup Received */#define E1000_WUS_FLX0 0x00010000 /* Flexible Filter 0 Match */#define E1000_WUS_FLX1 0x00020000 /* Flexible Filter 1 Match */#define E1000_WUS_FLX2 0x00040000 /* Flexible Filter 2 Match */#define E1000_WUS_FLX3 0x00080000 /* Flexible Filter 3 Match */#define E1000_WUS_FLX_FILTERS 0x000F0000 /* Mask for the 4 flexible filters *//* Management Control */#define E1000_MANC_SMBUS_EN      0x00000001 /* SMBus Enabled - RO */#define E1000_MANC_ASF_EN        0x00000002 /* ASF Enabled - RO */#define E1000_MANC_R_ON_FORCE    0x00000004 /* Reset on Force TCO - RO */#define E1000_MANC_RMCP_EN       0x00000100 /* Enable RCMP 026Fh Filtering */#define E1000_MANC_0298_EN       0x00000200 /* Enable RCMP 0298h Filtering */#define E1000_MANC_IPV4_EN       0x00000400 /* Enable IPv4 */#define E1000_MANC_IPV6_EN       0x00000800 /* Enable IPv6 */#define E1000_MANC_SNAP_EN       0x00001000 /* Accept LLC/SNAP */#define E1000_MANC_ARP_EN        0x00002000 /* Enable ARP Request Filtering */#define E1000_MANC_NEIGHBOR_EN   0x00004000 /* Enable Neighbor Discovery                                             * Filtering */#define E1000_MANC_TCO_RESET     0x00010000 /* TCO Reset Occurred */#define E1000_MANC_RCV_TCO_EN    0x00020000 /* Receive TCO Packets Enabled */#define E1000_MANC_REPORT_STATUS 0x00040000 /* Status Reporting Enabled */#define E1000_MANC_EN_MAC_ADDR_FILTER   0x00100000 /* Enable MAC address                                                    * filtering */#define E1000_MANC_EN_MNG2HOST   0x00200000 /* Enable MNG packets to host                                             * memory */#define E1000_MANC_SMB_REQ       0x01000000 /* SMBus Request */#define E1000_MANC_SMB_GNT       0x02000000 /* SMBus Grant */#define E1000_MANC_SMB_CLK_IN    0x04000000 /* SMBus Clock In */#define E1000_MANC_SMB_DATA_IN   0x08000000 /* SMBus Data In */#define E1000_MANC_SMB_DATA_OUT  0x10000000 /* SMBus Data Out */#define E1000_MANC_SMB_CLK_OUT   0x20000000 /* SMBus Clock Out */#define E1000_MANC_SMB_DATA_OUT_SHIFT  28 /* SMBus Data Out Shift */#define E1000_MANC_SMB_CLK_OUT_SHIFT   29 /* SMBus Clock Out Shift *//* Wake Up Packet Length */#define E1000_WUPL_LENGTH_MASK 0x0FFF   /* Only the lower 12 bits are valid */#define E1000_MDALIGN          4096/* EEPROM Commands - Microwire */#define EEPROM_READ_OPCODE_MICROWIRE  0x6  /* EEPROM read opcode */#define EEPROM_WRITE_OPCODE_MICROWIRE 0x5  /* EEPROM write opcode */#define EEPROM_ERASE_OPCODE_MICROWIRE 0x7  /* EEPROM erase opcode */#define EEPROM_EWEN_OPCODE_MICROWIRE  0x13 /* EEPROM erase/write enable */#define EEPROM_EWDS_OPCODE_MICROWIRE  0x10 /* EEPROM erast/write disable *//* EEPROM Commands - SPI */#define EEPROM_MAX_RETRY_SPI    5000 /* Max wait of 5ms, for RDY signal */#define EEPROM_READ_OPCODE_SPI  0x3  /* EEPROM read opcode */#define EEPROM_WRITE_OPCODE_SPI 0x2  /* EEPROM write opcode */#define EEPROM_A8_OPCODE_SPI    0x8  /* opcode bit-3 = address bit-8 */#define EEPROM_WREN_OPCODE_SPI  0x6  /* EEPROM set Write Enable latch */#define EEPROM_WRDI_OPCODE_SPI  0x4  /* EEPROM reset Write Enable latch */#define EEPROM_RDSR_OPCODE_SPI  0x5  /* EEPROM read Status register */#define EEPROM_WRSR_OPCODE_SPI  0x1  /* EEPROM write Status register *//* EEPROM Size definitions */#define EEPROM_SIZE_16KB        0x1800#define EEPROM_SIZE_8KB         0x1400#define EEPROM_SIZE_4KB         0x1000#define EEPROM_SIZE_2KB         0x0C00#define EEPROM_SIZE_1KB         0x0800#define EEPROM_SIZE_512B        0x0400#define EEPROM_SIZE_128B        0x0000#define EEPROM_SIZE_MASK        0x1C00/* EEPROM Word Offsets */#define EEPROM_COMPAT                 0x0003#define EEPROM_ID_LED_SETTINGS        0x0004#define EEPROM_SERDES_AMPLITUDE       0x0006 /* For SERDES output amplitude adjustment. */#define EEPROM_PHY_CLASS_WORD         0x0007#define EEPROM_INIT_CONTROL1_REG      0x000A#define EEPROM_INIT_CONTROL2_REG      0x000F#define EEPROM_INIT_CONTROL3_PORT_B   0x0014#define EEPROM_INIT_CONTROL3_PORT_A   0x0024#define EEPROM_CFG                    0x0012#define EEPROM_FLASH_VERSION  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -