
Hi Joe/Michal,
Can you please take it up if it is fine.
Thanks, Siva
-----Original Message----- From: Siva Durga Prasad Paladugu [mailto:siva.durga.paladugu@xilinx.com] Sent: Monday, July 16, 2018 6:26 PM To: u-boot@lists.denx.de Cc: Michal Simek michals@xilinx.com; joe.hershberger@ni.com; grygorii.strashko@ti.com; Siva Durga Prasad Paladugu sivadur@xilinx.com; Vipul Kumar vipulk@xilinx.com Subject: [UBOOT PATCH v2] net: zynq_gem: convert to use livetree
This patch updates the zynq gem driver to support livetree.
Signed-off-by: Siva Durga Prasad Paladugu siva.durga.paladugu@xilinx.com Signed-off-by: Vipul Kumar vipul.kumar@xilinx.com
Changes for v2:
- Note that this patch is based on below two series.
https://patchwork.ozlabs.org/cover/936370/ and https://patchwork.ozlabs.org/cover/936380/
drivers/net/zynq_gem.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c index 0f56cda..68d1c2f 100644 --- a/drivers/net/zynq_gem.c +++ b/drivers/net/zynq_gem.c @@ -178,7 +178,7 @@ struct zynq_gem_priv { struct zynq_gem_regs *iobase; phy_interface_t interface; struct phy_device *phydev;
- int phy_of_handle;
- ofnode phy_of_node; struct mii_dev *bus; struct clk clk; u32 max_speed;
@@ -348,9 +348,7 @@ static int zynq_phy_init(struct udevice *dev) }
priv->phydev->advertising = priv->phydev->supported;
- if (priv->phy_of_handle > 0)
priv->phydev->node = offset_to_ofnode(priv-
phy_of_handle);
priv->phydev->node = priv->phy_of_node;
return phy_config(priv->phydev);
} @@ -693,21 +691,23 @@ static int zynq_gem_ofdata_to_platdata(struct udevice *dev) { struct eth_pdata *pdata = dev_get_platdata(dev); struct zynq_gem_priv *priv = dev_get_priv(dev);
- int node = dev_of_offset(dev);
- struct ofnode_phandle_args phandle_args; const char *phy_mode;
- pdata->iobase = (phys_addr_t)devfdt_get_addr(dev);
- pdata->iobase = (phys_addr_t)dev_read_addr(dev); priv->iobase = (struct zynq_gem_regs *)pdata->iobase; /* Hardcode for now */ priv->phyaddr = -1;
- priv->phy_of_handle = fdtdec_lookup_phandle(gd->fdt_blob, node,
"phy-handle");
- if (priv->phy_of_handle > 0)
priv->phyaddr = fdtdec_get_int(gd->fdt_blob,
priv->phy_of_handle, "reg", -1);
- if (dev_read_phandle_with_args(dev, "phy-handle", NULL, 0, 0,
&phandle_args)) {
debug("phy-handle does not exist %s\n", dev->name);
return -ENOENT;
- }
- phy_mode = fdt_getprop(gd->fdt_blob, node, "phy-mode", NULL);
- 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); if (phy_mode) pdata->phy_interface =
phy_get_interface_by_name(phy_mode); if (pdata->phy_interface == -1) { @@ -716,10 +716,8 @@ static int zynq_gem_ofdata_to_platdata(struct udevice *dev) } priv->interface = pdata->phy_interface;
- priv->max_speed = fdtdec_get_uint(gd->fdt_blob, priv-
phy_of_handle,
"max-speed", SPEED_1000);
- priv->int_pcs = fdtdec_get_bool(gd->fdt_blob, node,
"is-internal-pcspma");
- priv->max_speed = dev_read_u32_default(dev, "max-speed",
SPEED_1000);
priv->int_pcs = dev_read_bool(dev, "is-internal-pcspma");
printf("ZYNQ GEM: %lx, phyaddr %x, interface %s\n", (ulong)priv-
iobase,
priv->phyaddr, phy_string_for_interface(priv->interface));
-- 2.7.4