summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2018-09-28 21:03:47 +0200
committerFelix Held <felix-coreboot@felixheld.de>2018-10-08 17:54:27 +0000
commitfa6ff60c8c0daf2bbae6ab505e023bc8af073bb7 (patch)
tree0c28d27cd4345eb9248ea0497c7dd6b898a14997 /util
parentdd1402945781da2063c2406e0132e644f4d78893 (diff)
downloadcoreboot-fa6ff60c8c0daf2bbae6ab505e023bc8af073bb7.tar.gz
coreboot-fa6ff60c8c0daf2bbae6ab505e023bc8af073bb7.tar.bz2
coreboot-fa6ff60c8c0daf2bbae6ab505e023bc8af073bb7.zip
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.c95
1 files changed, 91 insertions, 4 deletions
diff --git a/util/superiotool/smsc.c b/util/superiotool/smsc.c
index 21763ec3c1e5..820bc1678aaf 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}}},