Detection support for the Winbond W83627HF (trivial).
authorUwe Hermann <uwe@hermann-uwe.de>
Mon, 24 Sep 2007 23:24:46 +0000 (23:24 +0000)
committerUwe Hermann <uwe@hermann-uwe.de>
Mon, 24 Sep 2007 23:24:46 +0000 (23:24 +0000)
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2806 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

util/superiotool/winbond.c

index 9dbaba80d58cddba2d75a44cab606e606b5d2956..e17a60840e5c230d5ecf423de4f44b48fdd6b776 100644 (file)
@@ -123,6 +123,8 @@ const static struct superio_registers reg_table[] = {
                        {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
                        {0x00,0x00,0x00,0x00,0xc1,0x00,EOT}},
                {EOT}}},
+       {0x52, "W83627HF", {
+               {EOT}}},
        {EOT}
 };
 
@@ -136,8 +138,11 @@ void probe_idregs_winbond(uint16_t port)
        devid = regval(port, DEVICE_ID_REG);
        rev = regval(port, DEVICE_REV_REG);
 
-       /* Bits 3..0 of 'rev' form the IC version, we don't match that. */
-       id = (devid << 4) | ((rev & 0xf0) >> 4);
+       if (devid != 0x52)
+               /* Bits 3..0 of 'rev' == IC version, we don't match that. */
+               id = (devid << 4) | ((rev & 0xf0) >> 4);
+       else
+               id = devid;
 
        if (superio_unknown(reg_table, id)) {
                no_superio_found(port);