Hi York,

> -----Original Message-----
> From: york sun
> Sent: Tuesday, November 08, 2016 12:12 AM
> To: Prabhakar Kushwaha <prabhakar.kushw...@nxp.com>
> Cc: shh....@gmail.com; u-boot@lists.denx.de; S.H. Xie <shaohui....@nxp.com>
> Subject: Re: [PATCH] armv8: ls2080aqds: fix SGMII repeater settings
> 
> 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?
> 

These changes looks fine.
Please note with older code, sometime SGMII riser card was not getting 
configured. It is now more consistent. 

--prabhakar
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to