summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2000-12-01 19:41:14 +0000
committerimp <imp@FreeBSD.org>2000-12-01 19:41:14 +0000
commit5dcf582711d9d46775926e407e1f477199db6439 (patch)
tree4fa40f527fd478a95fcf0f71b202feabf3d4a14b /sys
parent9af903907c6a1e13ff6dfd8a17ee3a4c3ecc27af (diff)
downloadFreeBSD-src-5dcf582711d9d46775926e407e1f477199db6439.zip
FreeBSD-src-5dcf582711d9d46775926e407e1f477199db6439.tar.gz
Add device ID for the 3c565C card. I followed exactly the 3c575c, but
further tweaks may be necessary down the road. This does nothing with the serial side of the card.
Diffstat (limited to 'sys')
-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 d22afe2..cfe67b6 100644
--- a/sys/pci/if_xl.c
+++ b/sys/pci/if_xl.c
@@ -60,6 +60,7 @@
* 3Com 3c575TX 10/100Mbps/RJ-45 (Cardbus, Hurricane ASIC)
* 3Com 3c575B 10/100Mbps/RJ-45 (Cardbus, Hurricane ASIC)
* 3Com 3c575C 10/100Mbps/RJ-45 (Cardbus, Hurricane ASIC)
+ * 3Com 3cxfem656c 10/100Mbps/RJ-45 (Cardbus, Hurricane ASIC)
* Dell Optiplex GX1 on-board 3c918 10/100Mbps/RJ-45
* Dell on-board 3c920 10/100Mbps/RJ-45
* Dell Precision on-board 3c905B 10/100Mbps/RJ-45
@@ -200,6 +201,8 @@ static struct xl_type xl_devs[] = {
"3Com 3c575B Fast Etherlink XL" },
{ TC_VENDORID, TC_DEVICEID_HURRICANE_575C,
"3Com 3c575C Fast Etherlink XL" },
+ { TC_VENDORID, TC_DEVICEID_HURRICANE_656C,
+ "3Com 3c656C Fast Etherlink XL" },
{ 0, 0, NULL }
};
@@ -1178,6 +1181,7 @@ static void xl_choose_xcvr(sc, verbose)
case TC_DEVICEID_HURRICANE_575A: /* 3c575TX */
case TC_DEVICEID_HURRICANE_575B: /* 3c575B */
case TC_DEVICEID_HURRICANE_575C: /* 3c575C */
+ case TC_DEVICEID_HURRICANE_656C: /* 3c565C */
sc->xl_media = XL_MEDIAOPT_MII;
sc->xl_xcvr = XL_XCVR_MII;
if (verbose)
@@ -1246,13 +1250,16 @@ static int xl_attach(dev)
if (pci_get_device(dev) == TC_DEVICEID_HURRICANE_575A ||
pci_get_device(dev) == TC_DEVICEID_HURRICANE_575B ||
- pci_get_device(dev) == TC_DEVICEID_HURRICANE_575C)
+ pci_get_device(dev) == TC_DEVICEID_HURRICANE_575C ||
+ pci_get_device(dev) == TC_DEVICEID_HURRICANE_656C)
sc->xl_flags |= XL_FLAG_FUNCREG | XL_FLAG_PHYOK |
XL_FLAG_EEPROM_OFFSET_30 | XL_FLAG_8BITROM;
if (pci_get_device(dev) == TC_DEVICEID_HURRICANE_575B)
sc->xl_flags |= XL_FLAG_INVERT_LED_PWR;
if (pci_get_device(dev) == TC_DEVICEID_HURRICANE_575C)
sc->xl_flags |= XL_FLAG_INVERT_MII_PWR;
+ if (pci_get_device(dev) == TC_DEVICEID_HURRICANE_656C)
+ sc->xl_flags |= XL_FLAG_INVERT_MII_PWR;
/*
* If this is a 3c905B, we have to check one extra thing.
diff --git a/sys/pci/if_xlreg.h b/sys/pci/if_xlreg.h
index 8f16007..376db04 100644
--- a/sys/pci/if_xlreg.h
+++ b/sys/pci/if_xlreg.h
@@ -666,6 +666,7 @@ struct xl_stats {
#define TC_DEVICEID_HURRICANE_575A 0x5057
#define TC_DEVICEID_HURRICANE_575B 0x5157
#define TC_DEVICEID_HURRICANE_575C 0x5257
+#define TC_DEVICEID_HURRICANE_656C 0x6564
/*
* PCI low memory base and low I/O base register, and
OpenPOWER on IntegriCloud