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

📄 e1000_defines.h

📁 linux下的网卡驱动
💻 H
📖 第 1 页 / 共 5 页
字号:
/* 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/* 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 *//* 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/* 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 intrepret 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#define E1000_LEDCTL_LED0_BLINK_RATE      0x00000020#define E1000_LEDCTL_LED0_IVRT            0x00000040#define E1000_LEDCTL_LED0_BLINK           0x00000080#define E1000_LEDCTL_LED1_MODE_MASK       0x00000F00#define E1000_LEDCTL_LED1_MODE_SHIFT      8#define E1000_LEDCTL_LED1_BLINK_RATE      0x00002000#define E1000_LEDCTL_LED1_IVRT            0x00004000#define E1000_LEDCTL_LED1_BLINK           0x00008000#define E1000_LEDCTL_LED2_MODE_MASK       0x000F0000#define E1000_LEDCTL_LED2_MODE_SHIFT      16#define E1000_LEDCTL_LED2_BLINK_RATE      0x00200000#define E1000_LEDCTL_LED2_IVRT            0x00400000#define E1000_LEDCTL_LED2_BLINK           0x00800000#define E1000_LEDCTL_LED3_MODE_MASK       0x0F000000#define E1000_LEDCTL_LED3_MODE_SHIFT      24#define E1000_LEDCTL_LED3_BLINK_RATE      0x20000000#define E1000_LEDCTL_LED3_IVRT            0x40000000#define E1000_LEDCTL_LED3_BLINK           0x80000000#define E1000_LEDCTL_MODE_LINK_10_1000  0x0#define E1000_LEDCTL_MODE_LINK_100_1000 0x1#define E1000_LEDCTL_MODE_LINK_UP       0x2#define E1000_LEDCTL_MODE_ACTIVITY      0x3#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/* Transmit Descriptor bit definitions */#define E1000_TXD_DTYP_D     0x00100000 /* Data Descriptor */#define E1000_TXD_DTYP_C     0x00000000 /* Context Descriptor */#define E1000_TXD_POPTS_IXSM 0x01       /* Insert IP checksum */#define E1000_TXD_POPTS_TXSM 0x02       /* Insert TCP/UDP checksum */#define E1000_TXD_CMD_EOP    0x01000000 /* End of Packet */#define E1000_TXD_CMD_IFCS   0x02000000 /* Insert FCS (Ethernet CRC) */#define E1000_TXD_CMD_IC     0x04000000 /* Insert Checksum */#define E1000_TXD_CMD_RS     0x08000000 /* Report Status */#define E1000_TXD_CMD_RPS    0x10000000 /* Report Packet Sent */#define E1000_TXD_CMD_DEXT   0x20000000 /* Descriptor extension (0 = legacy) */#define E1000_TXD_CMD_VLE    0x40000000 /* Add VLAN tag */#define E1000_TXD_CMD_IDE    0x80000000 /* Enable Tidv register */#define E1000_TXD_STAT_DD    0x00000001 /* Descriptor Done */#define E1000_TXD_STAT_EC    0x00000002 /* Excess Collisions */#define E1000_TXD_STAT_LC    0x00000004 /* Late Collisions */#define E1000_TXD_STAT_TU    0x00000008 /* Transmit underrun */#define E1000_TXD_CMD_TCP    0x01000000 /* TCP packet */#define E1000_TXD_CMD_IP     0x02000000 /* IP packet */#define E1000_TXD_CMD_TSE    0x04000000 /* TCP Seg enable */#define E1000_TXD_STAT_TC    0x00000004 /* Tx Underrun *//* Extended desc bits for Linksec and timesync *//* 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 */#define E1000_TCTL_MULR   0x10000000    /* Multiple request support *//* Transmit Arbitration Count */#define E1000_TARC0_ENABLE     0x00000400   /* Enable Tx Queue 0 *//* SerDes Control */#define E1000_SCTL_DISABLE_SERDES_LOOPBACK 0x0400/* Receive Checksum Control */#define E1000_RXCSUM_PCSS_MASK 0x000000FF   /* Packet Checksum Start */#define E1000_RXCSUM_IPOFL     0x00000100   /* IPv4 checksum offload */

⌨️ 快捷键说明

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