Sorry for the vicious cross-posting, but it concerns all three
groups.
johnh and I found a fix for our nsphy problem today. The problem had to
do with a commented out, undocumented mystery bit, removed during the mii
changes from 1.3.3 to 1.4. The fix uncomments these bits and fixes
autonegotiation and nastiness in general:
--- nsphy.c.orig Wed Jul 26 13:03:43 2000
+++ nsphy.c Wed Jul 26 14:38:06 2000
@@ -218,14 +218,17 @@
*/
reg &= ~PCR_FLINK100;
-#if 0
/*
* Mystery bits which are supposedly `reserved',
* but we seem to need to set them when the PHY
- * is connected to some interfaces!
+ * is connected to some interfaces:
+ *
+ * 0x0400 is needed for fxp
+ * (Intel EtherExpress Pro 10+/100B, 82557 chip)
+ * (nsphy with a DP83840 chip)
+ * 0x0100 may be needed for some other card
*/
reg |= 0x0100 | 0x0400;
-#endif
PHY_WRITE(sc, MII_NSPHY_PCR, reg);
The patch above is to 1.4.2 sources. make similar (same?) change to
whatever you have. I'll leave it to everyone else to check this solution
and close their own PRs and pull up changes to whatever branches.
Erich