summaryrefslogtreecommitdiff
path: root/util/superiotool/smsc.c
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2007-09-19 15:52:23 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2007-09-19 15:52:23 +0000
commit7e7e9ac6078efb61ce7b531b084a410cb73e1b92 (patch)
treefc10993ca7fe651634576e800501f529e001bac0 /util/superiotool/smsc.c
parent3acf31e4eaa0f143cd8af10f5ce99523ddc53a03 (diff)
downloadcoreboot-7e7e9ac6078efb61ce7b531b084a410cb73e1b92.tar.xz
Add support for the Winbond W83697HF/F and W83627EHF/EF/EHG/EG.
Various minor fixes and improvements (trivial). 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@2789 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/superiotool/smsc.c')
-rw-r--r--util/superiotool/smsc.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/util/superiotool/smsc.c b/util/superiotool/smsc.c
index acbb4773b0..4d64a9632b 100644
--- a/util/superiotool/smsc.c
+++ b/util/superiotool/smsc.c
@@ -52,25 +52,22 @@ static void exit_conf_mode_smsc(uint16_t port)
void probe_idregs_smsc(uint16_t port)
{
- uint16_t id, rev;
+ uint8_t id, rev;
enter_conf_mode_smsc(port);
- /* Read device ID. */
id = regval(port, DEVICE_ID_REG);
- if (id != 0x28) { /* TODO: Support for other SMSC chips. */
+ rev = regval(port, DEVICE_REV_REG);
+
+ if (superio_unknown(reg_table, id)) {
no_superio_found(port);
return;
}
- /* Read chip revision. */
- rev = regval(port, DEVICE_REV_REG);
-
- printf("Found SMSC %s Super I/O (id=0x%02x, rev=0x%02x) at port=0x%04x\n",
+ printf("Found SMSC %s (id=0x%02x, rev=0x%02x) at port=0x%x\n",
get_superio_name(reg_table, id), id, rev, port);
- if (dump)
- dump_superio("SMSC", reg_table, port, id);
+ dump_superio("SMSC", reg_table, port, id);
exit_conf_mode_smsc(port);
}