On May 8, 2006, at 11:05, Uwe Zeisberger wrote:
Hello,
I try to get an network interface running that has an LXT971A[1].
If I apply the following patch, the target can detect the phy.
diff --git a/drivers/net/phy/lxt.c b/drivers/net/phy/lxt.c
index bef79e4..4c66fac 100644
--- a/drivers/net/phy/lxt.c
+++ b/drivers/net/phy/lxt.c
@@ -137,9 +137,9 @@ static struct phy_driver lxt970_driver =
};
static struct phy_driver lxt971_driver = {
- .phy_id = 0x0001378e,
+ .phy_id = 0x001378e0,
.name = "LXT971",
- .phy_id_mask = 0x0fffffff,
+ .phy_id_mask = 0xfffffff0,
.features = PHY_BASIC_FEATURES,
.flags = PHY_HAS_INTERRUPT,
.config_aneg = genphy_config_aneg,
This looks good.
According to
http://www.intel.com/design/network/products/LAN/datashts/
24941402.pdf
page 90f the id registers yield 0x001378eX (with X being current
revision ID)
uzeisberger@io:~/gsrc/linux-2.6$ git grep -i 1378e drivers/net/
drivers/net/arm/at91_ether.h:#define MII_LXT971A_ID 0x001378E0
drivers/net/e1000/e1000_hw.h:#define L1LXT971A_PHY_ID 0x001378E0
drivers/net/fec.c: .id = 0x0001378e,
drivers/net/fec_8xx/fec_mii.c: .id = 0x0001378e,
drivers/net/phy/lxt.c: .phy_id = 0x0001378e,
The fec.c and fec_mii.c drivers used a shift by 4 to chop off the end
of the ID. When the PHY Layer switched to using a mask, not all of
the drivers got properly switched.
So both variants occur more than once. (I only took a quick glance at
the usage of these ids, but I think they all use it in the same way.
That is, ID1 << 16 | ID2.)
The fec-style drivers do this:
if(phy_info[i]->id == (fep->phy_id >> 4))
Anyway, your patch is correct.
"My" phy reports 0x001378e2 and now I wonder if there are different
chips out there with the same name.
Can anybody explain this mismatch to me? (Or point me to the right
query for google.)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]