diff options
author | Heiko Stuebner <heiko.stuebner@cherry.de> | 2023-12-01 16:01:31 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-12-04 14:43:55 -0800 |
commit | 99ac4cbcc2a50ecc86ffacc7b4b42ba4259a90d4 (patch) | |
tree | 78ac1e1d811150365d0d1d7fa0432888f6b79ad5 | |
parent | 9853294627237b73a6b765162d9c0485b0697db5 (diff) | |
download | linux-99ac4cbcc2a50ecc86ffacc7b4b42ba4259a90d4.tar.gz linux-99ac4cbcc2a50ecc86ffacc7b4b42ba4259a90d4.tar.bz2 linux-99ac4cbcc2a50ecc86ffacc7b4b42ba4259a90d4.zip |
net: phy: micrel: allow usage of generic ethernet-phy clock
The generic ethernet-phy binding allows describing an external clock since
commit 350b7a258f20 ("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: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20231201150131.326766-3-heiko@sntech.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | drivers/net/phy/micrel.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index de116a0753a1..d2aa3d0695e3 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -2021,6 +2021,11 @@ static int kszphy_probe(struct phy_device *phydev) rate); 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)) |