diff options
author | Angel Pons <th3fanbus@gmail.com> | 2018-09-28 21:03:47 +0200 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2018-10-08 17:54:27 +0000 |
commit | fa6ff60c8c0daf2bbae6ab505e023bc8af073bb7 (patch) | |
tree | 0c28d27cd4345eb9248ea0497c7dd6b898a14997 /util | |
parent | dd1402945781da2063c2406e0132e644f4d78893 (diff) | |
download | coreboot-fa6ff60c8c0daf2bbae6ab505e023bc8af073bb7.tar.xz |
util/superiotool/smsc.c: Add some register dumps
The SCH3112, SCH3116 and SCH5127 were lacking a pin dump. Since their
datasheets are available, add their pin dumps.
The SCH3112, SCH3114 and SCH3116 are almost identical, they only differ
in the number of serial ports. Some values in the SCH3114 dump were
inaccurate, that has been fixed as well.
Datasheets used:
- SCH311X: DS00001872A
- SCH5127: DS00002081A
Change-Id: Ic985526be9b09e0452eaf883904dfaf709b7e907
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/28794
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'util')
-rw-r--r-- | util/superiotool/smsc.c | 95 |
1 files changed, 91 insertions, 4 deletions
diff --git a/util/superiotool/smsc.c b/util/superiotool/smsc.c index 21763ec3c1..820bc1678a 100644 --- a/util/superiotool/smsc.c +++ b/util/superiotool/smsc.c @@ -733,12 +733,37 @@ static const struct superio_registers reg_table[] = { 0x00,0x00,0x00,0x00,RSVD,0x00,0x00,0x80,EOT}}, {EOT}}}, {0x7c, "SCH3112", { + {NOLDN, NULL, + {0x02,0x03,0x19,0x21,0x22,0x23,0x24,0x25,0x26,0x27, + 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT}, + {0x00,RSVD,RSVD,MISC,0x00,RSVD,0x44,RSVD,MISC,MISC, + RSVD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}}, + {0x0, "Floppy", + {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4, + 0xf5,EOT}, + {0x00,0x03,0xf0,0x06,0x02,0x0e,0x00,0xff,0x00, + 0x00,EOT}}, + {0x3, "Parallel port", + {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT}, + {0x00,0x00,0x00,0x00,0x04,0x3c,0x00,EOT}}, + {0x4, "COM1", + {0x30,0x60,0x61,0x70,0xf0,EOT}, + {0x00,0x00,0x00,0x00,0x00,EOT}}, + {0x5, "COM2", + {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT}, + {0x00,0x00,0x00,0x00,0x00,0x02,0x03,EOT}}, + {0x7, "Keyboard", + {0x30,0x70,0x72,0xf0,EOT}, + {0x00,0x00,0x00,0x00,EOT}}, + {0xa, "Runtime registers", + {0x30,0x60,0x61,0x62,0x63,0xf0,0xf1,0xf2,EOT}, + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,EOT}}, {EOT}}}, {0x7d, "SCH3114", { {NOLDN, NULL, - {0x02,0x03,0x20,0x21,0x22,0x23,0x24,0x26,0x27, + {0x02,0x03,0x19,0x21,0x22,0x23,0x24,0x25,0x26,0x27, 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT}, - {0x00,RSVD,0x7D,RSVD,0x00,RSVD,0x44,MISC,0x00, + {0x00,RSVD,RSVD,MISC,0x00,RSVD,0x44,RSVD,MISC,MISC, RSVD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}}, {0x0, "Floppy", {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4, @@ -759,7 +784,7 @@ static const struct superio_registers reg_table[] = { {0x00,0x00,0x00,0x00,EOT}}, {0xa, "Runtime registers", {0x30,0x60,0x61,0x62,0x63,0xf0,0xf1,0xf2,EOT}, - {0x00,0x00,0x00,0x00,0x00,NANA,0x00,0x04,EOT}}, + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,EOT}}, {0xb, "COM3", {0x30,0x60,0x61,0x70,0xf0,EOT}, {0x00,0x00,0x00,0x00,0x00,EOT}}, @@ -768,6 +793,43 @@ static const struct superio_registers reg_table[] = { {0x00,0x00,0x00,0x00,0x00,EOT}}, {EOT}}}, {0x7f, "SCH3116", { + {NOLDN, NULL, + {0x02,0x03,0x19,0x21,0x22,0x23,0x24,0x25,0x26,0x27, + 0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT}, + {0x00,RSVD,RSVD,MISC,0x00,RSVD,0x44,RSVD,MISC,MISC, + RSVD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}}, + {0x0, "Floppy", + {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4, + 0xf5,EOT}, + {0x00,0x03,0xf0,0x06,0x02,0x0e,0x00,0xff,0x00, + 0x00,EOT}}, + {0x3, "Parallel port", + {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT}, + {0x00,0x00,0x00,0x00,0x04,0x3c,0x00,EOT}}, + {0x4, "COM1", + {0x30,0x60,0x61,0x70,0xf0,EOT}, + {0x00,0x00,0x00,0x00,0x00,EOT}}, + {0x5, "COM2", + {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT}, + {0x00,0x00,0x00,0x00,0x00,0x02,0x03,EOT}}, + {0x7, "Keyboard", + {0x30,0x70,0x72,0xf0,EOT}, + {0x00,0x00,0x00,0x00,EOT}}, + {0xa, "Runtime registers", + {0x30,0x60,0x61,0x62,0x63,0xf0,0xf1,0xf2,EOT}, + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,EOT}}, + {0xb, "COM3", + {0x30,0x60,0x61,0x70,0xf0,EOT}, + {0x00,0x00,0x00,0x00,0x00,EOT}}, + {0xc, "COM4", + {0x30,0x60,0x61,0x70,0xf0,EOT}, + {0x00,0x00,0x00,0x00,0x00,EOT}}, + {0xd, "COM5", + {0x30,0x60,0x61,0x70,0xf0,EOT}, + {0x00,0x00,0x00,0x00,0x00,EOT}}, + {0xe, "COM6", + {0x30,0x60,0x61,0x70,0xf0,EOT}, + {0x00,0x00,0x00,0x00,0x00,EOT}}, {EOT}}}, {0x81, "SCH5307", { {EOT}}}, @@ -776,7 +838,32 @@ static const struct superio_registers reg_table[] = { {0x85, "SCH5317", { /* From sensors-detect */ /* The SCH5317 can have either 0x85 or 0x8c as device ID. */ {EOT}}}, - {0x86, "SCH5127", { /* From sensors-detect */ + {0x86, "SCH5127", { /* From sensors-detect, dump from datasheet */ + {NOLDN, NULL, + {0x02,0x03,0x21,0x22,0x23,0x24,0x26,0x27, + 0x28,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT}, + {0x00,RSVD,MISC,0x00,0x00,0x44,MISC,0x00, + RSVD,0x00,0x00,0x00,0x00,0x00,0x00,EOT}}, + {0x0, "Floppy", + {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4, + 0xf5,EOT}, + {0x00,0x03,0xf0,0x06,0x02,0x0e,0x00,0xff,0x00, + 0x00,EOT}}, + {0x3, "Parallel port", + {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,EOT}, + {0x00,0x00,0x00,0x00,0x04,0x3c,0x00,EOT}}, + {0x4, "COM1", + {0x30,0x60,0x61,0x70,0xf0,EOT}, + {0x00,0x00,0x00,0x00,0x00,EOT}}, + {0x5, "COM2", + {0x30,0x60,0x61,0x70,0xf0,0xf1,0xf2,EOT}, + {0x00,0x00,0x00,0x00,0x00,0x02,0x03,EOT}}, + {0x7, "Keyboard", + {0x30,0x70,0x72,0xf0,EOT}, + {0x00,0x00,0x00,0x00,EOT}}, + {0xa, "Runtime registers", + {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT}, + {0x00,0x00,0x00,0x00,0x00,RSVD,EOT}}, {EOT}}}, {0x89, "SCH5027", { /* From sensors-detect (no public datasheet) */ {EOT}}}, |