summaryrefslogtreecommitdiff
path: root/sys/dev/pcmcia/if_ne_pcmcia.c
diff options
context:
space:
mode:
authorFederico G. Schwindt <fgsch@cvs.openbsd.org>1999-01-28 04:58:34 +0000
committerFederico G. Schwindt <fgsch@cvs.openbsd.org>1999-01-28 04:58:34 +0000
commit49c68fe19bb46e70cd479087505fad4c4a7db936 (patch)
tree67a01249718974161abe4c5405f1b9b1809a0819 /sys/dev/pcmcia/if_ne_pcmcia.c
parent655577afa6e60abc68bf0728f28d71e3cb307b0a (diff)
Add support for:
- 3COM 3CXEM556 (Ethernet/Modem) - SVEC Combo and Lancard - Corega PCC-T Add pcmcia_check_cis_quirks to fix some cards whose CIS flat-out lies. Add more products to pcmciadevs. Correctly read 1 controller if CL-PD6729. Remove some unused vars.
Diffstat (limited to 'sys/dev/pcmcia/if_ne_pcmcia.c')
-rw-r--r--sys/dev/pcmcia/if_ne_pcmcia.c66
1 files changed, 41 insertions, 25 deletions
diff --git a/sys/dev/pcmcia/if_ne_pcmcia.c b/sys/dev/pcmcia/if_ne_pcmcia.c
index 16311235b2e..3481863c449 100644
--- a/sys/dev/pcmcia/if_ne_pcmcia.c
+++ b/sys/dev/pcmcia/if_ne_pcmcia.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ne_pcmcia.c,v 1.5 1998/12/04 06:49:58 fgsch Exp $ */
+/* $OpenBSD: if_ne_pcmcia.c,v 1.6 1999/01/28 04:58:30 fgsch Exp $ */
/* $NetBSD: if_ne_pcmcia.c,v 1.17 1998/08/15 19:00:04 thorpej Exp $ */
/*
@@ -122,28 +122,15 @@ struct ne2000dev {
PCMCIA_CIS_ACCTON_EN2212,
0, 0x0ff0, { 0x00, 0x00, 0xe8 } },
- /*
- * D-Link DE-650 has many minor versions:
- *
- * CIS information Manufacturer Product Note
- * 1 "D-Link, DE-650" INVALID INVALID white card
- * 2 "D-Link, DE-650, Ver 01.00" INVALID INVALID became bare metal
- * 3 "D-Link, DE-650, Ver 01.00" 0x149 0x265 minor change in look
- * 4 "D-Link, DE-650, Ver 01.00" 0x149 0x265 collision LED added
- *
- * While the 1st and the 2nd types should use the "D-Link DE-650" entry,
- * the 3rd and the 4th types should use the "Linksys EtherCard" entry.
- * Therefore, the Linksys entry should be before the D-Link. --itohy
- */
- { PCMCIA_STR_LINKSYS_ECARD_1,
- PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_ECARD_1,
- PCMCIA_CIS_LINKSYS_ECARD_1,
- 0, -1, { 0x00, 0x80, 0xc8 } },
+ { PCMCIA_STR_SVEC_COMBOCARD,
+ PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
+ PCMCIA_CIS_SVEC_COMBOCARD,
+ 0, -1, { 0x00, 0xe0, 0x98 } },
- { PCMCIA_STR_DLINK_DE650,
+ { PCMCIA_STR_SVEC_LANCARD,
PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
- PCMCIA_CIS_DLINK_DE650,
- 0, 0x0040, { 0x00, 0x80, 0xc8 } },
+ PCMCIA_CIS_SVEC_LANCARD,
+ 0, 0x7f0, { 0x00, 0xc0, 0x6c } },
/*
* You have to add new entries which contains
@@ -161,6 +148,11 @@ struct ne2000dev {
PCMCIA_CIS_IBM_INFOMOVER,
0, 0x0ff0, { 0x08, 0x00, 0x5a } },
+ { PCMCIA_STR_LINKSYS_ECARD_1,
+ PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_ECARD_1,
+ PCMCIA_CIS_LINKSYS_ECARD_1,
+ 0, -1, { 0x00, 0x80, 0xc8 } },
+
{ PCMCIA_STR_LINKSYS_COMBO_ECARD,
PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_COMBO_ECARD,
PCMCIA_CIS_LINKSYS_COMBO_ECARD,
@@ -180,6 +172,24 @@ struct ne2000dev {
PCMCIA_CIS_LINKSYS_ECARD_2,
0, -1, { 0x00, 0x80, 0xc8 } },
+ /*
+ * D-Link DE-650 has many minor versions:
+ *
+ * CIS information Manufacturer Product Note
+ * 1 "D-Link, DE-650" INVALID INVALID white card
+ * 2 "D-Link, DE-650, Ver 01.00" INVALID INVALID became bare metal
+ * 3 "D-Link, DE-650, Ver 01.00" 0x149 0x265 minor change in look
+ * 4 "D-Link, DE-650, Ver 01.00" 0x149 0x265 collision LED added
+ *
+ * While the 1st and the 2nd types should use the "D-Link DE-650" entry,
+ * the 3rd and the 4th types should use the "Linksys EtherCard" entry.
+ * Therefore, this enty must be below the LINKSYS_ECARD_1. --itohy
+ */
+ { PCMCIA_STR_DLINK_DE650,
+ PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
+ PCMCIA_CIS_DLINK_DE650,
+ 0, 0x0040, { 0x00, 0x80, 0xc8 } },
+
{ PCMCIA_STR_IODATA_PCLAT,
PCMCIA_VENDOR_IODATA, PCMCIA_PRODUCT_IODATA_PCLAT,
PCMCIA_CIS_IODATA_PCLAT,
@@ -196,10 +206,16 @@ struct ne2000dev {
PCMCIA_CIS_DAYNA_COMMUNICARD_E_2,
0, -1, { 0x00, 0x80, 0x19 } },
- { PCMCIA_STR_UNKNOWN_ECARD,
- PCMCIA_VENDOR_UNKNOWN, PCMCIA_PRODUCT_UNKNOWN_ECARD,
- PCMCIA_CIS_UNKNOWN_ECARD,
- 0, -1, { 0x00, 0xa0, 0x0c } },
+ { PCMCIA_STR_COREGA_PCC_2,
+ PCMCIA_VENDOR_COREGA, PCMCIA_PRODUCT_COREGA_PCC_2,
+ PCMCIA_CIS_COREGA_PCC_2,
+ 0, -1, { 0x00, 0x00, 0xf4 } },
+
+ { PCMCIA_STR_COMPEX_LINKPORT_ENET_B,
+ PCMCIA_VENDOR_COMPEX, PCMCIA_PRODUCT_COMPEX_LINKPORT_ENET_B,
+ PCMCIA_CIS_COMPEX_LINKPORT_ENET_B,
+ 0, 0xd400, { 0x01, 0x03, 0xdc } },
+
#if 0
/* the rest of these are stolen from the linux pcnet pcmcia device
driver. Since I don't know the manfid or cis info strings for