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>
This commit is contained in:
Angel Pons 2018-09-28 21:03:47 +02:00 committed by Felix Held
parent dd14029457
commit fa6ff60c8c
1 changed files with 93 additions and 6 deletions

View File

@ -733,12 +733,10 @@ static const struct superio_registers reg_table[] = {
0x00,0x00,0x00,0x00,RSVD,0x00,0x00,0x80,EOT}}, 0x00,0x00,0x00,0x00,RSVD,0x00,0x00,0x80,EOT}},
{EOT}}}, {EOT}}},
{0x7c, "SCH3112", { {0x7c, "SCH3112", {
{EOT}}},
{0x7d, "SCH3114", {
{NOLDN, NULL, {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}, 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}}, RSVD,0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
{0x0, "Floppy", {0x0, "Floppy",
{0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4, {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4,
@ -759,7 +757,34 @@ static const struct superio_registers reg_table[] = {
{0x00,0x00,0x00,0x00,EOT}}, {0x00,0x00,0x00,0x00,EOT}},
{0xa, "Runtime registers", {0xa, "Runtime registers",
{0x30,0x60,0x61,0x62,0x63,0xf0,0xf1,0xf2,EOT}, {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}},
{EOT}}},
{0x7d, "SCH3114", {
{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", {0xb, "COM3",
{0x30,0x60,0x61,0x70,0xf0,EOT}, {0x30,0x60,0x61,0x70,0xf0,EOT},
{0x00,0x00,0x00,0x00,0x00,EOT}}, {0x00,0x00,0x00,0x00,0x00,EOT}},
@ -768,6 +793,43 @@ static const struct superio_registers reg_table[] = {
{0x00,0x00,0x00,0x00,0x00,EOT}}, {0x00,0x00,0x00,0x00,0x00,EOT}},
{EOT}}}, {EOT}}},
{0x7f, "SCH3116", { {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}}}, {EOT}}},
{0x81, "SCH5307", { {0x81, "SCH5307", {
{EOT}}}, {EOT}}},
@ -776,7 +838,32 @@ static const struct superio_registers reg_table[] = {
{0x85, "SCH5317", { /* From sensors-detect */ {0x85, "SCH5317", { /* From sensors-detect */
/* The SCH5317 can have either 0x85 or 0x8c as device ID. */ /* The SCH5317 can have either 0x85 or 0x8c as device ID. */
{EOT}}}, {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}}}, {EOT}}},
{0x89, "SCH5027", { /* From sensors-detect (no public datasheet) */ {0x89, "SCH5027", { /* From sensors-detect (no public datasheet) */
{EOT}}}, {EOT}}},