[U-Boot] TSEC ethernet controller problems (crc errors/ corruption)

David Hawkins dwh at ovro.caltech.edu
Mon Jun 8 18:46:04 CEST 2009


Hi all,

Over the weekend we performed some hardware modifications
on our boards with their troublesome gigabit interfaces.

We performed a couple of tests, one of which may be
the solution to our problem.

1) Modified the value of the series termination of EC_GTX_CLK125

    The PHY drives a 125MHz clock signal to the PowerPC
    (EC_GTX_CLK125 signal) when operating in gigabit ethernet
    mode.

    Our schematic used a 33-Ohm series termination on this
    125MHz signal, but we had used 22-Ohms for all other series
    terminations. The MDS board also uses 22-Ohms series
    terminations.

    We replaced the 33-ohm termination with 22-ohms ... and
    things started working. We looked at the 125MHz signal at
    the destination pin on the BGA of the PowerPC using
    a high-bandwidth scope (2GHz LeCroy) for both 22-Ohms
    termination and 33-Ohms, and there is a slight
    difference in waveform shape, but no obvious ringing,
    or steps in the clock edges that might suggest
    transmission line reflections.

    The fact that we only ever observed errors in gigabit
    mode, that the PHY never reports any errors,
    that EC_GTX_CLK125 is only used in gigabit mode,
    and that the data errors looked like a FIFO clocking
    issue, is consistent with the error being related to
    the quanlity of the EC_GTX_CLK125 signal.

    I'm not ready to claim success, as I need to make the
    change on other boards ... but its very encouraging!

2) Frequency accuracy testing

    We replaced the PHY 125MHz clock source (an onboard
    oscillator) with a frequency synthesizer driven into
    a buffer (to create a 3.3V logic level clock).

    The frequency was adjusted to 124.90MHz, 124.95MHz,
    125.00MHz, 125.05MHz, and 125.10MHz. Errors were
    generated for the +/-0.1MHz cases, but things worked
    fine for the +/-0.05MHz offsets.

    So the PHY is tolerant of frequency errors in the
    oscillator.

    (This test was performed after the series termination
     had been changed).


Ira is going to boot the working board with Linux and
perform some network stress tests.

I'll modify some other boards, and we'll tests those too.

Cheers,
Dave





More information about the U-Boot mailing list