summaryrefslogtreecommitdiff
path: root/util/superiotool/superiotool.h
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2008-12-01 14:18:57 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2008-12-01 14:18:57 +0000
commit7a51e50582b65bb6ac54e8923470807b5975c6e1 (patch)
tree9dcf146604016608951ec22602c1782e5d467f9a /util/superiotool/superiotool.h
parentb4eb4fb6b06878c25a43458ff11cd3939d97c60e (diff)
downloadcoreboot-7a51e50582b65bb6ac54e8923470807b5975c6e1.tar.xz
The Winbond Super I/O chips have another indirection of registers. The
hwmon has generic registers and banked registers, mostly temperature handling, and SMI/GPIO stuff. Not all LDNs are switched via register offset 0x07, make it a parameter. Add support for dumping the hardware monitor of Winbond W83627THF/THG parts with the -e option. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3784 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/superiotool/superiotool.h')
-rw-r--r--util/superiotool/superiotool.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/util/superiotool/superiotool.h b/util/superiotool/superiotool.h
index 7e0ca0bd9b..e26f21c59c 100644
--- a/util/superiotool/superiotool.h
+++ b/util/superiotool/superiotool.h
@@ -73,10 +73,14 @@ and print its vendor, name, ID, revision, and config port.\n"
#define MISC -5 /* Needs special comment in output */
#define MAXLDN 0x14 /* Biggest LDN */
#define LDNSIZE (MAXLDN + 3) /* Biggest LDN + 0 + NOLDN + EOT */
-#define MAXNUMIDX 170 /* Maximum number of indexes */
+#define MAXNUMIDX 170 /* Maximum number of indices */
#define IDXSIZE (MAXNUMIDX + 1)
#define MAXNUMPORTS (6 + 1) /* Maximum number of Super I/O ports */
+/* Select registers for various components. */
+#define LDN_SEL 0x07 /* LDN select register */
+#define WINBOND_HWM_SEL 0x4e /* Hardware monitor bank select */
+
/* Command line parameters. */
extern int dump, verbose, extra_dump;
@@ -102,7 +106,7 @@ int superio_unknown(const struct superio_registers reg_table[], uint16_t id);
const char *get_superio_name(const struct superio_registers reg_table[],
uint16_t id);
void dump_superio(const char *name, const struct superio_registers reg_table[],
- uint16_t port, uint16_t id);
+ uint16_t port, uint16_t id, uint8_t ldn_sel);
void probing_for(const char *vendor, const char *info, uint16_t port);
void print_vendor_chips(const char *vendor,
const struct superio_registers reg_table[]);