📄 e1000_hw.h
字号:
#define E1000_IMS_PB_PAR E1000_ICR_PB_PAR /* packet buffer parity error */#define E1000_IMS_RXD_FIFO_PAR1 E1000_ICR_RXD_FIFO_PAR1 /* queue 1 Rx descriptor FIFO parity error */#define E1000_IMS_TXD_FIFO_PAR1 E1000_ICR_TXD_FIFO_PAR1 /* queue 1 Tx descriptor FIFO parity error */#define E1000_IMS_DSW E1000_ICR_DSW#define E1000_IMS_PHYINT E1000_ICR_PHYINT#define E1000_IMS_EPRST E1000_ICR_EPRST/* 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#define E1000_IMC_ACK E1000_ICR_ACK /* Receive Ack frame */#define E1000_IMC_MNG E1000_ICR_MNG /* Manageability event */#define E1000_IMC_DOCK E1000_ICR_DOCK /* Dock/Undock */#define E1000_IMC_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0 /* queue 0 Rx descriptor FIFO parity error */#define E1000_IMC_TXD_FIFO_PAR0 E1000_ICR_TXD_FIFO_PAR0 /* queue 0 Tx descriptor FIFO parity error */#define E1000_IMC_HOST_ARB_PAR E1000_ICR_HOST_ARB_PAR /* host arb read buffer parity error */#define E1000_IMC_PB_PAR E1000_ICR_PB_PAR /* packet buffer parity error */#define E1000_IMC_RXD_FIFO_PAR1 E1000_ICR_RXD_FIFO_PAR1 /* queue 1 Rx descriptor FIFO parity error */#define E1000_IMC_TXD_FIFO_PAR1 E1000_ICR_TXD_FIFO_PAR1 /* queue 1 Tx descriptor FIFO parity error */#define E1000_IMC_DSW E1000_ICR_DSW#define E1000_IMC_PHYINT E1000_ICR_PHYINT#define E1000_IMC_EPRST E1000_ICR_EPRST/* 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_DTYP_MASK 0x00000C00 /* Descriptor type mask */#define E1000_RCTL_DTYP_PS 0x00000400 /* Packet Split descriptor */#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 */#define E1000_RCTL_FLXBUF_MASK 0x78000000 /* Flexible buffer size */#define E1000_RCTL_FLXBUF_SHIFT 27 /* Flexible buffer shift */#define E1000_EEPROM_SWDPIN0 0x0001 /* SWDPIN 0 EEPROM Value */#define E1000_EEPROM_LED_LOGIC 0x0020 /* Led Logic Word */#define E1000_EEPROM_RW_REG_DATA 16 /* Offset to data in EEPROM read/write registers */#define E1000_EEPROM_RW_REG_DONE 2 /* Offset to READ/WRITE done bit */#define E1000_EEPROM_RW_REG_START 1 /* First bit for telling part to start operation */#define E1000_EEPROM_RW_ADDR_SHIFT 2 /* Shift to the address bits */#define E1000_EEPROM_POLL_WRITE 1 /* Flag for polling for write complete */#define E1000_EEPROM_POLL_READ 0 /* Flag for polling for read complete *//* Register Bit Masks *//* Device Control */#define E1000_CTRL_FD 0x00000001 /* Full duplex.0=half; 1=full */#define E1000_CTRL_BEM 0x00000002 /* Endian Mode.0=little,1=big */#define E1000_CTRL_PRIOR 0x00000004 /* Priority on PCI. 0=rx,1=fair */#define E1000_CTRL_GIO_MASTER_DISABLE 0x00000004 /*Blocks new Master requests */#define E1000_CTRL_LRST 0x00000008 /* Link reset. 0=normal,1=reset */#define E1000_CTRL_TME 0x00000010 /* Test mode. 0=normal,1=test */#define E1000_CTRL_SLE 0x00000020 /* Serial Link on 0=dis,1=en */#define E1000_CTRL_ASDE 0x00000020 /* Auto-speed detect enable */#define E1000_CTRL_SLU 0x00000040 /* Set link up (Force Link) */#define E1000_CTRL_ILOS 0x00000080 /* Invert Loss-Of Signal */#define E1000_CTRL_SPD_SEL 0x00000300 /* Speed Select Mask */#define E1000_CTRL_SPD_10 0x00000000 /* Force 10Mb */#define E1000_CTRL_SPD_100 0x00000100 /* Force 100Mb */#define E1000_CTRL_SPD_1000 0x00000200 /* Force 1Gb */#define E1000_CTRL_BEM32 0x00000400 /* Big Endian 32 mode */#define E1000_CTRL_FRCSPD 0x00000800 /* Force Speed */#define E1000_CTRL_FRCDPX 0x00001000 /* Force Duplex */#define E1000_CTRL_D_UD_EN 0x00002000 /* Dock/Undock enable */#define E1000_CTRL_D_UD_POLARITY 0x00004000 /* Defined polarity of Dock/Undock indication in SDP[0] */#define E1000_CTRL_FORCE_PHY_RESET 0x00008000 /* Reset both PHY ports, through PHYRST_N pin */#define E1000_CTRL_EXT_LINK_EN 0x00010000 /* enable link status from external LINK_0 and LINK_1 pins */#define E1000_CTRL_SWDPIN0 0x00040000 /* SWDPIN 0 value */#define E1000_CTRL_SWDPIN1 0x00080000 /* SWDPIN 1 value */#define E1000_CTRL_SWDPIN2 0x00100000 /* SWDPIN 2 value */#define E1000_CTRL_SWDPIN3 0x00200000 /* SWDPIN 3 value */#define E1000_CTRL_SWDPIO0 0x00400000 /* SWDPIN 0 Input or output */#define E1000_CTRL_SWDPIO1 0x00800000 /* SWDPIN 1 input or output */#define E1000_CTRL_SWDPIO2 0x01000000 /* SWDPIN 2 input or output */#define E1000_CTRL_SWDPIO3 0x02000000 /* SWDPIN 3 input or output */#define E1000_CTRL_RST 0x04000000 /* Global reset */#define E1000_CTRL_RFCE 0x08000000 /* Receive Flow Control enable */#define E1000_CTRL_TFCE 0x10000000 /* Transmit flow control enable */#define E1000_CTRL_RTE 0x20000000 /* Routing tag enable */#define E1000_CTRL_VME 0x40000000 /* IEEE VLAN mode enable */#define E1000_CTRL_PHY_RST 0x80000000 /* PHY Reset */#define E1000_CTRL_SW2FW_INT 0x02000000 /* Initiate an interrupt to manageability engine *//* Device Status */#define E1000_STATUS_FD 0x00000001 /* Full duplex.0=half,1=full */#define E1000_STATUS_LU 0x00000002 /* Link up.0=no,1=link */#define E1000_STATUS_FUNC_MASK 0x0000000C /* PCI Function Mask */#define E1000_STATUS_FUNC_SHIFT 2#define E1000_STATUS_FUNC_0 0x00000000 /* Function 0 */#define E1000_STATUS_FUNC_1 0x00000004 /* Function 1 */#define E1000_STATUS_TXOFF 0x00000010 /* transmission paused */#define E1000_STATUS_TBIMODE 0x00000020 /* TBI mode */#define E1000_STATUS_SPEED_MASK 0x000000C0#define E1000_STATUS_SPEED_10 0x00000000 /* Speed 10Mb/s */#define E1000_STATUS_SPEED_100 0x00000040 /* Speed 100Mb/s */#define E1000_STATUS_SPEED_1000 0x00000080 /* Speed 1000Mb/s */#define E1000_STATUS_LAN_INIT_DONE 0x00000200 /* Lan Init Completion by EEPROM/Flash */#define E1000_STATUS_ASDV 0x00000300 /* Auto speed detect value */#define E1000_STATUS_DOCK_CI 0x00000800 /* Change in Dock/Undock state. Clear on write '0'. */#define E1000_STATUS_GIO_MASTER_ENABLE 0x00080000 /* Status of Master requests. */#define E1000_STATUS_MTXCKOK 0x00000400 /* MTX clock running OK */#define E1000_STATUS_PCI66 0x00000800 /* In 66Mhz slot */#define E1000_STATUS_BUS64 0x00001000 /* In 64 bit slot */#define E1000_STATUS_PCIX_MODE 0x00002000 /* PCI-X mode */#define E1000_STATUS_PCIX_SPEED 0x0000C000 /* PCI-X bus speed */#define E1000_STATUS_BMC_SKU_0 0x00100000 /* BMC USB redirect disabled */#define E1000_STATUS_BMC_SKU_1 0x00200000 /* BMC SRAM disabled */#define E1000_STATUS_BMC_SKU_2 0x00400000 /* BMC SDRAM disabled */#define E1000_STATUS_BMC_CRYPTO 0x00800000 /* BMC crypto disabled */#define E1000_STATUS_BMC_LITE 0x01000000 /* BMC external code execution disabled */#define E1000_STATUS_RGMII_ENABLE 0x02000000 /* RGMII disabled */#define E1000_STATUS_FUSE_8 0x04000000#define E1000_STATUS_FUSE_9 0x08000000#define E1000_STATUS_SERDES0_DIS 0x10000000 /* SERDES disabled on port 0 */#define E1000_STATUS_SERDES1_DIS 0x20000000 /* SERDES disabled on port 1 *//* EEPROM/Flash Control */#define E1000_EECD_SK 0x00000001 /* EEPROM Clock */#define E1000_EECD_CS 0x00000002 /* EEPROM Chip Select */#define E1000_EECD_DI 0x00000004 /* EEPROM Data In */#define E1000_EECD_DO 0x00000008 /* EEPROM Data Out */#define E1000_EECD_FWE_MASK 0x00000030#define E1000_EECD_FWE_DIS 0x00000010 /* Disable FLASH writes */#define E1000_EECD_FWE_EN 0x00000020 /* Enable FLASH writes */#define E1000_EECD_FWE_SHIFT 4#define E1000_EECD_REQ 0x00000040 /* EEPROM Access Request */#define E1000_EECD_GNT 0x00000080 /* EEPROM Access Grant */#define E1000_EECD_PRES 0x00000100 /* EEPROM Present */#define E1000_EECD_SIZE 0x00000200 /* EEPROM Size (0=64 word 1=256 word) */#define E1000_EECD_ADDR_BITS 0x00000400 /* EEPROM Addressing bits based on type * (0-small, 1-large) */#define E1000_EECD_TYPE 0x00002000 /* EEPROM Type (1-SPI, 0-Microwire) */#ifndef E1000_EEPROM_GRANT_ATTEMPTS#define E1000_EEPROM_GRANT_ATTEMPTS 1000 /* EEPROM # attempts to gain grant */#endif#define E1000_EECD_AUTO_RD 0x00000200 /* EEPROM Auto Read done */#define E1000_EECD_SIZE_EX_MASK 0x00007800 /* EEprom Size */#define E1000_EECD_SIZE_EX_SHIFT 11#define E1000_EECD_NVADDS 0x00018000 /* NVM Address Size */#define E1000_EECD_SELSHAD 0x00020000 /* Select Shadow RAM */#define E1000_EECD_INITSRAM 0x00040000 /* Initialize Shadow RAM */#define E1000_EECD_FLUPD 0x00080000 /* Update FLASH */#define E1000_EECD_AUPDEN 0x00100000 /* Enable Autonomous FLASH update */#define E1000_EECD_SHADV 0x00200000 /* Shadow RAM Data Valid */#define E1000_EECD_SEC1VAL 0x00400000 /* Sector One Valid */#define E1000_EECD_SECVAL_SHIFT 22#define E1000_STM_OPCODE 0xDB00#define E1000_HICR_FW_RESET 0xC0#define E1000_SHADOW_RAM_WORDS 2048#define E1000_ICH_NVM_SIG_WORD 0x13#define E1000_ICH_NVM_SIG_MASK 0xC0/* MDI Control */#define E1000_MDIC_DATA_MASK 0x0000FFFF#define E1000_MDIC_REG_MASK 0x001F0000#define E1000_MDIC_REG_SHIFT 16#define E1000_MDIC_PHY_MASK 0x03E00000#define E1000_MDIC_PHY_SHIFT 21#define E1000_MDIC_OP_WRITE 0x04000000#define E1000_MDIC_OP_READ 0x08000000#define E1000_MDIC_READY 0x10000000#define E1000_MDIC_INT_EN 0x20000000#define E1000_MDIC_ERROR 0x40000000/* 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 Word Offsets */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -