X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=util%2Fsuperiotool%2Fali.c;h=9111fa2281f630f914e496b1f3a678a2af7a28b6;hb=26c182340fa5569f034a50010bb6d47ed13e5fd6;hp=58d348577a748fa8e49049aacdfa5ac3a1e3f9b1;hpb=e9d4616a9566e29e69d3c967d35126abddd99cee;p=coreboot.git diff --git a/util/superiotool/ali.c b/util/superiotool/ali.c index 58d348577..9111fa228 100644 --- a/util/superiotool/ali.c +++ b/util/superiotool/ali.c @@ -25,12 +25,12 @@ #define DEVICE_REV_REG 0x1f -const static struct superio_registers reg_table[] = { +static const struct superio_registers reg_table[] = { /* TODO: M5113 doesn't seem to have ID registers? */ {0x5315, "M1535/M1535D/M1535+/M1535D+", { {NOLDN, NULL, - {0x07,0x1f,0x20,0x21,0x22,0x23,0x2c,0x2d,0x2e,EOT}, - {NANA,NANA,0x53,0x15,0x00,0x00,RSVD,RSVD,RSVD,EOT}}, + {0x1f,0x20,0x21,0x22,0x23,0x2c,0x2d,0x2e,EOT}, + {NANA,0x53,0x15,0x00,0x00,RSVD,RSVD,RSVD,EOT}}, {0x0, "Floppy", {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4,EOT}, {0x00,0x03,0xf0,0x06,0x02,0x08,0x00,0xff,0x00,EOT}}, @@ -53,18 +53,20 @@ const static 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} }; static void enter_conf_mode_ali(uint16_t port) { - outb(0x51, port); - outb(0x23, port); + OUTB(0x51, port); + OUTB(0x23, port); } static void exit_conf_mode_ali(uint16_t port) { - outb(0xbb, port); + OUTB(0xbb, port); } void probe_idregs_ali(uint16_t port) @@ -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)) { @@ -91,9 +95,12 @@ void probe_idregs_ali(uint16_t port) get_superio_name(reg_table, id), id, rev, port); chip_found = 1; - dump_superio("ALi", reg_table, port, id); - dump_superio_readable(port); /* TODO */ + dump_superio("ALi", reg_table, port, id, LDN_SEL); exit_conf_mode_ali(port); } +void print_ali_chips(void) +{ + print_vendor_chips("ALi", reg_table); +}