Print this page
4431 igb support for I354
4616 igb has uninitialized kstats


  32 ******************************************************************************/
  33 /*$FreeBSD$*/
  34 
  35 #ifndef _E1000_I210_H_
  36 #define _E1000_I210_H_
  37 
  38 #ifdef __cplusplus
  39 extern "C" {
  40 #endif
  41 
  42 s32 e1000_update_flash_i210(struct e1000_hw *hw);
  43 s32 e1000_update_nvm_checksum_i210(struct e1000_hw *hw);
  44 s32 e1000_validate_nvm_checksum_i210(struct e1000_hw *hw);
  45 s32 e1000_write_nvm_srwr_i210(struct e1000_hw *hw, u16 offset,
  46                               u16 words, u16 *data);
  47 s32 e1000_read_nvm_srrd_i210(struct e1000_hw *hw, u16 offset,
  48                              u16 words, u16 *data);
  49 s32 e1000_read_invm_i211(struct e1000_hw *hw, u8 address, u16 *data);
  50 s32 e1000_acquire_swfw_sync_i210(struct e1000_hw *hw, u16 mask);
  51 void e1000_release_swfw_sync_i210(struct e1000_hw *hw, u16 mask);




  52 
  53 #define E1000_STM_OPCODE                0xDB00
  54 #define E1000_EEPROM_FLASH_SIZE_WORD    0x11
  55 
  56 #define INVM_DWORD_TO_RECORD_TYPE(invm_dword) \
  57         (u8)((invm_dword) & 0x7)
  58 #define INVM_DWORD_TO_WORD_ADDRESS(invm_dword) \
  59         (u8)(((invm_dword) & 0x0000FE00) >> 9)
  60 #define INVM_DWORD_TO_WORD_DATA(invm_dword) \
  61         (u16)(((invm_dword) & 0xFFFF0000) >> 16)
  62 
  63 enum E1000_INVM_STRUCTURE_TYPE {
  64         E1000_INVM_UNINITIALIZED_STRUCTURE              = 0x00,
  65         E1000_INVM_WORD_AUTOLOAD_STRUCTURE              = 0x01,
  66         E1000_INVM_CSR_AUTOLOAD_STRUCTURE               = 0x02,
  67         E1000_INVM_PHY_REGISTER_AUTOLOAD_STRUCTURE      = 0x03,
  68         E1000_INVM_RSA_KEY_SHA256_STRUCTURE             = 0x04,
  69         E1000_INVM_INVALIDATED_STRUCTURE                = 0x0F,
  70 };
  71 




  32 ******************************************************************************/
  33 /*$FreeBSD$*/
  34 
  35 #ifndef _E1000_I210_H_
  36 #define _E1000_I210_H_
  37 
  38 #ifdef __cplusplus
  39 extern "C" {
  40 #endif
  41 
  42 s32 e1000_update_flash_i210(struct e1000_hw *hw);
  43 s32 e1000_update_nvm_checksum_i210(struct e1000_hw *hw);
  44 s32 e1000_validate_nvm_checksum_i210(struct e1000_hw *hw);
  45 s32 e1000_write_nvm_srwr_i210(struct e1000_hw *hw, u16 offset,
  46                               u16 words, u16 *data);
  47 s32 e1000_read_nvm_srrd_i210(struct e1000_hw *hw, u16 offset,
  48                              u16 words, u16 *data);
  49 s32 e1000_read_invm_i211(struct e1000_hw *hw, u8 address, u16 *data);
  50 s32 e1000_acquire_swfw_sync_i210(struct e1000_hw *hw, u16 mask);
  51 void e1000_release_swfw_sync_i210(struct e1000_hw *hw, u16 mask);
  52 s32 e1000_read_xmdio_reg(struct e1000_hw *hw, u16 addr, u8 dev_addr,
  53                          u16 *data);
  54 s32 e1000_write_xmdio_reg(struct e1000_hw *hw, u16 addr, u8 dev_addr,
  55                           u16 data);
  56 
  57 #define E1000_STM_OPCODE                0xDB00
  58 #define E1000_EEPROM_FLASH_SIZE_WORD    0x11
  59 
  60 #define INVM_DWORD_TO_RECORD_TYPE(invm_dword) \
  61         (u8)((invm_dword) & 0x7)
  62 #define INVM_DWORD_TO_WORD_ADDRESS(invm_dword) \
  63         (u8)(((invm_dword) & 0x0000FE00) >> 9)
  64 #define INVM_DWORD_TO_WORD_DATA(invm_dword) \
  65         (u16)(((invm_dword) & 0xFFFF0000) >> 16)
  66 
  67 enum E1000_INVM_STRUCTURE_TYPE {
  68         E1000_INVM_UNINITIALIZED_STRUCTURE              = 0x00,
  69         E1000_INVM_WORD_AUTOLOAD_STRUCTURE              = 0x01,
  70         E1000_INVM_CSR_AUTOLOAD_STRUCTURE               = 0x02,
  71         E1000_INVM_PHY_REGISTER_AUTOLOAD_STRUCTURE      = 0x03,
  72         E1000_INVM_RSA_KEY_SHA256_STRUCTURE             = 0x04,
  73         E1000_INVM_INVALIDATED_STRUCTURE                = 0x0F,
  74 };
  75