superiotool - Super I/O detection tool
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
, 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
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
- -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
- -v, --version
- Show version information and exit.
- -h, --help
- Show a help text and exit.
Please report any bugs at
or on the coreboot
mailing list (http://coreboot.org/Mailinglist
Please see the individual source code files and/or the README file.
is covered by the GNU General Public License (GPL), either
version 2 of the License, or (at your option) any later version.