mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-28 07:03:31 +08:00
net: uec_phy: handle 88e1111 rev.B2 erratum 5.6
erratum 5.6 states the autoneg completion bit is functional only if the autoneg bit is asserted. This fixes any secondarily-issued networking commands on non-gigabit links on the mpc8360 mds board. Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
This commit is contained in:
parent
093e14c522
commit
f655adef65
@ -574,6 +574,7 @@ void marvell_phy_interface_mode (struct eth_device *dev,
|
||||
{
|
||||
uec_private_t *uec = (uec_private_t *) dev->priv;
|
||||
struct uec_mii_info *mii_info;
|
||||
u16 status;
|
||||
|
||||
if (!uec->mii_info) {
|
||||
printf ("%s: the PHY not intialized\n", __FUNCTION__);
|
||||
@ -609,6 +610,13 @@ void marvell_phy_interface_mode (struct eth_device *dev,
|
||||
phy_write (mii_info, 0x00, 0x8100);
|
||||
udelay (1000000);
|
||||
}
|
||||
|
||||
/* handle 88e1111 rev.B2 erratum 5.6 */
|
||||
if (mii_info->autoneg) {
|
||||
status = phy_read (mii_info, PHY_BMCR);
|
||||
phy_write (mii_info, PHY_BMCR, status | PHY_BMCR_AUTON);
|
||||
}
|
||||
/* now the B2 will correctly report autoneg completion status */
|
||||
}
|
||||
|
||||
void change_phy_interface_mode (struct eth_device *dev, enet_interface_e mode)
|
||||
|
Loading…
Reference in New Issue
Block a user