On 10/17/2016 01:33 AM, shh....@gmail.com wrote: > From: Shaohui Xie <shaohui....@nxp.com> > > The current value to check whether the PHY was configured has dependency > on MC, it expects MC to start PCS AN, this is not true during boot up, > so it should be changed to remove the dependency. > > The PHY's register space should be restore to default after accessing > extended space. > > Signed-off-by: Shaohui Xie <shaohui....@nxp.com> > --- > board/freescale/ls2080aqds/eth.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/board/freescale/ls2080aqds/eth.c > b/board/freescale/ls2080aqds/eth.c > index 95ff68b..cf6791e 100644 > --- a/board/freescale/ls2080aqds/eth.c > +++ b/board/freescale/ls2080aqds/eth.c > @@ -144,8 +144,10 @@ static void sgmii_configure_repeater(int serdes_port) > > mdelay(10); > > - if ((value & 0xfff) == 0x40f) { > + if ((value & 0xfff) == 0x401) { > printf("DPMAC %d:PHY is ..... Configured\n", dpmac_id); > + miiphy_write(dev[mii_bus], riser_phy_addr[dpmac], > + 0x1f, 0); > continue; > } > > @@ -181,28 +183,29 @@ static void sgmii_configure_repeater(int serdes_port) > if (ret > 0) > goto error; > > - mdelay(1); > + mdelay(100);
Why change the delay? > ret = miiphy_read(dev[mii_bus], > riser_phy_addr[dpmac], > 0x11, &value); > if (ret > 0) > goto error; > - mdelay(10); > > - if ((value & 0xfff) == 0x40f) { > + if ((value & 0xfff) == 0x401) { > printf("DPMAC %d :PHY is configured ", > dpmac_id); > printf("after setting repeater 0x%x\n", > value); > i = 5; > j = 5; > - } else > + } else { > printf("DPMAC %d :PHY is failed to ", > dpmac_id); > printf("configure the repeater 0x%x\n", > value); > } > + } > } > + miiphy_write(dev[mii_bus], riser_phy_addr[dpmac], 0x1f, 0); > } > error: > if (ret) > Prabhakar, Do these changes look correct to you? York _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot