mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-19 06:44:31 +00:00
Tweak the autoneg kickoff code to that it more closely resembles the
method uses in the nsgphy driver.
This commit is contained in:
parent
febceb3e27
commit
1d083681bc
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=83597
|
@ -280,6 +280,11 @@ brgphy_service(sc, mii, cmd)
|
|||
BRGPHY_1000CTL_MSE);
|
||||
}
|
||||
break;
|
||||
#ifdef foo
|
||||
case IFM_NONE:
|
||||
PHY_WRITE(sc, MII_BMCR, BMCR_ISO|BMCR_PDOWN);
|
||||
break;
|
||||
#endif
|
||||
case IFM_100_T4:
|
||||
default:
|
||||
return (EINVAL);
|
||||
|
@ -407,12 +412,20 @@ brgphy_mii_phy_auto(mii, waitfor)
|
|||
struct mii_softc *mii;
|
||||
int waitfor;
|
||||
{
|
||||
int bmsr, i;
|
||||
int bmsr, ktcr = 0, i;
|
||||
|
||||
if ((mii->mii_flags & MIIF_DOINGAUTO) == 0) {
|
||||
PHY_WRITE(mii, BRGPHY_MII_1000CTL,
|
||||
mii_phy_reset(mii);
|
||||
PHY_WRITE(mii, BRGPHY_MII_BMCR, 0);
|
||||
DELAY(1000);
|
||||
ktcr = PHY_READ(mii, BRGPHY_MII_1000CTL);
|
||||
PHY_WRITE(mii, BRGPHY_MII_1000CTL, ktcr |
|
||||
BRGPHY_1000CTL_AFD|BRGPHY_1000CTL_AHD);
|
||||
PHY_WRITE(mii, BRGPHY_MII_ANAR, BRGPHY_SEL_TYPE);
|
||||
ktcr = PHY_READ(mii, BRGPHY_MII_1000CTL);
|
||||
DELAY(1000);
|
||||
PHY_WRITE(mii, BRGPHY_MII_ANAR,
|
||||
BMSR_MEDIA_TO_ANAR(mii->mii_capabilities) | ANAR_CSMA);
|
||||
DELAY(1000);
|
||||
PHY_WRITE(mii, BRGPHY_MII_BMCR,
|
||||
BRGPHY_BMCR_AUTOEN | BRGPHY_BMCR_STARTNEG);
|
||||
PHY_WRITE(mii, BRGPHY_MII_IMR, 0xFF00);
|
||||
|
|
Loading…
Reference in a new issue