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

Reply via email to