summaryrefslogtreecommitdiff
path: root/util/superiotool/winbond.c
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2007-10-04 15:23:38 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2007-10-04 15:23:38 +0000
commit8b8d03974e11edbdbbd61c6b22d8013dca87be71 (patch)
tree2c7e18481a98fffb59960609f9c74b50d5d273a4 /util/superiotool/winbond.c
parent573ff508ab3d61ede76cd3b68aaaf7f2bdcfa34a (diff)
downloadcoreboot-8b8d03974e11edbdbbd61c6b22d8013dca87be71.tar.xz
* Convert the NSC code to the common code structure all other Super I/Os use.
* Improve the --verbose output a bit more. Print the "Probing..." text for all Super I/Os and if a Super I/O is not known, show the data we were able to read from the chip (what data this is is very vendor/chip specific). * Thus the common no_superio_found() is dropped, it's not useful. The "read from 0x20" part was wrong for all Super I/Os other than the NSC ones anyway. * Winbond: For the 'olddevid' only use bits 3..0, mask away the others. * SMSC: Print which ID registers we try to read (in --verbose mode). * Minor cosmetic fixes. * Rename PC8374 to PC8374L (as per datasheet). * Rename probe_idregs_simple() to probe_idregs_nsc(). * Rename dump_readable_ns8374() to dump_readable_pc8374l(). Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2821 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/superiotool/winbond.c')
-rw-r--r--util/superiotool/winbond.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/util/superiotool/winbond.c b/util/superiotool/winbond.c
index f45acb7873..23f9fdcf47 100644
--- a/util/superiotool/winbond.c
+++ b/util/superiotool/winbond.c
@@ -184,9 +184,11 @@ void probe_idregs_winbond_helper(const char *init, uint16_t port)
uint16_t id;
uint8_t devid, rev, olddevid;
+ probing_for("Winbond", init, port);
+
devid = regval(port, DEVICE_ID_REG);
rev = regval(port, DEVICE_REV_REG);
- olddevid = regval(port, DEVICE_ID_REG_OLD);
+ olddevid = regval(port, DEVICE_ID_REG_OLD) & 0x0f;
if (devid == 0x52)
id = devid; /* ID only */
@@ -199,7 +201,9 @@ void probe_idregs_winbond_helper(const char *init, uint16_t port)
id = olddevid & 0x0f; /* ID[3..0] */
if (superio_unknown(reg_table, id)) {
- no_superio_found("Winbond", init, port);
+ if (verbose)
+ printf(NOTFOUND "id/oldid=0x%02x/0x%02x, rev=0x%02x\n",
+ devid, olddevid, rev);
exit_conf_mode_winbond_fintek_ite_8787(port);
return;
}