Commit f25a7eaa authored by Biju Das's avatar Biju Das Committed by Jakub Kicinski
Browse files

net: phy: micrel: Add ksz9131_resume()



The Renesas RZ/G3E SMARC EVK uses KSZ9131RNXC phy. On deep power state,
PHY loses the power and on wakeup the rgmii delays are not reconfigured
causing it to fail.

Replace the callback kszphy_resume()->ksz9131_resume() for reconfiguring
the rgmii_delay when it exits from PM suspend state.

Signed-off-by: default avatarBiju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20250711054029.48536-1-biju.das.jz@bp.renesas.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent b06c4311
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -5633,6 +5633,14 @@ static int lan8841_suspend(struct phy_device *phydev)
	return kszphy_generic_suspend(phydev);
}

static int ksz9131_resume(struct phy_device *phydev)
{
	if (phydev->suspended && phy_interface_is_rgmii(phydev))
		ksz9131_config_rgmii_delay(phydev);

	return kszphy_resume(phydev);
}

static struct phy_driver ksphy_driver[] = {
{
	.phy_id		= PHY_ID_KS8737,
@@ -5879,7 +5887,7 @@ static struct phy_driver ksphy_driver[] = {
	.get_strings	= kszphy_get_strings,
	.get_stats	= kszphy_get_stats,
	.suspend	= kszphy_suspend,
	.resume		= kszphy_resume,
	.resume		= ksz9131_resume,
	.cable_test_start	= ksz9x31_cable_test_start,
	.cable_test_get_status	= ksz9x31_cable_test_get_status,
	.get_features	= ksz9477_get_features,