From 0be73bbf3014d3e7a5d519bb6023c99374df3322 Mon Sep 17 00:00:00 2001 From: Ronald Hoogenboom Date: Mon, 25 Feb 2008 22:32:41 +0000 Subject: This patch adds support to dump other registers than the primary pnp-style configuration registers, using the new option -e/--extra-dump. This patch only adds dumping of the Environmental Controller configuration registers for the IT8716f chip. Signed-off-by: Ronald Hoogenboom I (Carl-Daniel) checked the data sheets of the whole IT87[012] series and although the environment controller is sometimes called fan controller, the location of the register is the same for all models. Acked-by: Carl-Daniel Hailfinger git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3117 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- util/superiotool/ite.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'util/superiotool/ite.c') 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) -- cgit v1.2.3