mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
net: zynq_gem: Add support for fixed-link phy
Based on dt-specs fixed-link doesn't require phy-handle to be used. Fix driver to only read phy related setting when phy-handle is found. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
50f56e50d0
commit
3888c8d197
1 changed files with 9 additions and 8 deletions
|
@ -699,14 +699,17 @@ static int zynq_gem_ofdata_to_platdata(struct udevice *dev)
|
||||||
/* Hardcode for now */
|
/* Hardcode for now */
|
||||||
priv->phyaddr = -1;
|
priv->phyaddr = -1;
|
||||||
|
|
||||||
if (dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
|
if (!dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
|
||||||
&phandle_args)) {
|
&phandle_args)) {
|
||||||
debug("phy-handle does not exist %s\n", dev->name);
|
debug("phy-handle does exist %s\n", dev->name);
|
||||||
return -ENOENT;
|
priv->phyaddr = ofnode_read_u32_default(phandle_args.node,
|
||||||
|
"reg", -1);
|
||||||
|
priv->phy_of_node = phandle_args.node;
|
||||||
|
priv->max_speed = ofnode_read_u32_default(phandle_args.node,
|
||||||
|
"max-speed",
|
||||||
|
SPEED_1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
priv->phyaddr = ofnode_read_u32_default(phandle_args.node, "reg", -1);
|
|
||||||
priv->phy_of_node = phandle_args.node;
|
|
||||||
phy_mode = dev_read_prop(dev, "phy-mode", NULL);
|
phy_mode = dev_read_prop(dev, "phy-mode", NULL);
|
||||||
if (phy_mode)
|
if (phy_mode)
|
||||||
pdata->phy_interface = phy_get_interface_by_name(phy_mode);
|
pdata->phy_interface = phy_get_interface_by_name(phy_mode);
|
||||||
|
@ -716,8 +719,6 @@ static int zynq_gem_ofdata_to_platdata(struct udevice *dev)
|
||||||
}
|
}
|
||||||
priv->interface = pdata->phy_interface;
|
priv->interface = pdata->phy_interface;
|
||||||
|
|
||||||
priv->max_speed = ofnode_read_u32_default(phandle_args.node,
|
|
||||||
"max-speed", SPEED_1000);
|
|
||||||
priv->int_pcs = dev_read_bool(dev, "is-internal-pcspma");
|
priv->int_pcs = dev_read_bool(dev, "is-internal-pcspma");
|
||||||
|
|
||||||
printf("ZYNQ GEM: %lx, phyaddr %x, interface %s\n", (ulong)priv->iobase,
|
printf("ZYNQ GEM: %lx, phyaddr %x, interface %s\n", (ulong)priv->iobase,
|
||||||
|
|
Loading…
Add table
Reference in a new issue