Commit 45eedaa6 authored by Robert Hancock's avatar Robert Hancock Committed by Benjamin Cabé
Browse files

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: default avatarRobert Hancock <robert.hancock@calian.com>
parent aab1f68d
Loading
Loading
Loading
Loading
+6 −3
Changes for drivers/ethernet/phy/phy_microchip_vsc8541.c: 6 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -277,12 +277,15 @@ static int phy_mc_vsc8541_get_speed(const struct device *dev, struct phy_link_st
static int phy_mc_vsc8541_cfg_link(const struct device *dev, enum phy_link_speed adv_speeds,
				   enum phy_cfg_link_flag flags)
{
	int ret;

	if ((flags & PHY_FLAG_AUTO_NEGOTIATION_DISABLED) != 0U) {
		LOG_ERR("Disabling auto-negotiation is not supported by this driver");
		return -ENOTSUP;
		ret = phy_mii_set_bmcr_reg_autoneg_disabled(dev, adv_speeds);
	} else {
		ret = phy_mii_cfg_link_autoneg(dev, adv_speeds, true);
	}

	return phy_mii_cfg_link_autoneg(dev, adv_speeds, true);
	return ret;
}

/**