[PATCH] net: phy: micrel: Get phy node from phy-handle
Ley Foon Tan
ley.foon.tan at intel.com
Mon Apr 26 05:43:47 CEST 2021
If can't find ethernet-phy subnode, try to get phy node from "phy-handle".
Lastly, only use Ethernet node if can't find phy node from ethernet-phy
subnode and phy-handle.
Signed-off-by: Ley Foon Tan <ley.foon.tan at intel.com>
---
drivers/net/phy/micrel_ksz90x1.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/net/phy/micrel_ksz90x1.c b/drivers/net/phy/micrel_ksz90x1.c
index e5f578201f35..e33789b7f747 100644
--- a/drivers/net/phy/micrel_ksz90x1.c
+++ b/drivers/net/phy/micrel_ksz90x1.c
@@ -112,6 +112,7 @@ static int ksz90x1_of_config_group(struct phy_device *phydev,
{
struct udevice *dev = phydev->dev;
struct phy_driver *drv = phydev->drv;
+ struct ofnode_phandle_args phandle;
int val[4];
int i, changed = 0, offset, max;
u16 regval = 0;
@@ -128,8 +129,14 @@ static int ksz90x1_of_config_group(struct phy_device *phydev,
}
if (!ofnode_valid(node)) {
- /* No node found, look in the Ethernet node */
- node = dev_ofnode(dev);
+ if (dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
+ &phandle)) {
+ /* No phy-handle found, look in the Ethernet node */
+ node = dev_ofnode(dev);
+ } else {
+ /* phy-handle found */
+ node = phandle.node;
+ }
}
for (i = 0; i < ofcfg->grpsz; i++) {
--
2.25.1
More information about the U-Boot
mailing list