.TH SUPERIOTOOL 8 "January 18, 2008"
.SH NAME
superiotool \- Super I/O detection tool
.SH SYNOPSIS
.B superiotool \fR[\fB\-delVvh\fR]
.SH DESCRIPTION
.B superiotool
is a GPL'd user-space utility which can
.PP
 * detect which Super I/O chip is soldered onto your mainboard,
.PP
 * at which configuration port it's located (usually 0x2e or 0x4e), and
.PP
 * dump all register contents of the Super I/O chip, together with the
   default values as per datasheet (to make comparing the values easy).
.PP
It is mainly used for coreboot development purposes (see coreboot.org
for details on coreboot), but it may also be useful for other things.
.PP
The list of supported Super I/O chips is available at
.BR https://coreboot.org/Superiotool#Supported_devices ","
but it can also be viewed by running
.BR "superiotool -l" "."
.SH OPTIONS
If no command line option is specified,
.B superiotool
merely tries to detect the Super I/O chip.
You must use the
.B "\-d"
option to dump the Super I/O register contents.
.TP
.B "\-d, \-\-dump"
Dump Super I/O registers (if the Super I/O chip is detected and
.B superiotool
supports the
.B "\-\-dump"
option for this chip). The output will look something like this:
.sp
.B "$ superiotool -d"
.br
Found SMSC FDC37N769 (id=0x28, rev=0x01) at 0x3f0
.br
Register dump:
.br
idx 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11...
.br
val 20 90 80 f4 00 00 ff 00 00 00 40 00 0e 28 01 00 00 00...
.br
def 28 9c 88 70 00 00 ff 00 00 00 00 00 02 28 NA 00 00 80...
.sp
The
.B idx
fields contain the register numbers/indexes of the Super I/O, the
.B val
fields contain the contents of the respective register as read from the
Super I/O, and the
.B def
fields contain the default values for the respective register, as specified
in the datasheet.
.sp
The numbers in the output are all in hex format, and some special values
may also occur:
.BR NA " stands for"
.I "not available"
(i.e., the datasheet doesn't specify a default value for the respective
register),
.BR RR " means"
.I reserved
(the datasheet explicitly marks this register as reserved), and
.BR MM " means"
.IR misc ,
which can mean several things. It's recommended to consult the datasheet for
detailed information about the
.BR MM " fields."
.TP
.B "\-e, \-\-extra-dump"
Dump extra secondary register contents too, if available. Only in combination
with the
.B --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
.B --dump
option.
.TP
.B "\-l, \-\-list-supported"
List all Super I/O chips recognized by
.BR superiotool ". The phrase"
.BR "(dump available)"
following a chip name indicates that
.B superiotool
supports the
.B --dump
option for this chip.
.TP
.B "\-V, \-\-verbose"
Enable verbose mode. This option can be used together with the
.BR "\-d" " option."
.sp
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.
.TP
.B "\-v, \-\-version"
Show version information and exit.
.TP
.B "\-h, \-\-help"
Show a help text and exit.
.SH BUGS
Please report any bugs on the coreboot mailing list
.RB "(" https://coreboot.org/Mailinglist ")."
.SH AUTHORS
Please see the individual source code files and/or the README file.
.SH LICENCE
.B superiotool
is covered by the GNU General Public License (GPL), either version 2 of
the License, or (at your option) any later version.
.SH SEE ALSO
.BR sensors-detect (8)
