Fix E1000 build warning on AP1000 board
Fix E1000 build warning on AP1000 board Fix the build warning on AP1000 board: e1000.c:131: warning: 'e1000_read_eeprom' used but never defined e1000.c:2012: warning: 'e1000_set_phy_mode' defined but not used Signed-off-by: Roy Zang <tie-fei.zang@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
This commit is contained in:
parent
b3af1d698b
commit
ecbd2078a1
|
@ -126,9 +126,6 @@ static int e1000_write_phy_reg(struct e1000_hw *hw, uint32_t reg_addr,
|
||||||
static int32_t e1000_phy_hw_reset(struct e1000_hw *hw);
|
static int32_t e1000_phy_hw_reset(struct e1000_hw *hw);
|
||||||
static int e1000_phy_reset(struct e1000_hw *hw);
|
static int e1000_phy_reset(struct e1000_hw *hw);
|
||||||
static int e1000_detect_gig_phy(struct e1000_hw *hw);
|
static int e1000_detect_gig_phy(struct e1000_hw *hw);
|
||||||
static int32_t e1000_read_eeprom(struct e1000_hw *hw, uint16_t offset,
|
|
||||||
uint16_t words,
|
|
||||||
uint16_t *data);
|
|
||||||
static void e1000_put_hw_eeprom_semaphore(struct e1000_hw *hw);
|
static void e1000_put_hw_eeprom_semaphore(struct e1000_hw *hw);
|
||||||
static void e1000_set_media_type(struct e1000_hw *hw);
|
static void e1000_set_media_type(struct e1000_hw *hw);
|
||||||
|
|
||||||
|
@ -143,6 +140,9 @@ static int32_t e1000_check_phy_reset_block(struct e1000_hw *hw);
|
||||||
#define E1000_WRITE_FLUSH(a) {uint32_t x; x = E1000_READ_REG(a, STATUS);}
|
#define E1000_WRITE_FLUSH(a) {uint32_t x; x = E1000_READ_REG(a, STATUS);}
|
||||||
|
|
||||||
#ifndef CONFIG_AP1000 /* remove for warnings */
|
#ifndef CONFIG_AP1000 /* remove for warnings */
|
||||||
|
static int32_t e1000_read_eeprom(struct e1000_hw *hw, uint16_t offset,
|
||||||
|
uint16_t words,
|
||||||
|
uint16_t *data);
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Raises the EEPROM's clock input.
|
* Raises the EEPROM's clock input.
|
||||||
*
|
*
|
||||||
|
@ -896,6 +896,47 @@ e1000_validate_eeprom_checksum(struct eth_device *nic)
|
||||||
return -E1000_ERR_EEPROM;
|
return -E1000_ERR_EEPROM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* Set PHY to class A mode
|
||||||
|
* Assumes the following operations will follow to enable the new class mode.
|
||||||
|
* 1. Do a PHY soft reset
|
||||||
|
* 2. Restart auto-negotiation or force link.
|
||||||
|
*
|
||||||
|
* hw - Struct containing variables accessed by shared code
|
||||||
|
****************************************************************************/
|
||||||
|
static int32_t
|
||||||
|
e1000_set_phy_mode(struct e1000_hw *hw)
|
||||||
|
{
|
||||||
|
int32_t ret_val;
|
||||||
|
uint16_t eeprom_data;
|
||||||
|
|
||||||
|
DEBUGFUNC();
|
||||||
|
|
||||||
|
if ((hw->mac_type == e1000_82545_rev_3) &&
|
||||||
|
(hw->media_type == e1000_media_type_copper)) {
|
||||||
|
ret_val = e1000_read_eeprom(hw, EEPROM_PHY_CLASS_WORD,
|
||||||
|
1, &eeprom_data);
|
||||||
|
if (ret_val)
|
||||||
|
return ret_val;
|
||||||
|
|
||||||
|
if ((eeprom_data != EEPROM_RESERVED_WORD) &&
|
||||||
|
(eeprom_data & EEPROM_PHY_CLASS_A)) {
|
||||||
|
ret_val = e1000_write_phy_reg(hw,
|
||||||
|
M88E1000_PHY_PAGE_SELECT, 0x000B);
|
||||||
|
if (ret_val)
|
||||||
|
return ret_val;
|
||||||
|
ret_val = e1000_write_phy_reg(hw,
|
||||||
|
M88E1000_PHY_GEN_CONTROL, 0x8104);
|
||||||
|
if (ret_val)
|
||||||
|
return ret_val;
|
||||||
|
|
||||||
|
hw->phy_reset_disable = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return E1000_SUCCESS;
|
||||||
|
}
|
||||||
#endif /* #ifndef CONFIG_AP1000 */
|
#endif /* #ifndef CONFIG_AP1000 */
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
@ -1999,47 +2040,6 @@ e1000_setup_fiber_link(struct eth_device *nic)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* Set PHY to class A mode
|
|
||||||
* Assumes the following operations will follow to enable the new class mode.
|
|
||||||
* 1. Do a PHY soft reset
|
|
||||||
* 2. Restart auto-negotiation or force link.
|
|
||||||
*
|
|
||||||
* hw - Struct containing variables accessed by shared code
|
|
||||||
****************************************************************************/
|
|
||||||
static int32_t
|
|
||||||
e1000_set_phy_mode(struct e1000_hw *hw)
|
|
||||||
{
|
|
||||||
int32_t ret_val;
|
|
||||||
uint16_t eeprom_data;
|
|
||||||
|
|
||||||
DEBUGFUNC();
|
|
||||||
|
|
||||||
if ((hw->mac_type == e1000_82545_rev_3) &&
|
|
||||||
(hw->media_type == e1000_media_type_copper)) {
|
|
||||||
ret_val = e1000_read_eeprom(hw, EEPROM_PHY_CLASS_WORD,
|
|
||||||
1, &eeprom_data);
|
|
||||||
if (ret_val)
|
|
||||||
return ret_val;
|
|
||||||
|
|
||||||
if ((eeprom_data != EEPROM_RESERVED_WORD) &&
|
|
||||||
(eeprom_data & EEPROM_PHY_CLASS_A)) {
|
|
||||||
ret_val = e1000_write_phy_reg(hw,
|
|
||||||
M88E1000_PHY_PAGE_SELECT, 0x000B);
|
|
||||||
if (ret_val)
|
|
||||||
return ret_val;
|
|
||||||
ret_val = e1000_write_phy_reg(hw,
|
|
||||||
M88E1000_PHY_GEN_CONTROL, 0x8104);
|
|
||||||
if (ret_val)
|
|
||||||
return ret_val;
|
|
||||||
|
|
||||||
hw->phy_reset_disable = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return E1000_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Make sure we have a valid PHY and change PHY mode before link setup.
|
* Make sure we have a valid PHY and change PHY mode before link setup.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue