RFC: PHY Abstraction Layer II

Andy Fleming afleming at freescale.com
Fri May 27 04:45:20 EST 2005


On May 26, 2005, at 13:32, Stephen Hemminger wrote:

> I finally got around to looking at this for the new skge driver.
> The Marvell phy code has several issues:
>     * hard coded hex values rather than constants

These are hard-coded because it's errata.  The errata doesn't name  
the registers, nor the bits being set, so the best I could do is  
something like:

phy_write(phydev, M88E1101_ERRATA_REGISTER1,  
M88E1101_ERRATA_REG1_VALUE1);

I'm not sure that's more useful.


>     * doesn't handle restricted autonegotiation

I'm not quite sure what you mean by this one.  ALL the PHYs support  
restricting auto-negotiation to certain values.  See drivers/net/phy/ 
phy_device.c:genphy_config_advert(), which is called by marvell's  
config_aneg function (eventually).

>     * it doesn't really help the driver that much there are too
>       many other warts in the hardware.

Err...  the skge hardware, or the Marvell hardware?  Could you  
specify some warts, so I can look into what changes might need to be  
made?

Andy



More information about the Linuxppc-embedded mailing list