Date: Tue, 3 Oct 2000 13:56:15 -0700 (PDT) From: wpaul@FreeBSD.ORG (Bill Paul) To: roland@serv.ch Cc: freebsd-bugs@freebsd.org Subject: Re: kern/21623: Chipset SiS630E / NIC SiS 900 Message-ID: <20001003205615.9E8CC37B503@hub.freebsd.org> In-Reply-To: <200010031916.MAA21392@freefall.freebsd.org> from "johan@FreeBSD.org" at "Oct 3, 2000 12:16:04 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> Synopsis: Chipset SiS630E / NIC SiS 900
Ok. According to the SiS630 datasheet, the embedded SiS 900 controller
in this chipset differs slightly from the standalone chip in that the
EEPROM control register doubles as a HomePNA PHY control register.
You have to clear bit 7 in the EEPROM control register in order to
select the EEPROM control function. I think this may be the problem,
but I can't be certain since I don't have a board with that chipset
that I can test with. I'm including a patch for you to try with the
if_sis driver. If this works, please let me know so I can merge it
into the tree.
-Bill
*** if_sis.c.orig Tue Aug 22 16:26:51 2000
--- if_sis.c Tue Oct 3 13:43:48 2000
***************
*** 348,353 ****
--- 348,363 ----
int i;
u_int16_t word = 0, *ptr;
+ /*
+ * The embedded SiS 900 ethernet in the SiS 630E
+ * chipset (ab)uses the EEPROM control register as a
+ * HomePNA PHY control register, so we need to make sure
+ * to select the EEPROM control function here. For a
+ * regular SiS 900, this has no effect.
+ */
+ if (sc->sis_type == SIS_TYPE_900)
+ SIS_CLRBIT(sc, SIS_EECTL, SIS_EECTL_EESEL);
+
for (i = 0; i < cnt; i++) {
sis_eeprom_getword(sc, off + i, &word);
ptr = (u_int16_t *)(dest + (i * 2));
*** if_sisreg.h.orig Tue Aug 22 16:26:51 2000
--- if_sisreg.h Tue Oct 3 13:36:01 2000
***************
*** 112,117 ****
--- 112,118 ----
#define SIS_EECTL_DOUT 0x00000002
#define SIS_EECTL_CLK 0x00000004
#define SIS_EECTL_CSEL 0x00000008
+ #define SIS_EECTL_EESEL 0x00000080
#define SIS_EECMD_WRITE 0x140
#define SIS_EECMD_READ 0x180
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001003205615.9E8CC37B503>
