generic: ar8216: start aneg on each PHY of the AR8327

SVN-Revision: 32604
master
Gabor Juhos 13 years ago
parent 0fdac1102d
commit 6b8392eb12
  1. 14
      target/linux/generic/files/drivers/net/phy/ar8216.c

@ -734,6 +734,7 @@ ar8327_hw_init(struct ar8216_priv *priv)
{ {
struct ar8327_platform_data *pdata; struct ar8327_platform_data *pdata;
struct ar8327_led_cfg *led_cfg; struct ar8327_led_cfg *led_cfg;
struct mii_bus *bus;
u32 pos, new_pos; u32 pos, new_pos;
u32 t; u32 t;
int i; int i;
@ -770,9 +771,20 @@ ar8327_hw_init(struct ar8216_priv *priv)
priv->write(priv, AR8327_REG_POWER_ON_STRIP, new_pos); priv->write(priv, AR8327_REG_POWER_ON_STRIP, new_pos);
} }
for (i = 0; i < AR8327_NUM_PHYS; i++) bus = priv->phy->bus;
for (i = 0; i < AR8327_NUM_PHYS; i++) {
ar8327_phy_fixup(priv, i); ar8327_phy_fixup(priv, i);
/* start aneg on the PHY */
mdiobus_write(bus, i, MII_ADVERTISE, ADVERTISE_ALL |
ADVERTISE_PAUSE_CAP |
ADVERTISE_PAUSE_ASYM);
mdiobus_write(bus, i, MII_CTRL1000, ADVERTISE_1000FULL);
mdiobus_write(bus, i, MII_BMCR, BMCR_RESET | BMCR_ANENABLE);
}
msleep(1000);
return 0; return 0;
} }

Loading…
Cancel
Save