* 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

@@ -155,18 +155,14 @@ void dump_superio_readable(uint16_t port)
printf("No human-readable dump available for this Super I/O\n");
}
void no_superio_found(const char *vendor, const char *info, uint16_t port)
void probing_for(const char *vendor, const char *info, uint16_t port)
{
if (!verbose)
return;
if (inb(port) == 0xff)
/* Yes, there's no space between '%s' and 'at'! */
printf("Probing for %s Super I/O %sat 0x%x... failed\n",
vendor, info, port);
else
printf("Probing 0x%x, failed (0x%02x), data returns 0x%02x\n",
port, inb(port), inb(port + 1));
/* Yes, there's no space between '%s' and 'at'! */
printf("Probing for %s Super I/O %sat 0x%x...\n",
vendor, info, port);
}
static void print_version(void)