void TPAL_SetPhy100HalfDuplex(struct et131x_adapter *etdev) { ET1310_PhyPowerDown(etdev, 1); ET1310_PhyAdvertise1000BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); ET1310_PhyAdvertise10BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); ET1310_PhyAdvertise100BaseT(etdev, TRUEPHY_ADV_DUPLEX_HALF); ET1310_PhySpeedSelect(etdev, TRUEPHY_SPEED_100MBPS); ET1310_PhyPowerDown(etdev, 0); }
/** * TPAL_SetPhy100HalfDuplex - Force 100 Base T Half Duplex mode. * @etdev: pointer to the adapter structure * * Also sets the MAC so it is syncd up properly. */ void TPAL_SetPhy100HalfDuplex(struct et131x_adapter *etdev) { /* Power down PHY */ ET1310_PhyPowerDown(etdev, 1); /* first we need to turn off all other advertisement */ ET1310_PhyAdvertise1000BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); ET1310_PhyAdvertise10BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); /* Set our advertise values accordingly */ ET1310_PhyAdvertise100BaseT(etdev, TRUEPHY_ADV_DUPLEX_HALF); /* Set speed */ ET1310_PhySpeedSelect(etdev, TRUEPHY_SPEED_100MBPS); /* Power up PHY */ ET1310_PhyPowerDown(etdev, 0); }
void TPAL_SetPhy100Force(struct et131x_adapter *etdev) { ET1310_PhyPowerDown(etdev, 1); ET1310_PhyAutoNeg(etdev, false); ET1310_PhyAdvertise1000BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); ET1310_PhyAdvertise10BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); ET1310_PhyAdvertise100BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); ET1310_PhySpeedSelect(etdev, TRUEPHY_SPEED_100MBPS); ET1310_PhyDuplexMode(etdev, TRUEPHY_DUPLEX_FULL); ET1310_PhyPowerDown(etdev, 0); }
/** * TPAL_SetPhy100Force - Force 100 BaseT FD mode WITHOUT using autonegotiation * @etdev: pointer to the adapter structure */ void TPAL_SetPhy100Force(struct et131x_adapter *etdev) { /* Power down PHY */ ET1310_PhyPowerDown(etdev, 1); /* Disable autoneg */ ET1310_PhyAutoNeg(etdev, false); /* Disable all advertisement */ ET1310_PhyAdvertise1000BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); ET1310_PhyAdvertise10BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); ET1310_PhyAdvertise100BaseT(etdev, TRUEPHY_ADV_DUPLEX_NONE); /* Force 100 Mbps */ ET1310_PhySpeedSelect(etdev, TRUEPHY_SPEED_100MBPS); /* Force Full duplex */ ET1310_PhyDuplexMode(etdev, TRUEPHY_DUPLEX_FULL); /* Power up PHY */ ET1310_PhyPowerDown(etdev, 0); }