aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Silbersack <silby@FreeBSD.org>2003-01-06 00:46:03 +0000
committerMike Silbersack <silby@FreeBSD.org>2003-01-06 00:46:03 +0000
commit9363b901530b419c7c6f2e03eddf7175f9248be0 (patch)
tree39b63910266ec9467a5931ff1402d3671f3daca0
parentde09ec92e6a7d9ef8a19d57ce7da4d75f535ef68 (diff)
downloadsrc-9363b901530b419c7c6f2e03eddf7175f9248be0.tar.gz
src-9363b901530b419c7c6f2e03eddf7175f9248be0.zip
Add support for the 3c555 miniPCI chipset.
Submitted by: johannes <johannes@paradise.net.nz> PR: 46603 MFC after: 3 days
Notes
Notes: svn path=/head/; revision=108752
-rw-r--r--sys/pci/if_xl.c9
-rw-r--r--sys/pci/if_xlreg.h1
2 files changed, 9 insertions, 1 deletions
diff --git a/sys/pci/if_xl.c b/sys/pci/if_xl.c
index 8b557651fb2e..b54a442ba0a6 100644
--- a/sys/pci/if_xl.c
+++ b/sys/pci/if_xl.c
@@ -54,6 +54,7 @@
* 3Com 3c980C-TX 10/100Mbps server adapter (Tornado ASIC)
* 3Com 3cSOHO100-TX 10/100Mbps/RJ-45 (Hurricane ASIC)
* 3Com 3c450-TX 10/100Mbps/RJ-45 (Tornado ASIC)
+ * 3Com 3c555 10/100Mbps/RJ-45 (MiniPCI, Laptop Hurricane)
* 3Com 3c556 10/100Mbps/RJ-45 (MiniPCI, Hurricane ASIC)
* 3Com 3c556B 10/100Mbps/RJ-45 (MiniPCI, Hurricane ASIC)
* 3Com 3c575TX 10/100Mbps/RJ-45 (Cardbus, Hurricane ASIC)
@@ -190,6 +191,8 @@ static struct xl_type xl_devs[] = {
"3Com 3cSOHO100-TX OfficeConnect" },
{ TC_VENDORID, TC_DEVICEID_TORNADO_HOMECONNECT,
"3Com 3c450-TX HomeConnect" },
+ { TC_VENDORID, TC_DEVICEID_HURRICANE_555,
+ "3Com 3c555 Fast Etherlink XL" },
{ TC_VENDORID, TC_DEVICEID_HURRICANE_556,
"3Com 3c556 Fast Etherlink XL" },
{ TC_VENDORID, TC_DEVICEID_HURRICANE_556B,
@@ -1231,6 +1234,7 @@ xl_choose_xcvr(sc, verbose)
printf("xl%d: guessing 10baseFL\n", sc->xl_unit);
break;
case TC_DEVICEID_BOOMERANG_10_100BT: /* 3c905-TX */
+ case TC_DEVICEID_HURRICANE_555: /* 3c555 */
case TC_DEVICEID_HURRICANE_556: /* 3c556 */
case TC_DEVICEID_HURRICANE_556B: /* 3c556B */
case TC_DEVICEID_HURRICANE_575A: /* 3c575TX */
@@ -1302,12 +1306,15 @@ xl_attach(dev)
XL_LOCK(sc);
sc->xl_flags = 0;
+ if (pci_get_device(dev) == TC_DEVICEID_HURRICANE_555)
+ sc->xl_flags |= XL_FLAG_EEPROM_OFFSET | XL_FLAG_PHYOK;
if (pci_get_device(dev) == TC_DEVICEID_HURRICANE_556 ||
pci_get_device(dev) == TC_DEVICEID_HURRICANE_556B)
sc->xl_flags |= XL_FLAG_FUNCREG | XL_FLAG_PHYOK |
XL_FLAG_EEPROM_OFFSET_30 | XL_FLAG_WEIRDRESET |
XL_FLAG_INVERT_LED_PWR | XL_FLAG_INVERT_MII_PWR;
- if (pci_get_device(dev) == TC_DEVICEID_HURRICANE_556)
+ if (pci_get_device(dev) == TC_DEVICEID_HURRICANE_555 ||
+ pci_get_device(dev) == TC_DEVICEID_HURRICANE_556)
sc->xl_flags |= XL_FLAG_8BITROM;
if (pci_get_device(dev) == TC_DEVICEID_HURRICANE_556B)
sc->xl_flags |= XL_FLAG_NO_XCVR_PWR;
diff --git a/sys/pci/if_xlreg.h b/sys/pci/if_xlreg.h
index 5214ff468e69..2092853d0cfa 100644
--- a/sys/pci/if_xlreg.h
+++ b/sys/pci/if_xlreg.h
@@ -680,6 +680,7 @@ struct xl_stats {
#define TC_DEVICEID_TORNADO_10_100BT_SERV 0x9805
#define TC_DEVICEID_HURRICANE_SOHO100TX 0x7646
#define TC_DEVICEID_TORNADO_HOMECONNECT 0x4500
+#define TC_DEVICEID_HURRICANE_555 0x5055
#define TC_DEVICEID_HURRICANE_556 0x6055
#define TC_DEVICEID_HURRICANE_556B 0x6056
#define TC_DEVICEID_HURRICANE_575A 0x5057