Hi Jordan,

On 05/08/11 09:04, Jordan Fuerst wrote:
I very recently took an old project that was running a version 2.6.12-uc0 and 
recompiled it to the newer 2.6.37-uc0 code base (shared memory, yippie!)

The board has a micrel KSZ8873MLL PHY which is essentially a 3 port Ethernet 
switch allows for one of them to talk to the freescale 5275 and the other two 
to face the world as what appears as two Ethernet ports. While only using one 
of the FEC controllers on the 5275.

In the 2.6.12 version of the kernel everything worked well. Both outside facing 
Ethernet ports worked just fine and everyone was happy.

On the newer 2.6.37 kernel only one of the outside facing ports works while the 
other one does not appear to switch any traffic to the 5275.

I took a gander through the drivers/net/fec.c file and actually had to marvel 
at how much different it is from the old driver code.

Some other things I have noticed is that the old code only has the following 
traces in proc/kmsg:

<4>FEC ENET Version 0.2

<4>fec: PHY @ 0x1, ID 0x00221430 -- unknown PHY!

While the new one has these:

<6>FEC Ethernet Driver

<6>fec_enet_mii_bus: probed

<6>eth0: Freescale FEC PHY driver [UNKNOWN] (mii_bus:phy_addr=1:01, irq=-1)

<6>PHY: 1:01 - Link is Up - 100/Full (Actually every time the link goes up/down 
the bottom line is added appropriately unlike the old kernel.)

I am assuming that the reason for this is buried somewhere in the fec.c file 
potentially in the fec_enet_mii_probe() function or maybe in a mii write 
somewhere?

Anyone have any ideas as to where this sort of configuration issue could be 
buried and how/where I can change things to get back to the old functionality?

The FEC driver is now also used by some of the ARM based Freescale
iMX parts. So some changes have been required over the last couple
of years :-)

It also now uses phylib, and doesn't have its own phy specific
support code in the driver. That caused me to have to fix things
for some boards, like a 5272 board that had a switch connected -
sort of like what you have. In that case I had to select and
setup to use a fixed phy.

I don't recall off hand which kernel switched the FEC driver to using
phylib, so you may wan to check that first. But from the messages you
report above I am pretty sure that is what 2.6.37-uc0 is using.

Regards
Greg



------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     g...@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
8 Gardner Close                             FAX:         +61 7 3217 5323
Milton, QLD, 4064, Australia                WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to