Fix up and generalize the ITE IT8708F code. It was only working out of
pure luck (and broken code elsewhere). Needs some more fixing. Add more LDN descriptions to various Super I/Os. 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@2793 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
@@ -31,10 +31,9 @@
|
||||
const static struct superio_registers reg_table[] = {
|
||||
{0x601, "W83697HF/F", {
|
||||
{NOLDN, NULL,
|
||||
/* TODO: 0x02, 0x07. */
|
||||
{0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,
|
||||
{0x07,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,
|
||||
0x2a,EOT},
|
||||
{0x60,NANA,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
{NANA,0x60,NANA,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
MISC,EOT}},
|
||||
/* Some register defaults depend on the value of PNPCSV. */
|
||||
{0x0, "Floppy",
|
||||
@@ -51,18 +50,18 @@ const static struct superio_registers reg_table[] = {
|
||||
{0x3, "COM2",
|
||||
{0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
|
||||
{0x01,0x02,0xf8,0x03,0x00,0x00,EOT}},
|
||||
{0x6, "CIR",
|
||||
{0x6, "Consumer IR",
|
||||
{0x30,0x60,0x61,0x70,EOT},
|
||||
{0x00,0x00,0x00,0x00,EOT}},
|
||||
{0x7, "Game port, GPIO port 1",
|
||||
{0x7, "Game port, GPIO 1",
|
||||
{0x30,0x60,0x61,0x62,0x63,0xf0,0xf1,0xf2,EOT},
|
||||
{0x00,0x02,0x01,0x00,0x00,0xff,0x00,0x00,EOT}},
|
||||
{0x8, "MIDI port, GPIO port 5",
|
||||
{0x8, "MIDI port, GPIO 5",
|
||||
{0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
|
||||
0xf4,0xf5,EOT},
|
||||
{0x00,0x03,0x30,0x00,0x00,0x09,0xff,0x00,0x00,0x00,
|
||||
0x00,0x00,EOT}},
|
||||
{0x9, "GPIO port 2, 3, and 4",
|
||||
{0x9, "GPIO 2, GPIO 3, GPIO 4",
|
||||
{0x30,0x60,0x61,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,
|
||||
0xf7,0xf8,0xf5,EOT},
|
||||
{0x00,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,
|
||||
@@ -80,47 +79,47 @@ const static struct superio_registers reg_table[] = {
|
||||
{NOLDN, NULL,
|
||||
{0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,
|
||||
0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,EOT},
|
||||
{0x88,NANA,0xff,0x00,MISC,0x00,MISC,RSVD,0x50,
|
||||
{0x88,MISC,0xff,0x00,MISC,0x00,MISC,RSVD,0x50,
|
||||
0x04,0x00,RSVD,0x00,0x21,0x00,0x00,EOT}},
|
||||
{0x0, NULL,
|
||||
{0x0, "Floppy",
|
||||
{0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4,
|
||||
0xf5,EOT},
|
||||
{0x01,0x03,0xf0,0x06,0x02,0x8e,0x00,0xff,0x00,
|
||||
0x00,EOT}},
|
||||
{0x1, NULL,
|
||||
{0x1, "Parallel port",
|
||||
{0x30,0x60,0x61,0x70,0x74,0xf0,EOT},
|
||||
{0x01,0x03,0x78,0x07,0x04,0x3f,EOT}},
|
||||
{0x2, NULL,
|
||||
{0x2, "COM1",
|
||||
{0x30,0x60,0x61,0x70,0xf0,EOT},
|
||||
{0x01,0x03,0xf8,0x04,0x00,EOT}},
|
||||
{0x3, NULL,
|
||||
{0x3, "COM2",
|
||||
{0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
|
||||
{0x01,0x02,0xf8,0x03,0x00,0x00,EOT}},
|
||||
{0x5, NULL,
|
||||
{0x5, "Keyboard",
|
||||
{0x30,0x60,0x61,0x62,0x63,0x70,0x72,0xf0,EOT},
|
||||
{0x01,0x00,0x60,0x00,0x64,0x01,0x0c,0x83,EOT}},
|
||||
{0x6, NULL,
|
||||
{0x6, "Serial flash interface",
|
||||
{0x30,0x62,0x63,EOT},
|
||||
{0x00,0x00,0x00,EOT}},
|
||||
{0x7, NULL,
|
||||
{0x7, "GPIO 1, GPIO 6, game port, MIDI port",
|
||||
{0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,
|
||||
0xf4,0xf5,0xf6,0xf7,EOT},
|
||||
{0x00,0x02,0x01,0x03,0x30,0x09,0xff,0x00,0x00,0x00,
|
||||
0xff,0x00,0x00,0x00,EOT}},
|
||||
{0x8, NULL,
|
||||
{0x8, "WDTO#, PLED",
|
||||
{0x30,0xf5,0xf6,0xf7,EOT},
|
||||
{0x00,0x00,0x00,0x00,EOT}},
|
||||
{0x9, NULL,
|
||||
{0x9, "GPIO 2, GPIO 3, GPIO 4, GPIO 5, SUSLED",
|
||||
{0x30,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xf0,0xf1,0xf2,
|
||||
0xf3,0xf4,0xf5,0xf6,0xf7,EOT},
|
||||
{0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,
|
||||
0x00,0xff,0x00,0x00,0x00,EOT}},
|
||||
{0xa, NULL,
|
||||
{0xa, "ACPI",
|
||||
{0x30,0x70,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
|
||||
0xe8,0xf2,0xf3,0xf4,0xf6,0xf7,EOT},
|
||||
{0x00,0x00,0x01,0x00,0xff,0x08,0x00,RSVD,0x00,0x00,
|
||||
RSVD,0x7c,0x00,0x00,0x00,0x00,EOT}},
|
||||
{0xb, NULL,
|
||||
{0xb, "Hardware monitor",
|
||||
{0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
|
||||
{0x00,0x00,0x00,0x00,0xc1,0x00,EOT}},
|
||||
{EOT}}},
|
||||
@@ -153,6 +152,7 @@ void probe_idregs_winbond(uint16_t port)
|
||||
|
||||
if (superio_unknown(reg_table, id)) {
|
||||
no_superio_found(port);
|
||||
exit_conf_mode_winbond(port);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user