diff --git a/util/superiotool/fintek.c b/util/superiotool/fintek.c
index 576b7be..d4c9bb5 100644
--- a/util/superiotool/fintek.c
+++ b/util/superiotool/fintek.c
@@ -2,7 +2,7 @@
  * This file is part of the superiotool project.
  *
  * Copyright (C) 2006 coresystems GmbH <info@coresystems.de>
- * Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
+ * Copyright (C) 2007-2008 Uwe Hermann <uwe@hermann-uwe.de>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@
 #define FINTEK_VENDOR_ID	0x3419
 
 static const struct superio_registers reg_table[] = {
-	{0x0106, "F71862FG", {
+	{0x0106, "F71862FG / F71863FG", {	/* Same ID? Datasheet typo? */
 		{EOT}}},
 	{0x4103, "F71872F/FG / F71806F/FG", {	/* Same ID? Datasheet typo? */
 		{EOT}}},
diff --git a/util/superiotool/ite.c b/util/superiotool/ite.c
index 1cfa317..8ecefb5 100644
--- a/util/superiotool/ite.c
+++ b/util/superiotool/ite.c
@@ -2,7 +2,7 @@
  * This file is part of the superiotool project.
  *
  * Copyright (C) 2007 Carl-Daniel Hailfinger
- * Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
+ * Copyright (C) 2007-2008 Uwe Hermann <uwe@hermann-uwe.de>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -27,6 +27,8 @@
 #define ISA_PNP_ADDR		0x279
 
 static const struct superio_registers reg_table[] = {
+	{0x8228, "IT8228E", {
+		{EOT}}},
 	{0x8661, "IT8661F/IT8770F", {
 		{NOLDN, NULL,
 			{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x20,0x21,0x22,
@@ -174,6 +176,8 @@
 		{EOT}}},
 	{0x8710, "IT8710F", {	/* TODO: Not yet in sensors-detect */
 		{EOT}}},
+	{0x8711, "IT8711F", {	/* 0x8711 is a guess, not found in datasheet. */
+		{EOT}}},
 	{0x8712, "IT8712F", {
 		{NOLDN, NULL,
 			{0x20,0x21,0x22,0x23,0x24,0x2b,EOT},
@@ -325,6 +329,8 @@
 		{EOT}}},
 	{0x8720, "IT8720F", {	/* From sensors-detect */
 		{EOT}}},
+	{0x8722, "IT8722F", {
+		{EOT}}},
 	{0x8726, "IT8726F", {
 		/* Datasheet wrongly says that the ID is 0x8716. */
 		{NOLDN, NULL,
@@ -378,6 +384,10 @@
 			{0x30,0x60,0x61,0x70,0xf0,EOT},
 			{0x00,0x03,0x10,0x0b,0x00,EOT}},
 		{EOT}}},
+	{0x8761, "IT8761E", {
+		{EOT}}},
+	{0x8780, "IT8780F", {
+		{EOT}}},
 	{EOT}
 };
 
@@ -475,11 +485,6 @@
 		OUTB(initkey_mbpnp[i], port);
 }
 
-/**
- * IT871[01]F and IT8708F use 0x87, 0x87
- * IT8761F uses 0x87, 0x61, 0x55, 0x55/0xaa
- * IT86xxF series uses different ports
- */
 static void enter_conf_mode_ite(uint16_t port)
 {
 	OUTB(0x87, port);
@@ -488,6 +493,22 @@
 	OUTB((port == 0x2e) ? 0x55 : 0xaa, port);
 }
 
+static void enter_conf_mode_ite_it8761e(uint16_t port)
+{
+	OUTB(0x87, port);
+	OUTB(0x61, port);
+	OUTB(0x55, port);
+	OUTB((port == 0x2e) ? 0x55 : 0xaa, port);
+}
+
+static void enter_conf_mode_ite_it8228e(uint16_t port)
+{
+	OUTB(0x82, port);
+	OUTB(0x28, port);
+	OUTB(0x55, port);
+	OUTB((port == 0x2e) ? 0x55 : 0xaa, port);
+}
+
 static void exit_conf_mode_ite(uint16_t port)
 {
 	regwrite(port, 0x02, 0x02);
@@ -542,7 +563,15 @@
 		exit_conf_mode_ite(port);
 	} else {
 		enter_conf_mode_ite(port);
-		probe_idregs_ite_helper("(init=0x87,0x01,0x55,0x55/0xaa) ", port);
+		probe_idregs_ite_helper("(init=standard) ", port);
+		exit_conf_mode_ite(port);
+
+		enter_conf_mode_ite_it8761e(port);
+		probe_idregs_ite_helper("(init=it8761e) ", port);
+		exit_conf_mode_ite(port);
+
+		enter_conf_mode_ite_it8228e(port);
+		probe_idregs_ite_helper("(init=it8228e) ", port);
 		exit_conf_mode_ite(port);
 
 		enter_conf_mode_winbond_fintek_ite_8787(port);
