Date: Thu, 07 Nov 2002 15:29:16 +0100 From: "Lutz Rabing" <rabing@omc.net> To: freebsd-hardware@freebsd.org Subject: AMDtek 983B based NIC (dc driver) Message-ID: <3DCA86CC.16148.176AF5E@localhost>
next in thread | raw e-mail | index | archive | help
hi,
we have several DFI mainboards with the AMDtek 983B onboard ethernet
controller. The DC driver (as of 4.7-STABLE) does not work with it.
The following patch (from Ted Stockwell) works fine with our DFI boards.
Could anyone commit this to STABLE?
lutz rabing
****************************************************************************************
*** if_dc.c Fri Aug 16 06:45:38 2002
--- /root/if_dc.c Thu Nov 7 14:24:28 2002
***************
*** 183,188 ****
--- 183,190 ----
"Accton EN1217 10/100BaseTX" },
{ DC_VENDORID_ACCTON, DC_DEVICEID_EN2242,
"Accton EN2242 MiniPCI 10/100BaseTX" },
+ { DC_VENDORID_ACCTON, DC_DEVICEID_EN5251B,
+ "AMDtek 983B 10/100BaseTX" },
{ DC_VENDORID_CONEXANT, DC_DEVICEID_RS7112,
"Conexant LANfinity MiniPCI 10/100BaseTX" },
{ 0, 0, NULL }
***************
*** 1442,1447 ****
--- 1444,1452 ----
if (t->dc_did == DC_DEVICEID_DM9102 &&
rev >= DC_REVISION_DM9102A)
t++;
+ if (t->dc_did == DC_DEVICEID_EN2242 &&
+ rev >= DC_REVISION_EN5251B)
+ t++;
return(t);
}
t++;
***************
*** 1778,1789 ****
sc->dc_pmode = DC_PMODE_MII;
break;
case DC_DEVICEID_AN985:
! case DC_DEVICEID_EN2242:
! sc->dc_type = DC_TYPE_AN985;
! sc->dc_flags |= DC_TX_USE_TX_INTR;
! sc->dc_flags |= DC_TX_ADMTEK_WAR;
! sc->dc_pmode = DC_PMODE_MII;
! break;
case DC_DEVICEID_98713:
case DC_DEVICEID_98713_CP:
if (revision < DC_REVISION_98713A) {
--- 1783,1798 ----
sc->dc_pmode = DC_PMODE_MII;
break;
case DC_DEVICEID_AN985:
! case DC_DEVICEID_EN2242: /* and DC_DEVICEID_EN5251B: */
! if (revision < DC_REVISION_EN5251B) {
! sc->dc_type = DC_TYPE_AN985;
! } else {
! sc->dc_type = DC_TYPE_EN5152B;
! }
! sc->dc_flags |= DC_TX_USE_TX_INTR;
! sc->dc_flags |= DC_TX_ADMTEK_WAR;
! sc->dc_pmode = DC_PMODE_MII;
! break;
case DC_DEVICEID_98713:
case DC_DEVICEID_98713_CP:
if (revision < DC_REVISION_98713A) {
***************
*** 1905,1910 ****
--- 1914,1920 ----
break;
case DC_TYPE_AL981:
case DC_TYPE_AN985:
+ case DC_TYPE_EN5152B:
dc_read_eeprom(sc, (caddr_t)&eaddr, DC_AL_EE_NODEADDR, 3, 0);
break;
case DC_TYPE_CONEXANT:
****************************************************************************************
*** if_dcreg.h Fri Aug 16 06:45:39 2002
--- /root/if_dcreg.h Thu Nov 7 14:24:28 2002
***************
*** 76,81 ****
--- 76,83 ----
#define DC_TYPE_PNICII 0x9 /* 82c115 PNIC II */
#define DC_TYPE_PNIC 0xA /* 82c168/82c169 PNIC I */
#define DC_TYPE_CONEXANT 0xC /* Conexant LANfinity RS7112 */
+ #define DC_TYPE_EN5152B 0xD /* Accton EN5251B. Clone of ADMtek 983B */
+
#define DC_IS_MACRONIX(x) \
(x->dc_type == DC_TYPE_98713 || \
***************
*** 84,89 ****
--- 86,92 ----
#define DC_IS_ADMTEK(x) \
(x->dc_type == DC_TYPE_AL981 || \
+ x->dc_type == DC_TYPE_EN5152B || \
x->dc_type == DC_TYPE_AN985)
#define DC_IS_INTEL(x) (x->dc_type == DC_TYPE_21143)
***************
*** 862,867 ****
--- 865,878 ----
*/
#define DC_DEVICEID_EN1217 0x1217
#define DC_DEVICEID_EN2242 0x1216
+ #define DC_DEVICEID_EN5251B 0x1216
+ /*
+ * The Accton EN5251B is sold as the Siemens Speedstream SS1020 and
+ * as SMC EN5251BE.
+ * The EN5251B seems to be a clone of the ADMtek 983 or 983B
+ */
+ #define DC_REVISION_EN5251B 0x11 /* ASSUMING that EN2242's revision differs */
+
/*
* Conexant vendor ID.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DCA86CC.16148.176AF5E>
