summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2007-11-17 17:13:52 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2007-11-17 17:13:52 +0000
commit74b29b9e333bd05fae4ff1f59029120ff8f280dc (patch)
tree3d95e4400a52672a19f1752119787b16fb6ed668
parent70ab323ae61567a005058f6e7bdd1f6990e6e7fd (diff)
downloadcoreboot-74b29b9e333bd05fae4ff1f59029120ff8f280dc.tar.xz
Detection support for more Super I/Os. Small fixes (trivial).
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2975 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--util/superiotool/README4
-rw-r--r--util/superiotool/ali.c4
-rw-r--r--util/superiotool/smsc.c18
-rw-r--r--util/superiotool/superiotool.82
-rw-r--r--util/superiotool/superiotool.h2
5 files changed, 26 insertions, 4 deletions
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 <sys/io.h>
#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\