[coreboot] superiotool winbond identification issue (W83627HF vs W83977EF)

Andriy Gapon avg at icyb.net.ua
Thu Oct 16 20:44:45 CEST 2008


I see the following code in winbond.c:
...
{0x52f, "W83977EF/EG", {
...
/* ID only */
{0x52, "W83627HF/F/HG/G", {
         {NOLDN, NULL,
...
if (devid == 0x52 || devid == 0x68 || devid == 0x88)
         id = devid;                              /* ID only */
...

According to my understanding this means that W83627HF chip entry claims 
ID 0x52 regardless of revision.

But, on the other hand, I have W83977EF-AW in my system and according to 
its specification it has ID 0x52 and revision 0xFx. My particular chip 
has 0x52 and 0xF4 for instance. And with current code its entry (0x52f) 
is not reachable.

Looking at specification of W83627HF that I found I see that it actually 
has ID of 0x52 and revision 0x1x.

So while W83627 family of chips may cover a range of revisions for ID 
0x52, it doesn't cover them all.
And there are some significant differences in registers. For example 
W83977EF doesn't have logical devices 6, 9 and 0xb.

References:
1.
http://www.datasheet4u.com/html/W/8/3/W83977EF-AW_Winbond.pdf.html
Section 10.0

2.
http://www.datasheet4u.com/html/W/8/3/W83627HF_Winbond.pdf.html
Section 13.1

-- 
Andriy Gapon




More information about the coreboot mailing list