summaryrefslogtreecommitdiff
path: root/sys/dev/pcmcia
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pcmcia')
-rw-r--r--sys/dev/pcmcia/if_ne_pcmcia.c63
1 files changed, 44 insertions, 19 deletions
diff --git a/sys/dev/pcmcia/if_ne_pcmcia.c b/sys/dev/pcmcia/if_ne_pcmcia.c
index f8f1ec37109..0e61a18e016 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.23 2000/01/31 22:51:48 fgsch Exp $ */
+/* $OpenBSD: if_ne_pcmcia.c,v 1.24 2000/02/01 16:59:07 fgsch Exp $ */
/* $NetBSD: if_ne_pcmcia.c,v 1.17 1998/08/15 19:00:04 thorpej Exp $ */
/*
@@ -91,6 +91,10 @@ struct ne2000dev {
unsigned char enet_vendor[3];
} ne2000devs[] = {
{ PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
+ PCMCIA_CIS_AMBICOM_AMB8002T,
+ 0, -1, { 0x00, 0x10, 0x7a } },
+
+ { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
PCMCIA_CIS_PREMAX_PE200,
0, 0x07f0, { 0x00, 0x20, 0xe0 } },
@@ -123,14 +127,6 @@ struct ne2000dev {
0, 0x7f0, { 0x00, 0xc0, 0x6c } },
{ PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
- PCMCIA_CIS_AMBICOM_AMB8002T,
- 0, -1, { 0x00, 0x10, 0x7a } },
-
- { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
- PCMCIA_CIS_PLANEX_FNW3600T,
- 0, -1, { 0x00, 0x90, 0xcc } },
-
- { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
PCMCIA_CIS_EDIMAX_NE2000,
0, -1, { 0x00, 0x00, 0xb4 } },
@@ -138,6 +134,10 @@ struct ne2000dev {
PCMCIA_CIS_CNET_NE2000,
0, -1, { 0x00, 0x80, 0xad } },
+ { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_EPSON_EEN10B,
+ PCMCIA_CIS_EPSON_EEN10B,
+ 0, 0xff0, { 0x00, 0x00, 0x48 } },
+
/*
* You have to add new entries which contains
* PCMCIA_VENDOR_INVALID and/or PCMCIA_PRODUCT_INVALID
@@ -158,6 +158,18 @@ struct ne2000dev {
0, -1, { 0x00, 0x80, 0xc8 } },
{ PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_COMBO_ECARD,
+ PCMCIA_CIS_PLANEX_FNW3600T,
+ 0, -1, { 0x00, 0x90, 0xcc } },
+
+ { PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_COMBO_ECARD,
+ PCMCIA_CIS_SVEC_PN650TX,
+ 0, -1, { 0x00, 0xe0, 0x98 } },
+
+ { PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_ETHERFAST,
+ PCMCIA_CIS_LINKSYS_ETHERFAST,
+ 0, -1, { 0x00, 0x80, 0xc8 } },
+
+ { PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_COMBO_ECARD,
PCMCIA_CIS_LINKSYS_COMBO_ECARD,
0, -1, { 0x00, 0x80, 0xc8 } },
@@ -190,10 +202,30 @@ struct ne2000dev {
PCMCIA_CIS_DLINK_DE650,
0, 0x0040, { 0x00, 0x80, 0xc8 } },
- { PCMCIA_VENDOR_IODATA, PCMCIA_PRODUCT_IODATA_PCLAT,
- PCMCIA_CIS_IODATA_PCLAT,
- /* two possible location, 0x01c0 or 0x0ff0 */
+ /*
+ * IO-DATA PCLA/TE and later version of PCLA/T has valid
+ * vendor/product ID and it is possible to read MAC address
+ * using standard I/O ports. It also read from CIS offset 0x01c0.
+ * On the other hand, earlier version of PCLA/T doesn't have valid
+ * vendor/product ID and MAC address must be read from CIS offset
+ * 0x0ff0 (i.e., usual ne2000 way to read it doesn't work).
+ * And CIS information of earlier and later version of PCLA/T are
+ * same except fourth element. So, for now, we place the entry for
+ * PCLA/TE (and later version of PCLA/T) followed by entry
+ * for the earlier version of PCLA/T (or, modify to match all CIS
+ * information and have three or more individual entries).
+ */
+ { PCMCIA_VENDOR_IODATA, PCMCIA_PRODUCT_IODATA_PCLATE,
+ PCMCIA_CIS_IODATA_PCLATE,
0, -1, { 0x00, 0xa0, 0xb0 } },
+
+ /*
+ * This entry should be placed after above PCLA-TE entry.
+ * See above comments for detail.
+ */
+ { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID,
+ PCMCIA_CIS_IODATA_PCLAT,
+ 0, 0x0ff0, { 0x00, 0xa0, 0xb0 } },
{ PCMCIA_VENDOR_DAYNA, PCMCIA_PRODUCT_DAYNA_COMMUNICARD_E_1,
PCMCIA_CIS_DAYNA_COMMUNICARD_E_1,
@@ -223,10 +255,6 @@ struct ne2000dev {
PCMCIA_CIS_KINGSTON_KNE_PC2,
0, 0x0180, { 0x00, 0xc0, 0xf0 } },
- { PCMCIA_VENDOR_LINKSYS, PCMCIA_PRODUCT_LINKSYS_FAST_ECARD,
- PCMCIA_CIS_LINKSYS_FAST_ECARD,
- 0, -1, { 0x00, 0x80, 0xc8} },
-
{ PCMCIA_VENDOR_SMC, PCMCIA_PRODUCT_SMC_EZCARD,
PCMCIA_CIS_SMC_EZCARD,
0, 0x01c0, { 0x00, 0xe0, 0x29 } },
@@ -262,9 +290,6 @@ struct ne2000dev {
{ "EP-210 Ethernet",
0x0000, 0x0000, NULL, NULL, 0,
0x0110, { 0x00, 0x40, 0x33 } },
- { "Epson EEN10B",
- 0x0000, 0x0000, NULL, NULL, 0,
- 0x0ff0, { 0x00, 0x00, 0x48 } },
{ "ELECOM Laneed LD-CDWA",
0x0000, 0x0000, NULL, NULL, 0,
0x00b8, { 0x08, 0x00, 0x42 } },