Skip to content

Commit bdecf2d

Browse files
committed
drivers: ethernet: phy: vsc8541: allow disabling autonegotiation
Add support for disabling autonegotiation to the cfg_link callback, as with the phy_mii driver. Signed-off-by: Robert Hancock <robert.hancock@calian.com>
1 parent aa25c6b commit bdecf2d

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

drivers/ethernet/phy/phy_microchip_vsc8541.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -277,12 +277,15 @@ static int phy_mc_vsc8541_get_speed(const struct device *dev, struct phy_link_st
277277
static int phy_mc_vsc8541_cfg_link(const struct device *dev, enum phy_link_speed adv_speeds,
278278
enum phy_cfg_link_flag flags)
279279
{
280+
int ret;
281+
280282
if ((flags & PHY_FLAG_AUTO_NEGOTIATION_DISABLED) != 0U) {
281-
LOG_ERR("Disabling auto-negotiation is not supported by this driver");
282-
return -ENOTSUP;
283+
ret = phy_mii_set_bmcr_reg_autoneg_disabled(dev, adv_speeds);
284+
} else {
285+
ret = phy_mii_cfg_link_autoneg(dev, adv_speeds, true);
283286
}
284287

285-
return phy_mii_cfg_link_autoneg(dev, adv_speeds, true);
288+
return ret;
286289
}
287290

288291
/**

0 commit comments

Comments
 (0)