Commit f5cf2ef2 authored by Sascha Hauer's avatar Sascha Hauer Committed by Wolfgang Denk

mpc52xx phy: initialize only when needed

Do not initialize phy on startup, instead initialize it
when we actually need it.
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent 5f58f8d2
......@@ -42,6 +42,8 @@ typedef struct {
int fec5xxx_miiphy_read(char *devname, uint8 phyAddr, uint8 regAddr, uint16 * retVal);
int fec5xxx_miiphy_write(char *devname, uint8 phyAddr, uint8 regAddr, uint16 data);
static int mpc5xxx_fec_init_phy(struct eth_device *dev, bd_t * bis);
/********************************************************************/
#if (DEBUG & 0x2)
static void mpc5xxx_fec_phydump (char *devname)
......@@ -249,6 +251,8 @@ static int mpc5xxx_fec_init(struct eth_device *dev, bd_t * bis)
printf ("mpc5xxx_fec_init... Begin\n");
#endif
mpc5xxx_fec_init_phy(dev, bis);
/*
* Initialize RxBD/TxBD rings
*/
......@@ -387,6 +391,11 @@ static int mpc5xxx_fec_init_phy(struct eth_device *dev, bd_t * bis)
{
mpc5xxx_fec_priv *fec = (mpc5xxx_fec_priv *)dev->priv;
const uint8 phyAddr = CONFIG_PHY_ADDR; /* Only one PHY */
static int initialized = 0;
if(initialized)
return 0;
initialized = 1;
#if (DEBUG & 0x1)
printf ("mpc5xxx_fec_init_phy... Begin\n");
......@@ -937,8 +946,6 @@ int mpc5xxx_fec_initialize(bd_t * bis)
mpc5xxx_fec_set_hwaddr(fec, env_enetaddr);
}
mpc5xxx_fec_init_phy(dev, bis);
return 1;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment