Subject: Problem Ethernet Initialization MPC5200 + LXT971A

From: Stefan Strobl <[email-masked]>
Date: Fri, 05 Nov 2010 17:32:52 +0100

Hi

I'm having a Problem with the Initialization of my Ethernet PHY 
(FEC_MPC5200 + LXT971A Phy). I'm using latest U-Boot and Linux 2.6.37 
from Denx.

Once in Linux I can ping my own IP-Address but not any other device in 
my network. The Link LED is on when connected to the network but when 
pinging some other device nothing is being transmitted (Traffic LED is off).

If - before booting - I'm using any network command under U-Boot (which 
is calling eth_init()), the interface works fine after that under Linux 
also!
In that case the kernel prints the line:
      PHY: f003000:00 - Link is Up - 100/Full

So I'm not sure whether the Linux driver does not initialize the PHY 
correctly or whether I should be running a command under Linux that 
makes the interface work. I've played around with ifconfig but that 
didn't get me any further.

Under sysfs I can see that the MAC address is assigned correctly but:
carrier = 0	(should be 1)
duplex = half	(should be full)
operstate = down
speed = 10	(should be 100)

To workaround I could make u-boot run eth_init() always but that doesn't 
seem the right approach to this.

Any ideas?

Many Thanks,
Stefan.