> From: Stefan Nickl<Stefan.Nickl at kontron.com> > Date: June 29, 2004 5:17:44 AM CDT > To: linuxppc-embedded<linuxppc-embedded at lists.linuxppc.org> > Cc: Kumar Gala<kumar.gala at motorola.com> > Subject: [PATCH] MPC85XX TSEC driver: fix for mdio speed > > In gianfar_phy.c, the divisor for the MDIO interface to the PHYs > is set to a safe value as part of running a phy_cmd. > However, there is one MDIO transaction that happens before any command > is sent: reading the PHYs manufactuere identifier in get_phy_info. > This patch adds a "dummy command" to use the side effect of > phy_run_commands. > Background is that the initial revision of our hardware only works > reliably with the slowest divisor as long as the FEC PHY is the only > (MDIO) bus load. We kept reading slightly distorted ID from the FEC's > PHY when the 2 Marvells were not yet up. > -- > Stefan Nickl > Kontron Modular Computers >
Ooh, good catch. Kumar Gala forwarded me this, since I wrote the driver (And now I have subscribed to linuxppc-embedded, as I should have ;). Rather than a dummy read, though, it might be better to abstract the code which configures the bus, and put it in a function that both get_phy_info and phy_run_commands can call. Here's a patch that does that. Could you check that it fixes your problem? If so, we'll push it out. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: phy_buspatch.txt Url: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20040713/b5bb04f0/attachment.txt -------------- next part -------------- Sorry for the long delay: this window fell behind some others while I was investigating a couple of the other things you mentioned, and then my stack got corrupted. Andy Fleming PowerPC Software Enablement Freescale Semiconductor, Inc.
