diff options
Diffstat (limited to 'util/superiotool/ite.c')
-rw-r--r-- | util/superiotool/ite.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/util/superiotool/ite.c b/util/superiotool/ite.c index dcb61787bc..9d3a263a57 100644 --- a/util/superiotool/ite.c +++ b/util/superiotool/ite.c @@ -324,6 +324,36 @@ static const struct superio_registers reg_table[] = { {EOT} }; +static const struct superio_registers ec_table[] = { + {0x8716, "IT8716F", { + {NOLDN, NULL, + {0x00,0x04,0x05,0x06,0x07,0x08,0x09,0x0b,0x0c,0x10, + 0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x1b,0x1c,0x1d, + 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39, + 0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43, + 0x44,0x45,0x48,0x50,0x51,0x52,0x53,0x54,0x56,0x57, + 0x59,0x5c,EOT}, + {0x18,0x00,0x00,0x00,0x00,0x00,0x80,0x09,0x00,NANA, + NANA,NANA,0x07,0x50,NANA,NANA,NANA,NANA,NANA,NANA, + NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA, + NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA,NANA, + NANA,NANA,RSVD,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00, + 0x00,0x00,EOT}}, + {NOLDN, NULL, + {0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x68, + 0x69,0x6a,0x6b,0x6c,0x6d,0x70,0x71,0x72,0x73,0x74, + 0x75,0x84,0x85,0x86,0x87,0x88,0x89,0x8c,0x8d,0x8e, + 0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x98,0x99,0x9a, + 0x9b,0x9c,0x9d,EOT}, + {0x00,0x00,0x00,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f, + 0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x7f,0x00,0x00, + 0x7f,NANA,NANA,NANA,NANA,0x00,0x00,0x02,0x00,0x99, + 0x99,0x7f,0x7f,0x7f,0x00,0x00,0x7f,0x7f,0x7f,0x7f, + 0x00,0x00,0x7f,EOT}}, + {EOT}}}, + {EOT} +}; + /** * IT871[01]F and IT8708F use 0x87, 0x87 * IT8761F uses 0x87, 0x61, 0x55, 0x55/0xaa @@ -368,6 +398,17 @@ static void probe_idregs_ite_helper(const char *init, uint16_t port) chip_found = 1; dump_superio("ITE", reg_table, port, id); + + if (extra_dump) { + uint16_t ecport; + regwrite(port, 0x07, 0x04); /*EC LDN*/ + ecport = regval(port, 0x60) << 8; + ecport |= regval(port, 0x61); + ecport += 5; + + printf("Environment Controller (0x%04x)\n",ecport); + dump_superio("ITE-EC", ec_table, ecport, id); + } } void probe_idregs_ite(uint16_t port) |