Subject: Re: Problem Ethernet Initialization MPC5200 + LXT971A

From: "tiejun.chen" <[email-masked]>
Date: Mon, 08 Nov 2010 17:50:58 +0800

Stefan Strobl wrote:
> 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

Can you probe PHY successfully when failed?

> 
> 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)
> 

Can you use 'ethtool' utility to access/control that? If no please check how you
access PHY by MII bus? I doubts some multiplex PIN should be configured when you
operate PHY.

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

Yes. Often we shouldn't depend the bootloader do this when we use NIC. But its
worth tracking eth_init in detail to check what are missed for Linux. I guest
those should be dedicated to the hardware. For example, configuring
multiplex-pin, or reset PHY before the real operation action and so on.

Tiejun

> 
> Any ideas?
> 
> Many Thanks,
> Stefan.
> _______________________________________________
> Linuxppc-dev mailing list
> [email-masked]
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>