From 74b29b9e333bd05fae4ff1f59029120ff8f280dc Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Sat, 17 Nov 2007 17:13:52 +0000 Subject: Detection support for more Super I/Os. Small fixes (trivial). Signed-off-by: Uwe Hermann Acked-by: Uwe Hermann git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2975 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- util/superiotool/README | 4 ++-- util/superiotool/ali.c | 4 ++++ util/superiotool/smsc.c | 18 ++++++++++++++++++ util/superiotool/superiotool.8 | 2 +- util/superiotool/superiotool.h | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) (limited to 'util') diff --git a/util/superiotool/README b/util/superiotool/README index c971e7f420..68fad30b71 100644 --- a/util/superiotool/README +++ b/util/superiotool/README @@ -30,9 +30,9 @@ Installation Usage ----- - $ superiotool [-d] [-D] [-V] [-v] [-h] + $ superiotool [-d] [-V] [-v] [-h] - -d | --dump Dump Super I/O registers + -d | --dump Dump Super I/O register contents -V | --verbose Verbose mode -v | --version Show the superiotool version -h | --help Show a short help text diff --git a/util/superiotool/ali.c b/util/superiotool/ali.c index 56e086f7fa..2d0e71d73f 100644 --- a/util/superiotool/ali.c +++ b/util/superiotool/ali.c @@ -53,6 +53,8 @@ static const struct superio_registers reg_table[] = { {0x30,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,EOT}, {0x00,0x35,0x14,0x11,0x71,RSVD,0x05,EOT}}, {EOT}}}, + {0x2351, "M512x", { + {EOT}}}, {EOT} }; @@ -78,6 +80,8 @@ void probe_idregs_ali(uint16_t port) id = regval(port, DEVICE_ID_BYTE1_REG) << 8; id |= regval(port, DEVICE_ID_BYTE2_REG); + + /* TODO: Not documented/available on M512x (?) */ rev = regval(port, DEVICE_REV_REG); if (superio_unknown(reg_table, id)) { diff --git a/util/superiotool/smsc.c b/util/superiotool/smsc.c index 8c2a8c98fc..ee62d6beca 100644 --- a/util/superiotool/smsc.c +++ b/util/superiotool/smsc.c @@ -28,10 +28,19 @@ static const struct superio_registers reg_table[] = { /* The following Super I/Os use the 0x20/0x21 ID registers. */ + {0x03, "FDC37C93xFR", { + /* FIXME: There's another 0x03 but found on port 0x0d/0x0e! */ + {EOT}}}, + {0x0a, "FDC37N971", { + {EOT}}}, + {0x0b, "FDC37N972", { + {EOT}}}, {0x0e, "LPC47N252", { /* From sensors-detect */ {EOT}}}, {0x14, "LPC47M172", { {EOT}}}, + {0x30, "FDC37C93xAPM", { + {EOT}}}, {0x40, "FDC37C67x", { /* E.g. FDC37C672. Chiprev: 0x01 */ {EOT}}}, {0x42, "FDC37B80x/FDC37M707", { @@ -79,6 +88,8 @@ static const struct superio_registers reg_table[] = { {0x30,0x60,0x61,0x70,0xf0,EOT}, {0x00,0x00,0x00,NANA,NANA,EOT}}, {EOT}}}, + {0x43, "FDC37B77x", { + {EOT}}}, {0x44, "FDC37B78x", { {NOLDN, NULL, {0x03,0x07,0x20,0x21,0x22,0x23,0x24,0x26,0x27,0x28, @@ -337,10 +348,14 @@ static const struct superio_registers reg_table[] = { {0x03, "FDC37C669", { /* Init: 0x55, 0x55. Exit: 0xaa. Ports: 0x3f0/0x370. */ /* Chiprev: 0x02. */ + /* FIXME: There's another 0x03 but found on port 0x20/0x21! */ {EOT}}}, {0x04, "FDC37C669FR", { /* TODO: Not yet in sensors-detect. */ /* Init: 0x55, 0x55. Exit: 0xaa. Ports: 0x3f0/0x370. */ {EOT}}}, + {0x13, "LPC47N237", { + /* Init: 0x55. Exit: 0xaa. Ports: 0x2e/0x4e. */ + {EOT}}}, {0x28, "FDC37N769", { /* Init: 0x55. Exit: 0xaa. Ports: 0x3f0/0x370. */ {NOLDN, NULL, @@ -355,6 +370,9 @@ static const struct superio_registers reg_table[] = { 0x80,0x00,0x3c,RSVD,RSVD,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,RSVD,0x00,0x00,0x03,0x00,0x00,EOT}}, {EOT}}}, + {0x29, "FDC37N3869/FDC37N869", { + /* Init: 0x55. Exit: 0xaa. Ports: 0x3f0/0x370. */ + {EOT}}}, {0x5a, "LPC47N227", { /* Init: 0x55. Exit: 0xaa. Ports: 0x2e/0x4e. */ {NOLDN, NULL, diff --git a/util/superiotool/superiotool.8 b/util/superiotool/superiotool.8 index 17066bfa01..64828e8105 100644 --- a/util/superiotool/superiotool.8 +++ b/util/superiotool/superiotool.8 @@ -74,7 +74,7 @@ detailed information about the .TP .B "\-V, \-\-verbose" Enable verbose mode. This option can be used together with the -.BR "\-d" " or " "\-D" " option (or both)." +.BR "\-d" " option." .sp The verbose output will not only list for which type of Super I/O the tool is scanning, but also at which configuration port it's probing, and which diff --git a/util/superiotool/superiotool.h b/util/superiotool/superiotool.h index 97daed96f4..ec0a55903b 100644 --- a/util/superiotool/superiotool.h +++ b/util/superiotool/superiotool.h @@ -30,7 +30,7 @@ #include #define USAGE "Usage: superiotool [-d] [-V] [-v] [-h]\n\n\ - -d | --dump Dump Super I/O registers\n\ + -d | --dump Dump Super I/O register contents\n\ -V | --verbose Verbose mode\n\ -v | --version Show the superiotool version\n\ -h | --help Show a short help text\n\n\ -- cgit v1.2.3