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

📄 e1000_defines.h

📁 linux下的网卡驱动
💻 H
📖 第 1 页 / 共 5 页
字号:
/* NVM Commands - Microwire */#define NVM_READ_OPCODE_MICROWIRE  0x6  /* NVM read opcode */#define NVM_WRITE_OPCODE_MICROWIRE 0x5  /* NVM write opcode */#define NVM_ERASE_OPCODE_MICROWIRE 0x7  /* NVM erase opcode */#define NVM_EWEN_OPCODE_MICROWIRE  0x13 /* NVM erase/write enable */#define NVM_EWDS_OPCODE_MICROWIRE  0x10 /* NVM erast/write disable *//* NVM Commands - SPI */#define NVM_MAX_RETRY_SPI          5000 /* Max wait of 5ms, for RDY signal */#define NVM_READ_OPCODE_SPI        0x03 /* NVM read opcode */#define NVM_WRITE_OPCODE_SPI       0x02 /* NVM write opcode */#define NVM_A8_OPCODE_SPI          0x08 /* opcode bit-3 = address bit-8 */#define NVM_WREN_OPCODE_SPI        0x06 /* NVM set Write Enable latch */#define NVM_WRDI_OPCODE_SPI        0x04 /* NVM reset Write Enable latch */#define NVM_RDSR_OPCODE_SPI        0x05 /* NVM read Status register */#define NVM_WRSR_OPCODE_SPI        0x01 /* NVM write Status register *//* SPI NVM Status Register */#define NVM_STATUS_RDY_SPI         0x01#define NVM_STATUS_WEN_SPI         0x02#define NVM_STATUS_BP0_SPI         0x04#define NVM_STATUS_BP1_SPI         0x08#define NVM_STATUS_WPEN_SPI        0x80/* Word definitions for ID LED Settings */#define ID_LED_RESERVED_0000 0x0000#define ID_LED_RESERVED_FFFF 0xFFFF#define ID_LED_DEFAULT       ((ID_LED_OFF1_ON2  << 12) | \                              (ID_LED_OFF1_OFF2 <<  8) | \                              (ID_LED_DEF1_DEF2 <<  4) | \                              (ID_LED_DEF1_DEF2))#define ID_LED_DEF1_DEF2     0x1#define ID_LED_DEF1_ON2      0x2#define ID_LED_DEF1_OFF2     0x3#define ID_LED_ON1_DEF2      0x4#define ID_LED_ON1_ON2       0x5#define ID_LED_ON1_OFF2      0x6#define ID_LED_OFF1_DEF2     0x7#define ID_LED_OFF1_ON2      0x8#define ID_LED_OFF1_OFF2     0x9#define IGP_ACTIVITY_LED_MASK   0xFFFFF0FF#define IGP_ACTIVITY_LED_ENABLE 0x0300#define IGP_LED3_MODE           0x07000000/* PCI/PCI-X/PCI-EX Config space */#define PCIX_COMMAND_REGISTER        0xE6#define PCIX_STATUS_REGISTER_LO      0xE8#define PCIX_STATUS_REGISTER_HI      0xEA#define PCI_HEADER_TYPE_REGISTER     0x0E#define PCIE_LINK_STATUS             0x12#define PCIX_COMMAND_MMRBC_MASK      0x000C#define PCIX_COMMAND_MMRBC_SHIFT     0x2#define PCIX_STATUS_HI_MMRBC_MASK    0x0060#define PCIX_STATUS_HI_MMRBC_SHIFT   0x5#define PCIX_STATUS_HI_MMRBC_4K      0x3#define PCIX_STATUS_HI_MMRBC_2K      0x2#define PCIX_STATUS_LO_FUNC_MASK     0x7#define PCI_HEADER_TYPE_MULTIFUNC    0x80#define PCIE_LINK_WIDTH_MASK         0x3F0#define PCIE_LINK_WIDTH_SHIFT        4#ifndef ETH_ADDR_LEN#define ETH_ADDR_LEN                 6#endif#define PHY_REVISION_MASK      0xFFFFFFF0#define MAX_PHY_REG_ADDRESS    0x1F  /* 5 bit address bus (0-0x1F) */#define MAX_PHY_MULTI_PAGE_REG 0xF/* Bit definitions for valid PHY IDs. *//* I = Integrated * E = External */#define M88E1000_E_PHY_ID    0x01410C50#define M88E1000_I_PHY_ID    0x01410C30#define M88E1011_I_PHY_ID    0x01410C20#define IGP01E1000_I_PHY_ID  0x02A80380#define M88E1011_I_REV_4     0x04#define M88E1111_I_PHY_ID    0x01410CC0#define GG82563_E_PHY_ID     0x01410CA0#define IGP03E1000_E_PHY_ID  0x02A80390#define IFE_E_PHY_ID         0x02A80330#define IFE_PLUS_E_PHY_ID    0x02A80320#define IFE_C_E_PHY_ID       0x02A80310#define M88_VENDOR           0x0141/* M88E1000 Specific Registers */#define M88E1000_PHY_SPEC_CTRL     0x10  /* PHY Specific Control Register */#define M88E1000_PHY_SPEC_STATUS   0x11  /* PHY Specific Status Register */#define M88E1000_INT_ENABLE        0x12  /* Interrupt Enable Register */#define M88E1000_INT_STATUS        0x13  /* Interrupt Status Register */#define M88E1000_EXT_PHY_SPEC_CTRL 0x14  /* Extended PHY Specific Control */#define M88E1000_RX_ERR_CNTR       0x15  /* Receive Error Counter */#define M88E1000_PHY_EXT_CTRL      0x1A  /* PHY extend control register */#define M88E1000_PHY_PAGE_SELECT   0x1D  /* Reg 29 for page number setting */#define M88E1000_PHY_GEN_CONTROL   0x1E  /* Its meaning depends on reg 29 */#define M88E1000_PHY_VCO_REG_BIT8  0x100 /* Bits 8 & 11 are adjusted for */#define M88E1000_PHY_VCO_REG_BIT11 0x800    /* improved BER performance *//* M88E1000 PHY Specific Control Register */#define M88E1000_PSCR_JABBER_DISABLE    0x0001 /* 1=Jabber Function disabled */#define M88E1000_PSCR_POLARITY_REVERSAL 0x0002 /* 1=Polarity Reversal enabled */#define M88E1000_PSCR_SQE_TEST          0x0004 /* 1=SQE Test enabled */#define M88E1000_PSCR_CLK125_DISABLE    0x0010 /* 1=CLK125 low,                                                * 0=CLK125 toggling                                                */#define M88E1000_PSCR_MDI_MANUAL_MODE  0x0000  /* MDI Crossover Mode bits 6:5 */                                               /* Manual MDI configuration */#define M88E1000_PSCR_MDIX_MANUAL_MODE 0x0020  /* Manual MDIX configuration */#define M88E1000_PSCR_AUTO_X_1000T     0x0040  /* 1000BASE-T: Auto crossover,                                                *  100BASE-TX/10BASE-T:                                                *  MDI Mode                                                */#define M88E1000_PSCR_AUTO_X_MODE      0x0060  /* Auto crossover enabled                                                * all speeds.                                                */#define M88E1000_PSCR_EN_10BT_EXT_DIST 0x0080                                        /* 1=Enable Extended 10BASE-T distance                                         * (Lower 10BASE-T RX Threshold)                                         * 0=Normal 10BASE-T RX Threshold */#define M88E1000_PSCR_MII_5BIT_ENABLE      0x0100                                        /* 1=5-Bit interface in 100BASE-TX                                         * 0=MII interface in 100BASE-TX */#define M88E1000_PSCR_SCRAMBLER_DISABLE    0x0200 /* 1=Scrambler disable */#define M88E1000_PSCR_FORCE_LINK_GOOD      0x0400 /* 1=Force link good */#define M88E1000_PSCR_ASSERT_CRS_ON_TX     0x0800 /* 1=Assert CRS on Transmit *//* M88E1000 PHY Specific Status Register */#define M88E1000_PSSR_JABBER             0x0001 /* 1=Jabber */#define M88E1000_PSSR_REV_POLARITY       0x0002 /* 1=Polarity reversed */#define M88E1000_PSSR_DOWNSHIFT          0x0020 /* 1=Downshifted */#define M88E1000_PSSR_MDIX               0x0040 /* 1=MDIX; 0=MDI */#define M88E1000_PSSR_CABLE_LENGTH       0x0380 /* 0=<50M;1=50-80M;2=80-110M;                                            * 3=110-140M;4=>140M */#define M88E1000_PSSR_LINK               0x0400 /* 1=Link up, 0=Link down */#define M88E1000_PSSR_SPD_DPLX_RESOLVED  0x0800 /* 1=Speed & Duplex resolved */#define M88E1000_PSSR_PAGE_RCVD          0x1000 /* 1=Page received */#define M88E1000_PSSR_DPLX               0x2000 /* 1=Duplex 0=Half Duplex */#define M88E1000_PSSR_SPEED              0xC000 /* Speed, bits 14:15 */#define M88E1000_PSSR_10MBS              0x0000 /* 00=10Mbs */#define M88E1000_PSSR_100MBS             0x4000 /* 01=100Mbs */#define M88E1000_PSSR_1000MBS            0x8000 /* 10=1000Mbs */#define M88E1000_PSSR_CABLE_LENGTH_SHIFT 7/* M88E1000 Extended PHY Specific Control Register */#define M88E1000_EPSCR_FIBER_LOOPBACK 0x4000 /* 1=Fiber loopback */#define M88E1000_EPSCR_DOWN_NO_IDLE   0x8000 /* 1=Lost lock detect enabled.                                              * Will assert lost lock and bring                                              * link down if idle not seen                                              * within 1ms in 1000BASE-T                                              *//* Number of times we will attempt to autonegotiate before downshifting if we * are the master */#define M88E1000_EPSCR_MASTER_DOWNSHIFT_MASK 0x0C00#define M88E1000_EPSCR_MASTER_DOWNSHIFT_1X   0x0000#define M88E1000_EPSCR_MASTER_DOWNSHIFT_2X   0x0400#define M88E1000_EPSCR_MASTER_DOWNSHIFT_3X   0x0800#define M88E1000_EPSCR_MASTER_DOWNSHIFT_4X   0x0C00/* Number of times we will attempt to autonegotiate before downshifting if we * are the slave */#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_MASK  0x0300#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_DIS   0x0000#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_1X    0x0100#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_2X    0x0200#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_3X    0x0300#define M88E1000_EPSCR_TX_CLK_2_5     0x0060 /* 2.5 MHz TX_CLK */#define M88E1000_EPSCR_TX_CLK_25      0x0070 /* 25  MHz TX_CLK */#define M88E1000_EPSCR_TX_CLK_0       0x0000 /* NO  TX_CLK *//* M88EC018 Rev 2 specific DownShift settings */#define M88EC018_EPSCR_DOWNSHIFT_COUNTER_MASK  0x0E00#define M88EC018_EPSCR_DOWNSHIFT_COUNTER_1X    0x0000#define M88EC018_EPSCR_DOWNSHIFT_COUNTER_2X    0x0200#define M88EC018_EPSCR_DOWNSHIFT_COUNTER_3X    0x0400#define M88EC018_EPSCR_DOWNSHIFT_COUNTER_4X    0x0600#define M88EC018_EPSCR_DOWNSHIFT_COUNTER_5X    0x0800#define M88EC018_EPSCR_DOWNSHIFT_COUNTER_6X    0x0A00#define M88EC018_EPSCR_DOWNSHIFT_COUNTER_7X    0x0C00#define M88EC018_EPSCR_DOWNSHIFT_COUNTER_8X    0x0E00/* Bits... * 15-5: page * 4-0: register offset */#define GG82563_PAGE_SHIFT        5#define GG82563_REG(page, reg)    \        (((page) << GG82563_PAGE_SHIFT) | ((reg) & MAX_PHY_REG_ADDRESS))#define GG82563_MIN_ALT_REG       30/* GG82563 Specific Registers */#define GG82563_PHY_SPEC_CTRL           \        GG82563_REG(0, 16) /* PHY Specific Control */#define GG82563_PHY_SPEC_STATUS         \        GG82563_REG(0, 17) /* PHY Specific Status */#define GG82563_PHY_INT_ENABLE          \        GG82563_REG(0, 18) /* Interrupt Enable */#define GG82563_PHY_SPEC_STATUS_2       \        GG82563_REG(0, 19) /* PHY Specific Status 2 */#define GG82563_PHY_RX_ERR_CNTR         \        GG82563_REG(0, 21) /* Receive Error Counter */#define GG82563_PHY_PAGE_SELECT         \        GG82563_REG(0, 22) /* Page Select */#define GG82563_PHY_SPEC_CTRL_2         \        GG82563_REG(0, 26) /* PHY Specific Control 2 */#define GG82563_PHY_PAGE_SELECT_ALT     \        GG82563_REG(0, 29) /* Alternate Page Select */#define GG82563_PHY_TEST_CLK_CTRL       \        GG82563_REG(0, 30) /* Test Clock Control (use reg. 29 to select) */#define GG82563_PHY_MAC_SPEC_CTRL       \        GG82563_REG(2, 21) /* MAC Specific Control Register */#define GG82563_PHY_MAC_SPEC_CTRL_2     \        GG82563_REG(2, 26) /* MAC Specific Control 2 */#define GG82563_PHY_DSP_DISTANCE    \        GG82563_REG(5, 26) /* DSP Distance *//* Page 193 - Port Control Registers */#define GG82563_PHY_KMRN_MODE_CTRL   \        GG82563_REG(193, 16) /* Kumeran Mode Control */#define GG82563_PHY_PORT_RESET          \        GG82563_REG(193, 17) /* Port Reset */#define GG82563_PHY_REVISION_ID         \        GG82563_REG(193, 18) /* Revision ID */#define GG82563_PHY_DEVICE_ID           \        GG82563_REG(193, 19) /* Device ID */#define GG82563_PHY_PWR_MGMT_CTRL       \        GG82563_REG(193, 20) /* Power Management Control */#define GG82563_PHY_RATE_ADAPT_CTRL     \        GG82563_REG(193, 25) /* Rate Adaptation Control *//* Page 194 - KMRN Registers */#define GG82563_PHY_KMRN_FIFO_CTRL_STAT \        GG82563_REG(194, 16) /* FIFO's Control/Status */#define GG82563_PHY_KMRN_CTRL           \        GG82563_REG(194, 17) /* Control */#define GG82563_PHY_INBAND_CTRL         \        GG82563_REG(194, 18) /* Inband Control */#define GG82563_PHY_KMRN_DIAGNOSTIC     \        GG82563_REG(194, 19) /* Diagnostic */#define GG82563_PHY_ACK_TIMEOUTS        \        GG82563_REG(194, 20) /* Acknowledge Timeouts */#define GG82563_PHY_ADV_ABILITY         \        GG82563_REG(194, 21) /* Advertised Ability */#define GG82563_PHY_LINK_PARTNER_ADV_ABILITY \     

⌨️ 快捷键说明

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