mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
net: gem: Add support for more PHYs on MDIO bus
Find out MDIO bus and enable MDIO access to it if this is done via different GEM controller. Only works across GEM instances. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
6c0e59fcd9
commit
8c40e07aab
1 changed files with 10 additions and 0 deletions
|
@ -758,6 +758,9 @@ static int zynq_gem_ofdata_to_platdata(struct udevice *dev)
|
|||
|
||||
if (!dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
|
||||
&phandle_args)) {
|
||||
fdt_addr_t addr;
|
||||
ofnode parent;
|
||||
|
||||
debug("phy-handle does exist %s\n", dev->name);
|
||||
priv->phyaddr = ofnode_read_u32_default(phandle_args.node,
|
||||
"reg", -1);
|
||||
|
@ -765,6 +768,13 @@ static int zynq_gem_ofdata_to_platdata(struct udevice *dev)
|
|||
priv->max_speed = ofnode_read_u32_default(phandle_args.node,
|
||||
"max-speed",
|
||||
SPEED_1000);
|
||||
|
||||
parent = ofnode_get_parent(phandle_args.node);
|
||||
addr = ofnode_get_addr(parent);
|
||||
if (addr != FDT_ADDR_T_NONE) {
|
||||
debug("MDIO bus not found %s\n", dev->name);
|
||||
priv->mdiobase = (struct zynq_gem_regs *)addr;
|
||||
}
|
||||
}
|
||||
|
||||
phy_mode = dev_read_prop(dev, "phy-mode", NULL);
|
||||
|
|
Loading…
Reference in a new issue