/** * igb_reset_init_script_82575 - Inits HW defaults after reset * @hw: pointer to the HW structure * * Inits recommended HW defaults after a reset when there is no EEPROM * detected. This is only for the 82575. **/ static s32 igb_reset_init_script_82575(struct e1000_hw *hw) { if (hw->mac.type == e1000_82575) { hw_dbg("Running reset init script for 82575\n"); /* SerDes configuration via SERDESCTRL */ igb_write_8bit_ctrl_reg(hw, E1000_SCTL, 0x00, 0x0C); igb_write_8bit_ctrl_reg(hw, E1000_SCTL, 0x01, 0x78); igb_write_8bit_ctrl_reg(hw, E1000_SCTL, 0x1B, 0x23); igb_write_8bit_ctrl_reg(hw, E1000_SCTL, 0x23, 0x15); /* CCM configuration via CCMCTL register */ igb_write_8bit_ctrl_reg(hw, E1000_CCMCTL, 0x14, 0x00); igb_write_8bit_ctrl_reg(hw, E1000_CCMCTL, 0x10, 0x00); /* PCIe lanes configuration */ igb_write_8bit_ctrl_reg(hw, E1000_GIOCTL, 0x00, 0xEC); igb_write_8bit_ctrl_reg(hw, E1000_GIOCTL, 0x61, 0xDF); igb_write_8bit_ctrl_reg(hw, E1000_GIOCTL, 0x34, 0x05); igb_write_8bit_ctrl_reg(hw, E1000_GIOCTL, 0x2F, 0x81); /* PCIe PLL Configuration */ igb_write_8bit_ctrl_reg(hw, E1000_SCCTL, 0x02, 0x47); igb_write_8bit_ctrl_reg(hw, E1000_SCCTL, 0x14, 0x00); igb_write_8bit_ctrl_reg(hw, E1000_SCCTL, 0x10, 0x00); } return 0; }
static s32 igb_reset_init_script_82575(struct e1000_hw *hw) { if (hw->mac.type == e1000_82575) { hw_dbg("Running reset init script for 82575\n"); igb_write_8bit_ctrl_reg(hw, E1000_SCTL, 0x00, 0x0C); igb_write_8bit_ctrl_reg(hw, E1000_SCTL, 0x01, 0x78); igb_write_8bit_ctrl_reg(hw, E1000_SCTL, 0x1B, 0x23); igb_write_8bit_ctrl_reg(hw, E1000_SCTL, 0x23, 0x15); igb_write_8bit_ctrl_reg(hw, E1000_CCMCTL, 0x14, 0x00); igb_write_8bit_ctrl_reg(hw, E1000_CCMCTL, 0x10, 0x00); igb_write_8bit_ctrl_reg(hw, E1000_GIOCTL, 0x00, 0xEC); igb_write_8bit_ctrl_reg(hw, E1000_GIOCTL, 0x61, 0xDF); igb_write_8bit_ctrl_reg(hw, E1000_GIOCTL, 0x34, 0x05); igb_write_8bit_ctrl_reg(hw, E1000_GIOCTL, 0x2F, 0x81); igb_write_8bit_ctrl_reg(hw, E1000_SCCTL, 0x02, 0x47); igb_write_8bit_ctrl_reg(hw, E1000_SCCTL, 0x14, 0x00); igb_write_8bit_ctrl_reg(hw, E1000_SCCTL, 0x10, 0x00); } return 0; }