[U-Boot] [PATCH v2] apalis_imx6: increase phy autoneg timeout
Stefano Babic
sbabic at denx.de
Thu Jun 27 12:20:57 UTC 2019
Hi Philippe,
On 27/06/19 14:17, Philippe Schenker wrote:
> On Thu, 2019-06-27 at 14:03 +0200, Stefano Babic wrote:
>> Hi Igor,
>>
>> On 24/06/19 10:39, Igor Opaniuk wrote:
>>> From: Igor Opaniuk <igor.opaniuk at toradex.com>
>>>
>>> Default value (4000ms) of PHY_ANEG_TIMEOUT for Micrel KSZ9031 contoller
>>> isn't sufficient to finish auto-negotiation, which sometimes leads to
>>> timeout errors:
>>>
>>> Apalis iMX6 # dhcp
>>> FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !
>>>
>>> Increase the auto-negotiation time-out to 15000ms.
>>>
>>
>> I have no problems to merge this, it is your board. But this seems just
>> hide the issue. 15 seconds for autonegotiation timeout is just a
>> work-around. This means that the autonegotiation fails several times and
>> (maybe with some switches) it has a bigger probability to succeed if we
>> increase the timeout, that is the phy tries more time to set up the link.
>>
>> Best regards,
>> Stefano Babic
>
> Hi Stefano,
>
> I know that 15s for this timeout is huge. But I tried a lot of things with this
> PHY and had contact with Microchip about this with no outcome.
ok
> We did some
> improvements on the clock side that got things better.
> To mention here is that the KSZ9031 is also not compliant with IEEE802.3 in
> gigabit-mode. I suspect that the gigabit-part of that phy is just 'broken'. I
> also compared the same switches I tried to other boards like Beagle-X15, they
> have the same long aneg-times so I basically gave up on this and see this now as
> is.
Ok - thanks for clarification.
>
> Good news is that Microchip has a follow-up phy, the KSZ9131. We've tried it and
> it looks much better and also faster with autonegotiation.
>
> We could also limit speed of the phy to 100Mbps, there autonegotiation is much
> faster, but this solution also hides just our problem. That's why we decided for
> that time-out.
ok - so we know there is a HW issue, and we cannot solve it - just add
this work-around. I apply this still for 2019.04 as "fix".
Best regards,
Stefano
>
> Best regards,
> Philippe
>
>>
>>> Signed-off-by: Igor Opaniuk <igor.opaniuk at toradex.com>
>>> ---
>>>
>>> v2:
>>> - Based on empirical results from Philippe Schenker, increased timeout
>>> value to 15s, just to be on the safe side
>>>
>>> include/configs/apalis_imx6.h | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
>>> index 4b0a3fb26b..df31cf6fe7 100644
>>> --- a/include/configs/apalis_imx6.h
>>> +++ b/include/configs/apalis_imx6.h
>>> @@ -58,6 +58,7 @@
>>> #define IMX_FEC_BASE ENET_BASE_ADDR
>>> #define CONFIG_FEC_XCV_TYPE RGMII
>>> #define CONFIG_ETHPRIME "FEC"
>>> +#define PHY_ANEG_TIMEOUT 15000 /* PHY needs longer aneg time */
>>> #define CONFIG_FEC_MXC_PHYADDR 6
>>> #define CONFIG_TFTP_TSIZE
>>>
>>>
>>
>>
>
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list