Commit 99ac4cbc authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Jakub Kicinski

net: phy: micrel: allow usage of generic ethernet-phy clock

The generic ethernet-phy binding allows describing an external clock since
commit 350b7a25 ("dt-bindings: net: phy: Document support for external PHY clk")
for cases where the phy is not supplied by an oscillator but instead
by a clock from the host system.

And the old named "rmii-ref" clock from 2014 is only specified for phys
of the KSZ8021, KSZ8031, KSZ8081, KSZ8091 types.

So allow retrieving and enabling the optional generic clock on phys that
do not provide a rmii-ref clock.
Signed-off-by: default avatarHeiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20231201150131.326766-3-heiko@sntech.deSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 98532946
...@@ -2021,6 +2021,11 @@ static int kszphy_probe(struct phy_device *phydev) ...@@ -2021,6 +2021,11 @@ static int kszphy_probe(struct phy_device *phydev)
rate); rate);
return -EINVAL; return -EINVAL;
} }
} else if (!clk) {
/* unnamed clock from the generic ethernet-phy binding */
clk = devm_clk_get_optional_enabled(&phydev->mdio.dev, NULL);
if (IS_ERR(clk))
return PTR_ERR(clk);
} }
if (ksz8041_fiber_mode(phydev)) if (ksz8041_fiber_mode(phydev))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment