MII_BMCR
MII_BMCR, BMCR_PDOWN);
MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
MII_BMCR, BMCR_PDOWN);
age_miibus_writereg(sc->age_dev, sc->age_phyaddr, MII_BMCR, BMCR_RESET);
age_miibus_writereg(sc->age_dev, sc->age_phyaddr, MII_BMCR,
MII_BMCR, BMCR_ISO | BMCR_PDOWN);
MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
ret = xgbe_phy_i2c_mii_read(pdata, MII_BMCR);
int bmcr = xgbe_phy_mii_read(pdata, pdata->mdio_addr, MII_BMCR);
if (reg >= MII_BMCR && reg <= MII_ANLPRNP)
if (reg >= MII_BMCR && reg <= MII_ANLPRNP)
sc->bge_phy_addr, MII_BMCR, BMCR_RESET);
case MII_BMCR:
case MII_BMCR:
err = t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR,
err = t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 1, 1);
err = t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 1, 0);
err = t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, BMCR_PDOWN,
err = mdio_read(phy, MDIO_DEV_PMA_PMD, MII_BMCR, &v);
err = t3_mdio_change_bits(phy, MDIO_DEV_ANEG, MII_BMCR,
return t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR,
err = t3_mdio_change_bits(phy, MDIO_DEV_ANEG, MII_BMCR,
err = t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR,
err = mdio_read(phy, MDIO_DEV_ANEG, MII_BMCR, &v);
err = mdio_read(phy, MDIO_DEV_PMA_PMD, MII_BMCR, &v);
err = mdio_read(phy, MDIO_DEV_PMA_PMD, MII_BMCR, &v);
(void) mdio_read(phy, MDIO_DEV_PMA_PMD, MII_BMCR, &v);
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE,
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE,
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_LOOPBACK,
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN,
err = t3_mdio_change_bits(phy, mmd, MII_BMCR, BMCR_PDOWN, BMCR_RESET);
err = mdio_read(phy, mmd, MII_BMCR, &ctl);
err = mdio_read(phy, 0, MII_BMCR, &ctl);
return mdio_write(phy, 0, MII_BMCR, ctl);
err = t3_mdio_change_bits(phy, MDIO_DEV_ANEG, MII_BMCR, 0,
return t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR,
err = t3_mdio_change_bits(phy, MDIO_DEV_ANEG, MII_BMCR, 0,
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE,
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE,
err = mdio_read(cphy, 0, MII_BMCR, &bmcr);
err = mdio_read(cphy, 0, MII_BMCR, &bmcr);
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN,
case MII_BMCR:
case MII_BMCR:
if (reg == MII_BMCR) {
bmcr = PHY_READ(sc, MII_BMCR);
case MII_BMCR:
case MII_BMCR:
jme_miibus_writereg(sc->jme_dev, sc->jme_phyaddr, MII_BMCR,
jme_miibus_writereg(sc->jme_dev, sc->jme_phyaddr, MII_BMCR, BMCR_PDOWN);
bmcr = jme_miibus_readreg(sc->jme_dev, sc->jme_phyaddr, MII_BMCR);
jme_miibus_writereg(sc->jme_dev, sc->jme_phyaddr, MII_BMCR, bmcr);
reg = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, reg & ~(BMCR_ISO | BMCR_PDOWN));
bmcr = PHY_READ(sc, MII_BMCR);
bmcr = PHY_READ(sc, MII_BMCR);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_RESET | BMCR_AUTOEN |
bmcr = PHY_READ(sc, MII_BMCR);
if ((PHY_READ(sc, MII_BMCR) & BMCR_RESET) == 0)
PHY_WRITE(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
bmcr = PHY_READ(sc, MII_BMCR);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, BMCR_ISO | BMCR_PDOWN);
bmcr = PHY_READ(sc, MII_BMCR);
bmcr = PHY_READ(sc, MII_BMCR);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, BMCR_S100|BMCR_STARTNEG|BMCR_FDX);
PHY_WRITE(sc, MII_BMCR, reg);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN);
if ((PHY_READ(sc, MII_BMCR) & BMCR_RESET) == 0)
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_ISO | BMCR_PDOWN);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_AUTOEN | BMCR_STARTNEG);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(child, MII_BMCR, PHY_READ(child, MII_BMCR) |
if ((PHY_READ(sc, MII_BMCR) & BMCR_AUTOEN) == 0 ||
PHY_WRITE(sc, MII_BMCR, bmcr);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
PHY_WRITE(sc, MII_BMCR, reg);
reg = PHY_READ(sc, MII_BMCR);
if (PHY_READ(sc, MII_BMCR) != reg)
PHY_WRITE(sc, MII_BMCR, reg);
PHY_WRITE(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN |
bmcr = PHY_READ(phy, MII_BMCR);
bmcr = PHY_READ(sc, MII_BMCR);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, reg);
reg = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, reg);
reg = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
bmcr = PHY_READ(sc, MII_BMCR);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, BMCR_ISO | BMCR_PDOWN);
bmcr = PHY_READ(phy, MII_BMCR);
reg = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, reg & ~BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, BMCR_RESET);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, 0x3000);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
bmcr = PHY_READ(sc, MII_BMCR);
reg = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, reg & ~BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
bmcr = PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, PHY_READ(sc, MII_BMCR) | BMCR_FDX);
PHY_WRITE(sc, MII_BMCR, PHY_READ(sc, MII_BMCR) & ~BMCR_FDX);
bmcr = PHY_READ(phy, MII_BMCR);
bmcr = PHY_READ(sc, MII_BMCR) & ~BMCR_AUTOEN;
PHY_WRITE(sc, MII_BMCR, bmcr);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_PDOWN);
bmcr = PHY_READ(sc, MII_BMCR) & ~BMCR_PDOWN;
PHY_WRITE(sc, MII_BMCR, bmcr);
PHY_WRITE(sc, MII_BMCR,
PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_PDOWN | BMCR_S1000);
PHY_READ(sc, MII_BMCR);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_S1000);
bmcr = PHY_READ(sc, MII_BMCR);
bmcr = PHY_READ(phy, MII_BMCR);
MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
case MII_BMCR:
case MII_BMCR:
MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
case MII_BMCR:
case MII_BMCR:
re_miibus_writereg(sc->rl_dev, phyaddr, MII_BMCR, BMCR_RESET);
status = re_miibus_readreg(sc->rl_dev, phyaddr, MII_BMCR);
re_miibus_writereg(sc->rl_dev, phyaddr, MII_BMCR, BMCR_LOOP);
rge_write_phy(sc, 0, MII_BMCR, BMCR_RESET | BMCR_AUTOEN |
rge_write_phy(sc, 0, MII_BMCR, BMCR_AUTOEN);
rge_write_phy(sc, 0, MII_BMCR, BMCR_AUTOEN | BMCR_PDOWN);
rge_write_phy(sc, 0, MII_BMCR, BMCR_RESET | BMCR_AUTOEN |
if (!(rge_read_phy(sc, 0, MII_BMCR) & BMCR_RESET))
case MII_BMCR:
case MII_BMCR:
lan78xx_miibus_readreg(sc->sc_ue.ue_dev, sc->sc_phyno, MII_BMCR);
lan78xx_miibus_writereg(sc->sc_ue.ue_dev, sc->sc_phyno, MII_BMCR,
MII_BMCR);
lan78xx_miibus_writereg(sc->sc_ue.ue_dev, sc->sc_phyno, MII_BMCR, bmcr);
bmcr = lan78xx_miibus_readreg(sc->sc_ue.ue_dev, sc->sc_phyno, MII_BMCR);
case MII_BMCR:
case MII_BMCR:
smsc_miibus_writereg(sc->sc_ue.ue_dev, sc->sc_phyno, MII_BMCR, BMCR_RESET);
bmcr = smsc_miibus_readreg(sc->sc_ue.ue_dev, sc->sc_phyno, MII_BMCR);
bmcr = smsc_miibus_readreg(sc->sc_ue.ue_dev, sc->sc_phyno, MII_BMCR);
smsc_miibus_writereg(sc->sc_ue.ue_dev, sc->sc_phyno, MII_BMCR, bmcr);
ure_ocp_reg_write(sc, URE_OCP_BASE_MII + MII_BMCR,
val = ure_ocp_reg_read(sc, URE_OCP_BASE_MII + MII_BMCR);
ure_ocp_reg_write(sc, URE_OCP_BASE_MII + MII_BMCR, val);
PHY_WRITE(sc, MII_BMCR, (BMCR_S100 | BMCR_AUTOEN | BMCR_FDX));
bmcr = PHY_READ(phy, MII_BMCR);
vge_miibus_writereg(sc->vge_dev, sc->vge_phyaddr, MII_BMCR,
vge_miibus_writereg(sc->vge_dev, sc->vge_phyaddr, MII_BMCR,
PHY_WR(sc, MII_BMCR,
} while (PHY1_RD(sc, MII_BMCR) == 0x0ffff);
PHY1_WR(sc, MII_BMCR,
PHY_WRITE(sc, MII_BMCR, BMCR_S100|BMCR_AUTOEN|BMCR_FDX);