superiotool man page

superiotool — Super I/O detection tool


superiotool [-delVvh]


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 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
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 on the coreboot mailing list (


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.

See Also



January 18, 2008