#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}},
{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)
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)) {
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);
+}