[U-Boot] Link problem with eTSEC2 on P2020RDB

Peter Tyser ptyser at xes-inc.com
Sat Jun 26 15:19:42 CEST 2010


Hi Felix,

> On Fri, Jun 25, 2010 at 4:33 AM, Felix Radensky
> <felix at embedded-sol.com> wrote:
>         Hi Ben,
>         
>         Peter Tyser seems to be OOO until Monday, so maybe you can
>         comment on this problem,
>         as it's network related.
>         
>         Peter's patch comes to fix a problem with ethernet not working
>         on XES 8572 board using
>         BCM5482S PHY in SGMII mode.  On the other hand it breaks
>         eTSEC2 on P2020RDB
>         board using VSC8211 PHY in SGMII mode. On P2020RDB not only
>         u-boot, but also
>         Linux cannot use eTSEC2.
>         
> 
> 
>         Do you have any suggestions how to make both boards happy ?

My company talked with a Freescale field application engineer about this
issue quite a bit a while back, and the application note at
http://www.freescale.com/files/32bit/doc/app_note/AN3869.pdf also
provides some good info.  I can forward relevant snippets of the
discussion with the Freescale FAE when I get back into the office on
Monday.  For reference, we are using the BCM5482S PHY connected to a
MPC8572 via SMGII, with both copper and fiber interfaces on the remote
side of the PHY.

In any case, our testing and the Freescale FAE's input showed that
in-band auto-negotiation on the SGMII interface didn't work, thus I
submitted the change you referenced.  If my memory is correct,
empirically it looked like the MPC8572 did support 1000 base-X
auto-negotiation, but not SGMII auto-negotiation.  Can you validate
you're using SGMII and not 1000 base-X to connect the P2020 to the
VSC8211 PHY?  A simple way to test this should be to connect the VSC8211
to a 100 mpbs switch - this should work fine via SGMII but not 1000
base-X (assuming you're using a copper interface).

Unfortunately our newer P2020 products don't use SGMII interfaces so I
can't investigate the differences between the P2020 vs MPC8572.

> I'm not familiar with how SGMII is configured on this controller, but
> it appears that Peter's patch turned of Autonegotiation.  Why this
> would make a PHY work and a switch not work is curious...  Maybe we
> should have a CONFIG option for SGMII parameters.  Settings could
> default to the ones Peter set (since he submitted it in November and
> problems are surfacing now), but could be overriden.  Does that sound
> reasonable?  Something like:
> 
> 
> #ifndef CONFIG TSEC_TBICR_SETTINGS
> #define TBICR_SETTINGS ( \
>                 TBICR_PHY_RESET \
>                 | TBICR_FULL_DUPLEX \
>                 | TBICR_SPEED1_SET \
>                 )
> #else
> #define TBICR_SETTINGS CONFIG_TSEC_TBICR_SETTINGS
> #endif 
>         Thanks.

This solution is fine by me.  I'd be curious if anyone at Freescale has
a definitive answer about SGMII and auto-negotiation.  I'm happy to try
any patch on Monday

Best,
Peter




More information about the U-Boot mailing list