Decouple the ITE code from fintek.c, it doesn't belong there.
[coreboot.git] / util / superiotool / superiotool.c
index 8aea0a02d98b42586f909b6103929368be2d66b3..0a253ad6239185210391d5db3e1997d838988d3f 100644 (file)
@@ -37,6 +37,18 @@ void regwrite(uint16_t port, uint8_t reg, uint8_t val)
        outb(val, port + 1);
 }
 
+void enter_conf_mode_winbond_fintek_ite_8787(uint16_t port)
+{
+       outb(0x87, port);
+       outb(0x87, port);
+}
+
+void exit_conf_mode_winbond_fintek_ite_8787(uint16_t port)
+{
+       outb(0xaa, port);               /* Fintek, Winbond */
+       regwrite(port, 0x02, 0x02);     /* ITE */
+}
+
 int superio_unknown(const struct superio_registers reg_table[], uint16_t id)
 {
        return !strncmp(get_superio_name(reg_table, id), "<unknown>", 9);