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

Liu Dave-R63238 DaveLiu at freescale.com
Wed Jun 10 01:21:47 CEST 2009


Hi Dave,

Good news, Good summary!

> I modified the MPC8349E-MDS board and can create the
> same problem we were experiencing on our boards;
> CRC errors and data packets with received bytes
> repeated within the receive packets.
> 
> So I am certain we have tracked the root cause of
> the problem we were having with our boards.
> 
> The problem was related to the EC_GTX_CLK125MHZ
> signal being sent from the PHY to the PowerPC
> processor. The termination resistance on our board
> was too large (33-Ohms). Reducing the termination
> resistor value increased the signal swing, and
> produced a better looking clock at the PowerPC
> BGA pin; a 10-Ohm source resistor was required
> in our case. Linux network stress tests now pass.
> 
> The modification to break the MDS board was simple;
> I increased the CLK125MHz source termination to
> 50-Ohms (from its nominal 22-Ohms).
> The MDS board had another error; there is a jumper
> on the board for selecting the supply rail for
> 2.5V GETH (JS2 and JS3 on the MPC8349E-MDS-PB
> schematic) as either 3.3V for GMII, or 2.5V for
> RGMII. The jumper on our board was in the 2.5V
> location, whereas it should be on 3.3V. Changing
> this jumper made no real difference.
> 
> This testing revealed some interesting observations;
> 
> 1) The Marvell 88E1111 PHY generates a 125MHz output
>     clock that is used as the PowerPC EC_GTX_CLK125MHZ
>     clock source on the MDS board.
> 
>     The MDS board has to use the PHY output as the 125MHz
>     clock source to the PowerPC, as the PHY is clocked
>     using a 25MHz oscillator, so there is no alternative
>     source of 125MHz on the board.
> 
>     However, the PHY 125MHz output has a *huge* amount
>     of duty cycle variation depending on whether the
>     PHY has negotiated as a *master* (clock looks good),
>     or as a *slave* (horrible looking clock).
> 
>     When the PHY on the MDS board, or our board,
>     negotiates the 1Gbit link as a *slave*, observing
>     the 125MHz output clock with an oscilloscope
>     triggered on the rising edge of the clock, there
>     is about 1ns of variation in the timing of the
>     falling edge.

IIRC, The FPGA of MPC8349EA-MDS can control if we use the PHY
as master. We were aware of this.

>     Yikes!!!
> 
>     Has anyone else been disturbed by this???
> 
>     I know its not just on our board, as I can see
>     it on the MDS board too.
> 
> 2) The MPC8349EA hardware specification indicates
>     a 45% to 55% duty cycle requirement on the
>     EC_GTX_CLK125MHZ clock signal. The duty
>     cycle is measured at LVDD/2 = 1.65V for
>     GMII operating at LVDD = 3.3V.
> 
>     With the PHY generating the 125MHz clock,
>     and the PHY operated at 2.5V, the duty
>     cycle specification is *not* met by the
>     MDS board - especially when the PHY has
>     negotiated slave mode and has a huge
>     amount of jitter on it.
> 
>     This seems like a minor design error,
>     in that a 3.3V buffer could have been used
>     on the PHY output clock to ensure 3.3V levels
>     at the PowerPC.
> 
>     Anyone out there care to comment how this has
>     been implemented on other boards?
> 
> Our board has a 3.3V 125MHz oscillator as the PHY source,
> and clock source for other devices on the board. I need
> to make some changes to our PCB, so I'll also route an
> option for a 3.3V 125MHz clock to the PowerPC pin
> (I'll put a 3.3V buffer on the board that can be
> driven by the oscillator directly, or by the PHY
> output).
> 
> I'd be interested in hearing anyone else's experience
> with the 125MHz Gigabit PHY clock.
> 
> And for those finding this email in the archive,
> I hope this helps you :)
> 
> Cheers,
> Dave
> 
> 
> 
> 
> 
> 
> 
> 


More information about the U-Boot mailing list