mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
eth: mtk-eth: fix incorrect read of phy-handle
In mt7629-rfb.dts, the phy-handle is a reference to the node phy0, not the node itself: phy-handle = <&phy0>; phy0: ethernet-phy@0 { reg = <0>; } However the driver used ofnode_find_subnode("phy-handle") to read the node. It will always fail. This patch replaces ofnode_find_subnode with dev_read_phandle_with_args to make sure the node can be read correctly. Cc: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
cdd69acc2c
commit
ebb97ea868
1 changed files with 4 additions and 3 deletions
|
@ -1130,13 +1130,14 @@ static int mtk_eth_ofdata_to_platdata(struct udevice *dev)
|
|||
&priv->rst_gpio, GPIOD_IS_OUT);
|
||||
}
|
||||
} else {
|
||||
subnode = ofnode_find_subnode(dev_ofnode(dev), "phy-handle");
|
||||
if (!ofnode_valid(subnode)) {
|
||||
ret = dev_read_phandle_with_args(dev, "phy-handle", NULL, 0,
|
||||
0, &args);
|
||||
if (ret) {
|
||||
printf("error: phy-handle is not specified\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
priv->phy_addr = ofnode_read_s32_default(subnode, "reg", -1);
|
||||
priv->phy_addr = ofnode_read_s32_default(args.node, "reg", -1);
|
||||
if (priv->phy_addr < 0) {
|
||||
printf("error: phy address is not specified\n");
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Reference in a new issue