X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=util%2Fsuperiotool%2Fsuperiotool.c;h=293aaa617d018ef156abe976668616fab4d50862;hb=18b02360b9dba6ca61538923e27b5ba68a2b3299;hp=583a974fd4231abdab6e24eeef034114b13b082a;hpb=6df0c62b688d1c4157bc151f98a2feeeca79fee8;p=coreboot.git diff --git a/util/superiotool/superiotool.c b/util/superiotool/superiotool.c index 583a974fd..293aaa617 100644 --- a/util/superiotool/superiotool.c +++ b/util/superiotool/superiotool.c @@ -58,11 +58,23 @@ void exit_conf_mode_winbond_fintek_ite_8787(uint16_t port) regwrite(port, 0x02, 0x02); /* ITE */ } +void enter_conf_mode_fintek_7777(uint16_t port) +{ + OUTB(0x77, port); + OUTB(0x77, port); +} + +void exit_conf_mode_fintek_7777(uint16_t port) +{ + OUTB(0xaa, port); /* Fintek */ +} + int superio_unknown(const struct superio_registers reg_table[], uint16_t id) { return !strncmp(get_superio_name(reg_table, id), "", 9); } + const char *get_superio_name(const struct superio_registers reg_table[], uint16_t id) { @@ -93,7 +105,10 @@ static void dump_regs(const struct superio_registers reg_table[], printf(" (%s)", reg_table[i].ldn[j].name); regwrite(port, ldn_sel, reg_table[i].ldn[j].ldn); } else { - printf("Register dump:"); + if (reg_table[i].ldn[j].name == NULL) + printf("Register dump:"); + else + printf("(%s)", reg_table[i].ldn[j].name); } idx = reg_table[i].ldn[j].idx; @@ -161,13 +176,13 @@ void dump_io(uint16_t iobase, uint16_t length) { uint16_t i; - printf("Dumping %d IO mapped registers at base 0x%04x:\n", + printf("Dumping %d I/O mapped registers at base 0x%04x:\n", length, iobase); - for (i=0; i