Detection support for more Super I/Os. Small fixes (trivial).
authorUwe Hermann <uwe@hermann-uwe.de>
Sat, 17 Nov 2007 17:13:52 +0000 (17:13 +0000)
committerUwe Hermann <uwe@hermann-uwe.de>
Sat, 17 Nov 2007 17:13:52 +0000 (17:13 +0000)
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

util/superiotool/README
util/superiotool/ali.c
util/superiotool/smsc.c
util/superiotool/superiotool.8
util/superiotool/superiotool.h

index c971e7f420f30285199944d12e52d847ffe82635..68fad30b714cc058ff95f2e403f4d0244d974598 100644 (file)
@@ -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
index 56e086f7fa0f74158298233dcf4ee38244ae2da5..2d0e71d73f5e244c4eb7e834346c9b1a91ef0746 100644 (file)
@@ -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)) {
index 8c2a8c98fc558af3e646092b3e794bd350b9e3c0..ee62d6becaf3f9750f960b764dd7f7725ca2b247 100644 (file)
 
 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,
index 17066bfa012110ccad779b6d62474ef3d1dc1e81..64828e810576f7ce147a4a34312f489d6efc64d6 100644 (file)
@@ -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
index 97daed96f410aa9a701c723901b73c5c43142243..ec0a55903b0f25f51e58806c1b0adf3a9b9ae220 100644 (file)
@@ -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\