PPC440GX IBM EMAC2/3 RGMII mode selection

Eugene Surovegin ebs at ebshome.net
Sat Jul 9 01:40:20 EST 2005


On Fri, Jul 08, 2005 at 01:14:54PM +0200, David Grab wrote:
> I solved the PHY assertion with my board specific function. Thanks to Travis
> B. Sawyer for this hint.
> 
> 		if (i < 2) {
> 			emacdata->phy_map = 0xffffffff;
> 			emacdata->phy_mode = PHY_MODE_NA;
> 		}
> 		else {
> 			emacdata->phy_map = 0x00000001;
> 			emacdata->phy_mode = PHY_MODE_RGMII;
> 		}
> 
> But now i have a new problem. As you can see my PHY is detected and working
> properly. It respond on link down and link up by (un)connecting ethernet
> cable. Also i get RX Stuff from ethernet. But if i ping after setting
> network, then it results in No response and even i can?t measure an TX
> Enable or TX Clock signal from PPC440 to my PHY. I debugged a litte bit and
> i think it?s becaus my ethernet is set up with zmii0: input 0 in SMII mode
> and rgmii0: input 0 in RGMII mode. Is it possible that eth0 uses SMII mode
> instead of RGMII so that no TX CLK / Enable is generated from PPC?

[snip]

> mal0: Initialized, 4 tx channels, 4 rx channels
> emac: IBM EMAC Ethernet driver, version 2.0
> Maintained by Benjamin Herrenschmidt <benh at kernel.crashing.org>
> zmii0: input 0 in SMII mode
> emac0: Can't find PHY.
> zmii0: input 1 in SMII mode
> emac1: Can't find PHY.
> zmii0: input 2 in SMII mode
> rgmii0: input 0 in RGMII mode
> eth0: IBM emac, MAC 00:04:ac:e3:28:8c
> eth0: Found Generic MII PHY (0x05)
> zmii0: input 3 in SMII mode
> rgmii0: input 1 in RGMII mode
> eth1: IBM emac, MAC 00:04:ac:e3:28:8d
> eth1: Found Generic MII PHY (0x06)

Are you using gigabit connection or ordinary fast ethernet (100 Mbps)?
If gige, then you have to add your gig PHY definition. Generic MII PHY 
in the current driver doesn't support GigE (my version supports it).

Another question, is ethernet on your board working in U-Boot?

There is alternative EMAC driver I wrote, which fixed numerous 
problems with current driver version (http://kernel.ebshome.net). You 
can try it and I can help you getting it working on your board, 
unfortunately I cannot help you much with the current driver, because 
it's known to be buggy and IMHO fighting it is a waste of time.

-- 
Eugene





More information about the Linuxppc-embedded mailing list