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