superiotool - Super I/O detection tool
superiotool is a GPL'd user-space utility which can
* detect which Super I/O chip is soldered onto your mainboard,
* at which configuration port it's located (usually 0x2e or 0x4e), and
* dump all register contents of the Super I/O chip, together with the
default values as per datasheet (to make comparing the values easy).
It is mainly used for coreboot development purposes (see
coreboot.org for details on coreboot), but it may also be useful for other
things.
The list of supported Super I/O chips is available at
http://coreboot.org/Superiotool#Supported_devices, but it can also be
viewed by running superiotool -l.
If no command line option is specified, superiotool merely tries to
detect the Super I/O chip. You must use the -d option to dump the Super
I/O register contents.
- -d, --dump
- Dump Super I/O registers (if the Super I/O chip is detected and
superiotool supports the --dump option for this chip). The
output will look something like this:
$ superiotool -d
Found SMSC FDC37N769 (id=0x28, rev=0x01) at 0x3f0
Register dump:
idx 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11...
val 20 90 80 f4 00 00 ff 00 00 00 40 00 0e 28 01 00 00 00...
def 28 9c 88 70 00 00 ff 00 00 00 00 00 02 28 NA 00 00 80...
The idx fields contain the register numbers/indexes of
the Super I/O, the val fields contain the contents of the
respective register as read from the Super I/O, and the def
fields contain the default values for the respective register, as
specified in the datasheet.
The numbers in the output are all in hex format, and some
special values may also occur: NA stands for not available
(i.e., the datasheet doesn't specify a default value for the respective
register), RR means reserved (the datasheet explicitly
marks this register as reserved), and MM means misc, which
can mean several things. It's recommended to consult the datasheet for
detailed information about the MM fields.
- -e, --extra-dump
- Dump extra secondary register contents too, if available. Only in
combination with the --dump option. This option will, for instance,
dump the environmental controller (EC) configuration registers for the ITE
IT8716F chip. The format is similar to the output of the --dump
option.
- -l, --list-supported
- List all Super I/O chips recognized by superiotool. The phrase
(dump available) following a chip name indicates that
superiotool supports the --dump option for this chip.
- -V, --verbose
- Enable verbose mode. This option can be used together with the -d
option.
The verbose output will not only list for which type of Super
I/O the tool is scanning, but also at which configuration port it's
probing, and which Super I/O initialization sequence is used. If no
Super I/O was detected in a probing run, the returned output will be
shown, as it may be useful for figuring out which (currently
unrecognized) Super I/O chip this may be.
- -v, --version
- Show version information and exit.
- -h, --help
- Show a help text and exit.
Please report any bugs at
http://tracker.coreboot.org/trac/coreboot/newticket or on the coreboot
mailing list (http://coreboot.org/Mailinglist).
Please see the individual source code files and/or the README file.
superiotool is covered by the GNU General Public License (GPL), either
version 2 of the License, or (at your option) any later version.