[U-Boot] [PATCH] armv8: ls2080aqds: fix SGMII repeater settings
york sun
york.sun at nxp.com
Mon Nov 7 19:42:28 CET 2016
On 10/17/2016 01:33 AM, shh.xie at gmail.com wrote:
> From: Shaohui Xie <Shaohui.Xie at 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.Xie at 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
More information about the U-Boot
mailing list