📄 e1000_defines.h
字号:
#define E1000_MANC_REPORT_STATUS 0x00040000 /* Status Reporting Enabled */#define E1000_MANC_RCV_ALL 0x00080000 /* Receive All Enabled */#define E1000_MANC_BLK_PHY_RST_ON_IDE 0x00040000 /* Block phy resets *//* Enable MAC address filtering */#define E1000_MANC_EN_MAC_ADDR_FILTER 0x00100000/* Enable MNG packets to host memory */#define E1000_MANC_EN_MNG2HOST 0x00200000/* Enable IP address filtering */#define E1000_MANC_EN_IP_ADDR_FILTER 0x00400000#define E1000_MANC_EN_XSUM_FILTER 0x00800000 /* Enable checksum filtering */#define E1000_MANC_BR_EN 0x01000000 /* Enable broadcast filtering */#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 *//* 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 *//* * Use byte values for the following shift parameters * Usage: * psrctl |= (((ROUNDUP(value0, 128) >> E1000_PSRCTL_BSIZE0_SHIFT) & * E1000_PSRCTL_BSIZE0_MASK) | * ((ROUNDUP(value1, 1024) >> E1000_PSRCTL_BSIZE1_SHIFT) & * E1000_PSRCTL_BSIZE1_MASK) | * ((ROUNDUP(value2, 1024) << E1000_PSRCTL_BSIZE2_SHIFT) & * E1000_PSRCTL_BSIZE2_MASK) | * ((ROUNDUP(value3, 1024) << E1000_PSRCTL_BSIZE3_SHIFT) |; * E1000_PSRCTL_BSIZE3_MASK)) * where value0 = [128..16256], default=256 * value1 = [1024..64512], default=4096 * value2 = [0..64512], default=4096 * value3 = [0..64512], default=0 */#define E1000_PSRCTL_BSIZE0_MASK 0x0000007F#define E1000_PSRCTL_BSIZE1_MASK 0x00003F00#define E1000_PSRCTL_BSIZE2_MASK 0x003F0000#define E1000_PSRCTL_BSIZE3_MASK 0x3F000000#define E1000_PSRCTL_BSIZE0_SHIFT 7 /* Shift _right_ 7 */#define E1000_PSRCTL_BSIZE1_SHIFT 2 /* Shift _right_ 2 */#define E1000_PSRCTL_BSIZE2_SHIFT 6 /* Shift _left_ 6 */#define E1000_PSRCTL_BSIZE3_SHIFT 14 /* Shift _left_ 14 *//* SWFW_SYNC Definitions */#define E1000_SWFW_EEP_SM 0x1#define E1000_SWFW_PHY0_SM 0x2#define E1000_SWFW_PHY1_SM 0x4#define E1000_SWFW_CSR_SM 0x8/* FACTPS Definitions */#define E1000_FACTPS_LFS 0x40000000 /* LAN Function Select *//* 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 */#define E1000_CTRL_I2C_ENA 0x02000000 /* I2C enable *//* Bit definitions for the Management Data IO (MDIO) and Management Data * Clock (MDC) pins in the Device Control Register. */#define E1000_CTRL_PHY_RESET_DIR E1000_CTRL_SWDPIO0#define E1000_CTRL_PHY_RESET E1000_CTRL_SWDPIN0#define E1000_CTRL_MDIO_DIR E1000_CTRL_SWDPIO2#define E1000_CTRL_MDIO E1000_CTRL_SWDPIN2#define E1000_CTRL_MDC_DIR E1000_CTRL_SWDPIO3#define E1000_CTRL_MDC E1000_CTRL_SWDPIN3#define E1000_CTRL_PHY_RESET_DIR4 E1000_CTRL_EXT_SDP4_DIR#define E1000_CTRL_PHY_RESET4 E1000_CTRL_EXT_SDP4_DATA#define E1000_CONNSW_ENRGSRC 0x4#define E1000_PCS_CFG_PCS_EN 8#define E1000_PCS_LCTL_FLV_LINK_UP 1#define E1000_PCS_LCTL_FSV_10 0#define E1000_PCS_LCTL_FSV_100 2#define E1000_PCS_LCTL_FSV_1000 4#define E1000_PCS_LCTL_FDV_FULL 8#define E1000_PCS_LCTL_FSD 0x10#define E1000_PCS_LCTL_FORCE_LINK 0x20#define E1000_PCS_LCTL_LOW_LINK_LATCH 0x40#define E1000_PCS_LCTL_AN_ENABLE 0x10000#define E1000_PCS_LCTL_AN_RESTART 0x20000#define E1000_PCS_LCTL_AN_TIMEOUT 0x40000#define E1000_PCS_LCTL_AN_SGMII_BYPASS 0x80000#define E1000_PCS_LCTL_AN_SGMII_TRIGGER 0x100000#define E1000_PCS_LCTL_FAST_LINK_TIMER 0x1000000#define E1000_PCS_LCTL_LINK_OK_FIX 0x2000000#define E1000_PCS_LCTL_CRS_ON_NI 0x4000000#define E1000_ENABLE_SERDES_LOOPBACK 0x0410#define E1000_PCS_LSTS_LINK_OK 1#define E1000_PCS_LSTS_SPEED_10 0#define E1000_PCS_LSTS_SPEED_100 2#define E1000_PCS_LSTS_SPEED_1000 4#define E1000_PCS_LSTS_DUPLEX_FULL 8#define E1000_PCS_LSTS_SYNK_OK 0x10#define E1000_PCS_LSTS_AN_COMPLETE 0x10000#define E1000_PCS_LSTS_AN_PAGE_RX 0x20000#define E1000_PCS_LSTS_AN_TIMED_OUT 0x40000#define E1000_PCS_LSTS_AN_REMOTE_FAULT 0x80000#define E1000_PCS_LSTS_AN_ERROR_RWS 0x100000/* 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 NVM */#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 *//* Constants used to interpret the masked PCI-X bus speed. */#define E1000_STATUS_PCIX_SPEED_66 0x00000000 /* PCI-X bus speed 50-66 MHz */#define E1000_STATUS_PCIX_SPEED_100 0x00004000 /* PCI-X bus speed 66-100 MHz */#define E1000_STATUS_PCIX_SPEED_133 0x00008000 /* PCI-X bus speed 100-133 MHz */#define SPEED_10 10#define SPEED_100 100#define SPEED_1000 1000#define HALF_DUPLEX 1#define FULL_DUPLEX 2#define PHY_FORCE_TIME 20#define ADVERTISE_10_HALF 0x0001#define ADVERTISE_10_FULL 0x0002#define ADVERTISE_100_HALF 0x0004#define ADVERTISE_100_FULL 0x0008#define ADVERTISE_1000_HALF 0x0010 /* Not used, just FYI */#define ADVERTISE_1000_FULL 0x0020/* 1000/H is not supported, nor spec-compliant. */#define E1000_ALL_SPEED_DUPLEX ( ADVERTISE_10_HALF | ADVERTISE_10_FULL | \ ADVERTISE_100_HALF | ADVERTISE_100_FULL | \ ADVERTISE_1000_FULL)#define E1000_ALL_NOT_GIG ( ADVERTISE_10_HALF | ADVERTISE_10_FULL | \ ADVERTISE_100_HALF | ADVERTISE_100_FULL)#define E1000_ALL_100_SPEED (ADVERTISE_100_HALF | ADVERTISE_100_FULL)#define E1000_ALL_10_SPEED (ADVERTISE_10_HALF | ADVERTISE_10_FULL)#define E1000_ALL_FULL_DUPLEX (ADVERTISE_10_FULL | ADVERTISE_100_FULL | \ ADVERTISE_1000_FULL)#define E1000_ALL_HALF_DUPLEX (ADVERTISE_10_HALF | ADVERTISE_100_HALF)#define AUTONEG_ADVERTISE_SPEED_DEFAULT E1000_ALL_SPEED_DUPLEX/* LED Control */#define E1000_LEDCTL_LED0_MODE_MASK 0x0000000F#define E1000_LEDCTL_LED0_MODE_SHIFT 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -