Subject: Tester wanted: 3com 3CXEM556-INT or 3CCFEM556BI on -release branch
To: None <port-i386@netbsd.org, current-users@netbsd.org>
From: enami tsugutomo <enami@but-b.or.jp>
List: port-i386
Date: 02/08/2000 21:43:59
Hi folks.
The following card should be supported on -release branch if appended
patch is applied.
3Com/Megahertz 3CXEM556-INT Ethernet/Modem
3Com/Megahertz 3CCFEM556BI Ethernet/Modem
Unfortunately, I don't have both cards. So, if you have those cards
and can test it on -release branch, please let me know the results.
If the patch is ok, I'll send a pullup request to release engineering
team.
I've also put an GENERIC kernel for NetBSD/i386 built from today's
-release branch + appened patch at following place:
ftp://ftp.netbsd.org/pub/incoming/enami/netbsd.gz
enami.
Index: dev/pcmcia/if_ep_pcmcia.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pcmcia/if_ep_pcmcia.c,v
retrieving revision 1.21.2.1
diff -u -r1.21.2.1 if_ep_pcmcia.c
--- if_ep_pcmcia.c 2000/02/06 17:40:32 1.21.2.1
+++ if_ep_pcmcia.c 2000/02/08 12:26:18
@@ -148,23 +148,31 @@
int epp_expfunc; /* expected function */
const char *epp_name; /* device name */
} ep_pcmcia_products[] = {
- { PCMCIA_PRODUCT_3COM_3C562, ELINK_CHIPSET_3C509,
- 0, 0,
+ { PCMCIA_PRODUCT_3COM_3C562, ELINK_CHIPSET_3C509,
+ 0, 0,
PCMCIA_STR_3COM_3C562 },
- { PCMCIA_PRODUCT_3COM_3C589, ELINK_CHIPSET_3C509,
- 0, 0,
+ { PCMCIA_PRODUCT_3COM_3C589, ELINK_CHIPSET_3C509,
+ 0, 0,
PCMCIA_STR_3COM_3C589 },
- { PCMCIA_PRODUCT_3COM_3CXEM556, ELINK_CHIPSET_3C509,
- 0, 0,
+ { PCMCIA_PRODUCT_3COM_3CXEM556, ELINK_CHIPSET_3C509,
+ 0, 0,
PCMCIA_STR_3COM_3CXEM556 },
- { PCMCIA_PRODUCT_3COM_3C574, ELINK_CHIPSET_ROADRUNNER,
- ELINK_FLAGS_MII, 0,
+ { PCMCIA_PRODUCT_3COM_3CXEM556INT, ELINK_CHIPSET_3C509,
+ 0, 0,
+ PCMCIA_STR_3COM_3CXEM556INT },
+
+ { PCMCIA_PRODUCT_3COM_3C574, ELINK_CHIPSET_ROADRUNNER,
+ ELINK_FLAGS_MII, 0,
PCMCIA_STR_3COM_3C574 },
+
+ { PCMCIA_PRODUCT_3COM_3CCFEM556BI, ELINK_CHIPSET_ROADRUNNER,
+ ELINK_FLAGS_MII, 0,
+ PCMCIA_STR_3COM_3CCFEM556BI },
- { 0, 0,
- 0, 0,
+ { 0, 0,
+ 0, 0,
NULL },
};
@@ -231,7 +239,8 @@
return (ret);
if ((psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3C562) ||
- (psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3CXEM556)) {
+ (psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3CXEM556) ||
+ (psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3CXEM556INT)) {
int reg;
/* turn off the serial-disable bit */
@@ -341,6 +350,7 @@
*/
/* FALLTHROUGH */
case PCMCIA_PRODUCT_3COM_3C574:
+ case PCMCIA_PRODUCT_3COM_3CCFEM556BI:
/*
* Apparently, some 3c574s do it this way, as well.
*/
Index: dev/pcmcia/pcmcia_cis_quirks.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pcmcia/pcmcia_cis_quirks.c,v
retrieving revision 1.3
diff -u -r1.3 pcmcia_cis_quirks.c
--- pcmcia_cis_quirks.c 1998/12/29 09:00:28 1.3
+++ pcmcia_cis_quirks.c 2000/02/08 12:26:18
@@ -1,4 +1,4 @@
-/* $NetBSD: pcmcia_cis_quirks.c,v 1.3 1998/12/29 09:00:28 marc Exp $ */
+/* $NetBSD: pcmcia_cis_quirks.c,v 1.5 1999/10/11 17:50:21 thorpej Exp $ */
#define PCMCIADEBUG
@@ -90,6 +90,48 @@
0, /* maxtwins */
};
+static struct pcmcia_function pcmcia_3ccfem556bi_func0 = {
+ 0, /* function number */
+ PCMCIA_FUNCTION_NETWORK,
+ 0x07, /* last cfe number */
+ 0x1000, /* ccr_base */
+ 0x267, /* ccr_mask */
+};
+
+static struct pcmcia_config_entry pcmcia_3ccfem556bi_func0_cfe0 = {
+ 0x07, /* cfe number */
+ PCMCIA_CFE_IO8 | PCMCIA_CFE_IO16 | PCMCIA_CFE_IRQLEVEL,
+ PCMCIA_IFTYPE_IO,
+ 1, /* num_iospace */
+ 5, /* iomask */
+ { { 0x0020, 0 } }, /* iospace */
+ 0xffff, /* irqmask */
+ 0, /* num_memspace */
+ { }, /* memspace */
+ 0, /* maxtwins */
+};
+
+static struct pcmcia_function pcmcia_3ccfem556bi_func1 = {
+ 1, /* function number */
+ PCMCIA_FUNCTION_SERIAL,
+ 0x27, /* last cfe number */
+ 0x1100, /* ccr_base */
+ 0x277, /* ccr_mask */
+};
+
+static struct pcmcia_config_entry pcmcia_3ccfem556bi_func1_cfe0 = {
+ 0x27, /* cfe number */
+ PCMCIA_CFE_IO8 | PCMCIA_CFE_IRQLEVEL,
+ PCMCIA_IFTYPE_IO,
+ 1, /* num_iospace */
+ 3, /* iomask */
+ { { 0x0008, 0 } }, /* iospace */
+ 0xffff, /* irqmask */
+ 0, /* num_memspace */
+ { }, /* memspace */
+ 0, /* maxtwins */
+};
+
static struct pcmcia_function pcmcia_sveclancard_func0 = {
0, /* function number */
PCMCIA_FUNCTION_NETWORK,
@@ -117,6 +159,16 @@
&pcmcia_3cxem556_func0, &pcmcia_3cxem556_func0_cfe0 },
{ PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CXEM556, PCMCIA_CIS_INVALID,
&pcmcia_3cxem556_func1, &pcmcia_3cxem556_func1_cfe0 },
+ { PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CXEM556INT, PCMCIA_CIS_INVALID,
+ &pcmcia_3cxem556_func0, &pcmcia_3cxem556_func0_cfe0 },
+ { PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CXEM556INT, PCMCIA_CIS_INVALID,
+ &pcmcia_3cxem556_func1, &pcmcia_3cxem556_func1_cfe0 },
+ { PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CCFEM556BI,
+ PCMCIA_CIS_INVALID,
+ &pcmcia_3ccfem556bi_func0, &pcmcia_3ccfem556bi_func0_cfe0 },
+ { PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CCFEM556BI,
+ PCMCIA_CIS_INVALID,
+ &pcmcia_3ccfem556bi_func1, &pcmcia_3ccfem556bi_func1_cfe0 },
{ PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID, PCMCIA_CIS_SVEC_LANCARD,
&pcmcia_sveclancard_func0, &pcmcia_sveclancard_func0_cfe0 },
};
Index: dev/pcmcia/pcmciadevs
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pcmcia/pcmciadevs,v
retrieving revision 1.33.2.1
diff -u -r1.33.2.1 pcmciadevs
--- pcmciadevs 1999/04/27 13:53:47 1.33.2.1
+++ pcmciadevs 2000/02/08 12:26:18
@@ -73,6 +73,8 @@
product 3COM 3C589 0x0589 3Com 3c589 10Mbps Ethernet
product 3COM 3C574 0x0574 3Com 3c574-TX 10/100Mbps Ethernet
product 3COM 3CXEM556 0x0035 3Com/Megahertz 3CXEM556 Ethernet/Modem
+product 3COM 3CXEM556INT 0x003d 3Com/Megahertz 3CXEM556-INT Ethernet/Modem
+product 3COM 3CCFEM556BI 0x0556 3Com/Megahertz 3CCFEM556BI Ethernet/Modem
/* Compex Products */
product COMPEX LINKPORT_ENET_B 0x0100 Compex Linkport ENET-B Ethernet
Index: dev/pcmcia/pcmciadevs.h
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pcmcia/pcmciadevs.h,v
retrieving revision 1.36.2.1
diff -u -r1.36.2.1 pcmciadevs.h
--- pcmciadevs.h 1999/04/27 13:54:48 1.36.2.1
+++ pcmciadevs.h 2000/02/08 12:26:19
@@ -1,4 +1,4 @@
-/* $NetBSD: pcmciadevs.h,v 1.36.2.1 1999/04/27 13:54:48 perry Exp $ */
+/* $NetBSD$ */
/*
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
@@ -92,6 +92,12 @@
#define PCMCIA_CIS_3COM_3CXEM556 { NULL, NULL, NULL, NULL }
#define PCMCIA_PRODUCT_3COM_3CXEM556 0x0035
#define PCMCIA_STR_3COM_3CXEM556 "3Com/Megahertz 3CXEM556 Ethernet/Modem"
+#define PCMCIA_CIS_3COM_3CXEM556INT { NULL, NULL, NULL, NULL }
+#define PCMCIA_PRODUCT_3COM_3CXEM556INT 0x003d
+#define PCMCIA_STR_3COM_3CXEM556INT "3Com/Megahertz 3CXEM556-INT Ethernet/Modem"
+#define PCMCIA_CIS_3COM_3CCFEM556BI { NULL, NULL, NULL, NULL }
+#define PCMCIA_PRODUCT_3COM_3CCFEM556BI 0x0556
+#define PCMCIA_STR_3COM_3CCFEM556BI "3Com/Megahertz 3CCFEM556BI Ethernet/Modem"
/* Compex Products */
#define PCMCIA_CIS_COMPEX_LINKPORT_ENET_B { NULL, NULL, NULL, NULL }
Index: dev/pcmcia/pcmciadevs_data.h
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pcmcia/pcmciadevs_data.h,v
retrieving revision 1.36.2.1
diff -u -r1.36.2.1 pcmciadevs_data.h
--- pcmciadevs_data.h 1999/04/27 13:54:48 1.36.2.1
+++ pcmciadevs_data.h 2000/02/08 12:26:19
@@ -1,4 +1,4 @@
-/* $NetBSD: pcmciadevs_data.h,v 1.36.2.1 1999/04/27 13:54:48 perry Exp $ */
+/* $NetBSD$ */
/*
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
@@ -85,6 +85,20 @@
0,
"3Com Corporation",
"3Com/Megahertz 3CXEM556 Ethernet/Modem" },
+ },
+ {
+ PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CXEM556INT,
+ PCMCIA_CIS_3COM_3CXEM556INT,
+ 0,
+ "3Com Corporation",
+ "3Com/Megahertz 3CXEM556-INT Ethernet/Modem" },
+ },
+ {
+ PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CCFEM556BI,
+ PCMCIA_CIS_3COM_3CCFEM556BI,
+ 0,
+ "3Com Corporation",
+ "3Com/Megahertz 3CCFEM556BI Ethernet/Modem" },
},
{
PCMCIA_VENDOR_COMPEX, PCMCIA_PRODUCT_COMPEX_LINKPORT_ENET_B,