* 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
This commit is contained in:
Uwe Hermann
2007-10-04 15:23:38 +00:00
parent 573ff508ab
commit 8b8d03974e
8 changed files with 77 additions and 46 deletions

View File

@@ -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;
}