coreboot-kgpe-d16/util/superiotool
Matt DeVillier e9786d46fa util/superiotool: reformat alternate dump output
Reformat alternate dump output to show default values before read
values, and to use brackets to visually indicate which values differ
from the defaults.

old output:

Register dump:
idx   val    def
0x07: 0x0b   (0x00)
0x10: 0xff   (0xff)
0x11: 0xff   (0xff)
...

new output:

Register dump:
idx    def    val
0x07:  0x00  [0x0b]
0x10:  0xff   0xff
0x11:  0xff   0xff
...

TEST=build/dump registers from Erying SRMJ4 w/Nuvoton NCT6796D.

Change-Id: Idef2cc136151328b114620eb297ab8fd62b71bcd
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80004
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
2024-01-18 16:48:47 +00:00
..
.gitignore
COPYING
Makefile util/superiotool: Tell compiler to use C99 instead of ANSI C 2023-09-20 14:01:09 +00:00
README
ali.c
amd.c
aspeed.c
description.md
exar.c
fintek.c
infineon.c
ite.c superiotool/ite: Add IT8784E support 2023-08-09 21:59:02 +00:00
nsc.c
nuvoton.c util/superiotool: add support for Nuvoton NCT6796D 2024-01-18 15:15:05 +00:00
pci.c
serverengines.c
smsc.c
superiotool.8
superiotool.c util/superiotool: reformat alternate dump output 2024-01-18 16:48:47 +00:00
superiotool.h util: Use common ARRAY_SIZE define 2023-05-22 19:24:27 +00:00
via.c
winbond.c

README

-------------------------------------------------------------------------------
Superiotool README
-------------------------------------------------------------------------------

Superiotool is a 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.


Installation
------------

 $ git clone https://review.coreboot.org/coreboot.git

 $ cd coreboot/util/superiotool

Optional: Edit the Makefile and set 'CONFIG_PCI = no' if you don't want to
support PCI-attached "Super I/Os" (which needs libpci-dev) such as the
VIA VT82686A/B southbridge with integrated Super I/O functionality.

 $ make

 $ sudo make install


Usage
-----

Please read the superiotool(8) manpage or type 'superiotool --help'.

Per default (no options) superiotool will just probe for a Super I/O
and print its vendor, name, ID, revision, and config port.

Typical usage of superiotool:

 - Probe/detect the Super I/O in your mainboard:

   $ superiotool

 - Register dump as table of hex-values of the Super I/O (if detected):

   $ superiotool -d


Supported Super I/O Chips
-------------------------

Please see https://www.coreboot.org/Superiotool#Supported_devices, or type

 $ superiotool -l

There's also a collection of sample register dumps from various Super I/O
chips on that web page. Please send further register dumps (either from a
proprietary BIOS and/or from coreboot) to the coreboot mailing list
(https://www.coreboot.org/Mailinglist).


Website and Mailing List
------------------------

The main website is https://www.coreboot.org/Superiotool.

For additional information, patches, and discussions, please join the
coreboot mailing list at https://www.coreboot.org/Mailinglist, where most
superiotool developers are subscribed.


Copyright and License
---------------------

Superiotool is copyrighted by a number of individual developers. Please
refer to the respective source code files for details.

It is licensed under the terms of the GNU General Public License (GPL),
either version 2 of the license, or (at your option) any later version.


Contributors
------------

Anders Juel Jensen <andersjjensen@gmail.com>
Andriy Gapon <avg@icyb.net.ua>
Arjan Koers <0h3q2rmn2bdb@list.nospam.xutrox.com>
Bingxun Shi <bingxunshi@gmail.com>
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
David Bartley <dtbartle@csclub.uwaterloo.ca>
David Hendricks <david.hendricks@gmail.com>
Edward O'Callaghan <eocallaghan@alterapraxis.com>
François-Regis Vuillemin <coreboot@miradou.com>
Frieder Ferlemann <Frieder.Ferlemann@web.de>
Idwer Vollering <idwer_v@hotmail.com>
Ioannis Barkas <tripl3fault@yahoo.com>
Josh Profitt <zorn169@gmail.com>
Luc Verhaegen <libv@skynet.be>
Michael Gold <mgold@ncf.ca>
Michał Mirosław <mirq-linux@rere.qmqm.pl>
Nicola Corna <nicola@corna.info>
Nikos Barkas <levelwol@gmail.com>
Rasmus Wiman <rasmus@wiman.org>
Robinson P. Tryon <bishop.robinson@gmail.com>
Ronald Hoogenboom <hoogenboom30@zonnet.nl>
Ronald Minnich <rminnich@gmail.com>
Sean Young <sean@mess.org>
Stefan Reinauer <stepan@coresystems.de>
Tom Sylla <tsylla@gmail.com>
Ulf Jordan <jordan@chalmers.se>
Urja Rannikko <urjaman@gmail.com>
Uwe Hermann <uwe@hermann-uwe.de>
Ward Vandewege <ward@gnu.org>
Wilbert Duijvenvoorde <w.a.n.duijvenvoorde@gmail.com>