diff options
author | Uwe Hermann <uwe@hermann-uwe.de> | 2007-10-04 15:23:38 +0000 |
---|---|---|
committer | Uwe Hermann <uwe@hermann-uwe.de> | 2007-10-04 15:23:38 +0000 |
commit | 8b8d03974e11edbdbbd61c6b22d8013dca87be71 (patch) | |
tree | 2c7e18481a98fffb59960609f9c74b50d5d273a4 /util/superiotool/winbond.c | |
parent | 573ff508ab3d61ede76cd3b68aaaf7f2bdcfa34a (diff) | |
download | coreboot-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.c | 8 |
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; } |