
On Fri, Dec 11, 2015 at 5:59 AM, Michal Simek michal.simek@xilinx.com wrote:
Detect phy when driver probes.
Signed-off-by: Michal Simek michal.simek@xilinx.com
A few nits below, but otherwise,
Acked-by: Joe Hershberger joe.hershberger@ni.com
drivers/net/xilinx_axi_emac.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c index c03f8f730d3a..bff4d1b5affe 100644 --- a/drivers/net/xilinx_axi_emac.c +++ b/drivers/net/xilinx_axi_emac.c @@ -222,10 +222,10 @@ static u32 phywrite(struct axidma_priv *priv, u32 phyaddress, u32 registernum, }
/* Setting axi emac and phy to proper setting */
I think you didn't mean to leave this comment here.
-static int setup_phy(struct udevice *dev) +static int axiemac_phy_init(struct udevice *dev) { u16 phyreg;
u32 i, speed, emmc_reg, ret;
u32 i, ret; struct axidma_priv *priv = dev_get_priv(dev); struct axi_regs *regs = priv->iobase; struct phy_device *phydev;
@@ -237,6 +237,9 @@ static int setup_phy(struct udevice *dev) SUPPORTED_1000baseT_Half | SUPPORTED_1000baseT_Full;
/* Set default MDIO divisor */
out_be32(®s->mdio_mc, XAE_MDIO_DIV_DFT | XAE_MDIO_MC_MDIOEN_MASK);
if (priv->phyaddr == -1) { /* Detect the PHY address */ for (i = 31; i >= 0; i--) {
@@ -259,6 +262,18 @@ static int setup_phy(struct udevice *dev) phydev->advertising = phydev->supported; priv->phydev = phydev; phy_config(phydev);
return 0;
+}
+/* Setting axi emac and phy to proper setting */ +static int setup_phy(struct udevice *dev) +{
u32 speed, emmc_reg;
struct axidma_priv *priv = dev_get_priv(dev);
struct axi_regs *regs = priv->iobase;
struct phy_device *phydev = priv->phydev;
if (phy_startup(phydev)) { printf("axiemac: could not initialize PHY %s\n", phydev->dev->name);
@@ -358,6 +373,7 @@ static int axi_ethernet_init(struct axidma_priv *priv) /* Set default MDIO divisor */ out_be32(®s->mdio_mc, XAE_MDIO_DIV_DFT | XAE_MDIO_MC_MDIOEN_MASK);
Why do we need two blank lines?
debug("axiemac: InitHw done\n"); return 0;
} @@ -621,6 +637,8 @@ static int axi_emac_probe(struct udevice *dev) if (ret) return ret;
axiemac_phy_init(dev);
return 0;
}
-- 1.9.1
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot