summaryrefslogtreecommitdiff
path: root/util/superiotool/ite.c
diff options
context:
space:
mode:
authorRonald Hoogenboom <hoogenboom30@zonnet.nl>2008-02-25 22:32:41 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2008-02-25 22:32:41 +0000
commit0be73bbf3014d3e7a5d519bb6023c99374df3322 (patch)
tree723cbeb7fcf4b51347b70a4b7a016b75e22435d8 /util/superiotool/ite.c
parent56cf01f29d7549f11cdd329d5ca8a2e163665f3a (diff)
downloadcoreboot-0be73bbf3014d3e7a5d519bb6023c99374df3322.tar.xz
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 <hoogenboom30@zonnet.nl> 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 <c-d.hailfinger.devel.2006@gmx.net> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3117 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/superiotool/ite.c')
-rw-r--r--util/superiotool/ite.c41
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)