Dear Roy Zang, In message <1319178713-12472-2-git-send-email-tie-fei.z...@freescale.com> you wrote: > The original m88e1111s_config() does not do the SGMII mode > initialization and is buggy. Rewrite the function according to > 3.0.6 kernel function m88e1111_config_init() in drivers/net/phy/marvell.c > > Signed-off-by: Roy Zang <tie-fei.z...@freescale.com> > Acked-by: Andy Fleming <aflem...@freescale.com> > Cc: Kumar Gala <ga...@kernel.crashing.org> ... > + /* soft reset */ > + phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET); > + do > + reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR); > + while (reg & BMCR_RESET); ... > + /* soft reset */ > + phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET); > + do > + reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR); > + while (reg & BMCR_RESET);
Do we really need this double reset? Also, I dislike the potentially infinite loop here - please add a timeout and an error exit. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de A supercomputer is a machine that runs an endless loop in 2 seconds. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot