Author: uwe Date: 2008-01-19 10:40:17 +0100 (Sat, 19 Jan 2008) New Revision: 3063
Modified: trunk/util/superiotool/winbond.c Log: Small superiotool fix to detect more Winbond W83627EHF chips. The patch is tested on actual hardware.
As per datasheet the ID should be 0x886? for those chips. Not mentioned in the datasheet, but sensors-detect says 0x8853 is also possible. Also, the ASUS A8V-E Deluxe (W83627EHF) has an ID of 0x8854 (verified on actual hardware).
So assume all 0x88?? IDs to mean W83627EHF/EF/EHG/EG.
Signed-off-by: Uwe Hermann uwe@hermann-uwe.de Acked-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Modified: trunk/util/superiotool/winbond.c =================================================================== --- trunk/util/superiotool/winbond.c 2008-01-19 00:32:07 UTC (rev 3062) +++ trunk/util/superiotool/winbond.c 2008-01-19 09:40:17 UTC (rev 3063) @@ -195,54 +195,6 @@ {0x00,0x48,0x48,0x48,0x48,0x00,0x00,0x48,0x00,0x00, EOT}}, {EOT}}}, - {0x886, "W83627EHF/EF/EHG/EG", { /* sensors-detect: 0x8853 possible */ - {NOLDN, NULL, - {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28, - 0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT}, - {0x88,MISC,0xff,0x00,MISC,0x00,MISC,RSVD,0x50, - 0x04,0x00,RSVD,0x00,0x21,0x00,0x00,EOT}}, - {0x0, "Floppy", - {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4, - 0xf5,EOT}, - {0x01,0x03,0xf0,0x06,0x02,0x8e,0x00,0xff,0x00, - 0x00,EOT}}, - {0x1, "Parallel port", - {0x30,0x60,0x61,0x70,0x74,0xf0,EOT}, - {0x01,0x03,0x78,0x07,0x04,0x3f,EOT}}, - {0x2, "COM1", - {0x30,0x60,0x61,0x70,0xf0,EOT}, - {0x01,0x03,0xf8,0x04,0x00,EOT}}, - {0x3, "COM2", - {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT}, - {0x01,0x02,0xf8,0x03,0x00,0x00,EOT}}, - {0x5, "Keyboard", - {0x30,0x60,0x61,0x62,0x63,0x70,0x72,0xf0,EOT}, - {0x01,0x00,0x60,0x00,0x64,0x01,0x0c,0x83,EOT}}, - {0x6, "Serial flash interface", - {0x30,0x62,0x63,EOT}, - {0x00,0x00,0x00,EOT}}, - {0x7, "GPIO 1, GPIO 6, game port, MIDI port", - {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3, - 0xf4,0xf5,0xf6,0xf7,EOT}, - {0x00,0x02,0x01,0x03,0x30,0x09,0xff,0x00,0x00,0x00, - 0xff,0x00,0x00,0x00,EOT}}, - {0x8, "WDTO#, PLED", - {0x30,0xf5,0xf6,0xf7,EOT}, - {0x00,0x00,0x00,0x00,EOT}}, - {0x9, "GPIO 2, GPIO 3, GPIO 4, GPIO 5, SUSLED", - {0x30,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xf0,0xf1,0xf2, - 0xf3,0xf4,0xf5,0xf6,0xf7,EOT}, - {0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00, - 0x00,0xff,0x00,0x00,0x00,EOT}}, - {0xa, "ACPI", - {0x30,0x70,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7, - 0xe8,0xf2,0xf3,0xf4,0xf6,0xf7,EOT}, - {0x00,0x00,0x01,0x00,0xff,0x08,0x00,RSVD,0x00,0x00, - RSVD,0x7c,0x00,0x00,0x00,0x00,EOT}}, - {0xb, "Hardware monitor", - {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT}, - {0x00,0x00,0x00,0x00,0xc1,0x00,EOT}}, - {EOT}}}, {0xa23, "W83627UHG", {/* TODO: Not yet in sensors-detect */ {EOT}}},
@@ -412,6 +364,61 @@ {0x30,0x60,0x61,0xf0,0xf1,0xf2,EOT}, {0x00,0x00,0x00,0xff,0x00,0x00,EOT}}, {EOT}}}, + {0x88, "W83627EHF/EF/EHG/EG", { + /* + * As per datasheet the ID should be 0x886? here. + * Not mentioned in the datasheet, but sensors-detect says + * 0x8853 is also possible. Also, the ASUS A8V-E Deluxe + * (W83627EHF) has an ID of 0x8854 (verified on hardware). + * So we now assume all 0x88?? IDs to mean W83627EHF/EF/EHG/EG. + */ + {NOLDN, NULL, + {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28, + 0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT}, + {0x88,MISC,0xff,0x00,MISC,0x00,MISC,RSVD,0x50, + 0x04,0x00,RSVD,0x00,0x21,0x00,0x00,EOT}}, + {0x0, "Floppy", + {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4, + 0xf5,EOT}, + {0x01,0x03,0xf0,0x06,0x02,0x8e,0x00,0xff,0x00, + 0x00,EOT}}, + {0x1, "Parallel port", + {0x30,0x60,0x61,0x70,0x74,0xf0,EOT}, + {0x01,0x03,0x78,0x07,0x04,0x3f,EOT}}, + {0x2, "COM1", + {0x30,0x60,0x61,0x70,0xf0,EOT}, + {0x01,0x03,0xf8,0x04,0x00,EOT}}, + {0x3, "COM2", + {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT}, + {0x01,0x02,0xf8,0x03,0x00,0x00,EOT}}, + {0x5, "Keyboard", + {0x30,0x60,0x61,0x62,0x63,0x70,0x72,0xf0,EOT}, + {0x01,0x00,0x60,0x00,0x64,0x01,0x0c,0x83,EOT}}, + {0x6, "Serial flash interface", + {0x30,0x62,0x63,EOT}, + {0x00,0x00,0x00,EOT}}, + {0x7, "GPIO 1, GPIO 6, game port, MIDI port", + {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3, + 0xf4,0xf5,0xf6,0xf7,EOT}, + {0x00,0x02,0x01,0x03,0x30,0x09,0xff,0x00,0x00,0x00, + 0xff,0x00,0x00,0x00,EOT}}, + {0x8, "WDTO#, PLED", + {0x30,0xf5,0xf6,0xf7,EOT}, + {0x00,0x00,0x00,0x00,EOT}}, + {0x9, "GPIO 2, GPIO 3, GPIO 4, GPIO 5, SUSLED", + {0x30,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xf0,0xf1,0xf2, + 0xf3,0xf4,0xf5,0xf6,0xf7,EOT}, + {0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00, + 0x00,0xff,0x00,0x00,0x00,EOT}}, + {0xa, "ACPI", + {0x30,0x70,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7, + 0xe8,0xf2,0xf3,0xf4,0xf6,0xf7,EOT}, + {0x00,0x00,0x01,0x00,0xff,0x08,0x00,RSVD,0x00,0x00, + RSVD,0x7c,0x00,0x00,0x00,0x00,EOT}}, + {0xb, "Hardware monitor", + {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT}, + {0x00,0x00,0x00,0x00,0xc1,0x00,EOT}}, + {EOT}}},
/* ID[3..0] */ {0xa, "W83877F", { @@ -450,7 +457,7 @@ rev = regval(port, DEVICE_REV_REG); olddevid = regval(port, DEVICE_ID_REG_OLD) & 0x0f;
- if (devid == 0x52 || devid == 0x68) + if (devid == 0x52 || devid == 0x68 || devid == 0x88) id = devid; /* ID only */ else if ((devid == 0x97) && ((rev & 0xf0) == 0x70)) id = (devid << 8) | rev; /* ID and rev */