[U-Boot-Users] MPC5121 (and MPC5200) ethernet initialization delay

gvb.uboot
2007-12-17T23:21:28Z

Chris Morgan wrote:
> Here at Bose we've measured a significant delay in the time it takes
> to initialize ethernet on the MPC5121, a delay of ~2 seconds. I've
> seen the same delay on the MPC5200 with u-boot 1.1.3. Currently we are
> using the mpc5121 ads version of u-boot from Freescale, based on
> 1.2.0.
>
> Is there a known requirement in the ethernet hardware or protocol that
> requires this 2 second delay? Auto detection of speed or something?
>
> Because we haven't been using ethernet to boot, only to program flash,
> we've been able to eliminate the delay by moving the ethernet init
> until after the user has pressed enter and broken into the shell. This
> would naturally break bootcmds that used ethernet, like nfs or tftp
> booting. If the delay is fixed due to hardware I'm wondering if it
> would be acceptable to make the ethernet initialization occur on
> demand when other code wanted to access the ethernet device?
>
> Chris

A 2 second delay sounds exactly like the PHY autonegotiating the link
speed (if you add up the numbers in the 100bT standard, it is 2 seconds).

One of Wolfgang's mantras is that hardware must not be initialized
before and unless it is used. There is some gray area here... you do
use the ethernet, just not all the time.

I can guess (with pretty good assurance) about the cause of the delay,
but I'm not aware of any really good options to eliminate the delay.
Sorry. Hardwiring the speed is very ugly. If you start the
autonegotiation on power up (typically the PHY can be configured to do
this via hardware strapping) and *don't* restart it when the ethernet is
initialized, it can hide the delay. Or your solution may be the best
(for you).

HTH,
gvb