Blame prog/dump/isadump.8

Packit 53d5b6
.TH ISADUMP 8 "April 2011"
Packit 53d5b6
.SH NAME
Packit 53d5b6
isadump \- examine ISA registers
Packit 53d5b6
Packit 53d5b6
.SH SYNOPSIS
Packit 53d5b6
.B isadump
Packit 53d5b6
.RB [ -y ]
Packit 53d5b6
.RB [ -W | -L ]
Packit 53d5b6
.RB [ "-k V1,V2..." ]
Packit 53d5b6
.I addrreg
Packit 53d5b6
.I datareg
Packit 53d5b6
.RI [ "bank " [ bankreg ]]
Packit 53d5b6
#for I2C-like access
Packit 53d5b6
.br
Packit 53d5b6
.B isadump
Packit 53d5b6
.B -f
Packit 53d5b6
.RB [ -y ]
Packit 53d5b6
.RB [ -W | -L ]
Packit 53d5b6
.I address
Packit 53d5b6
.RI [ "range " [ "bank " [ bankreg ]]]
Packit 53d5b6
#for flat address space
Packit 53d5b6
Packit 53d5b6
.SH DESCRIPTION
Packit 53d5b6
isadump is a small helper program to examine registers visible through the ISA
Packit 53d5b6
bus. It is intended to probe any chip that lives on the ISA bus working with an
Packit 53d5b6
address register and a data register (I2C-like access) or a flat range (of up
Packit 53d5b6
to 256 bytes).
Packit 53d5b6
Packit 53d5b6
.SH OPTIONS
Packit 53d5b6
.TP
Packit 53d5b6
.B -f
Packit 53d5b6
Enable flat address space mode.
Packit 53d5b6
.TP
Packit 53d5b6
.B -y
Packit 53d5b6
Disable interactive mode. By default, isadump will wait for a confirmation
Packit 53d5b6
from the user before messing with the ISA bus. When this flag is used, it
Packit 53d5b6
will perform the operation directly. This is mainly meant to be used in
Packit 53d5b6
scripts.
Packit 53d5b6
.TP
Packit 53d5b6
.B -k V1,V2...
Packit 53d5b6
Specify a comma-separated list of bytes to send as the key sequence to enter
Packit 53d5b6
the chip configuration mode. Most Super-I/O chips need this.
Packit 53d5b6
Known key sequences are: 0x87,0x01,0x55,0x55 for ITE, 0x55 for SMSC, 0x87,0x87
Packit 53d5b6
for Winbond and VIA, none needed for National Semiconductor.
Packit 53d5b6
.TP
Packit 53d5b6
.B -W
Packit 53d5b6
Perform 16-bit reads.
Packit 53d5b6
.TP
Packit 53d5b6
.B -L
Packit 53d5b6
Perform 32-bit reads.
Packit 53d5b6
Packit 53d5b6
.SH OPTIONS (I2C-like access mode)
Packit 53d5b6
At least two options must be provided to isadump. \fIaddrreg\fR contains the
Packit 53d5b6
ISA address of the address register for the chip to probe; \fIdatareg\fR
Packit 53d5b6
contains the address of the data register. Both addresses are integers between
Packit 53d5b6
0x0000 and 0x3FFF. Usually, if the chip's base address is 0x0nn0, the
Packit 53d5b6
address register is at 0x0nn5 and the data register is at 0x0nn6. The most
Packit 53d5b6
common base address for hardware monitoring chips is 0x0290.
Packit 53d5b6
.PP
Packit 53d5b6
For Super-I/O chips, address register is typically at 0x2E with data
Packit 53d5b6
register at 0x2F.
Packit 53d5b6
.PP
Packit 53d5b6
The \fIbank\fR and \fIbankreg\fR parameters are useful on the Winbond chips
Packit 53d5b6
as well as on Super-I/O chips.
Packit 53d5b6
\fIbank\fR is an integer between 0 and 31, and \fIbankreg\fR is an integer
Packit 53d5b6
between 0x00 and 0xFF (default value: 0x4E for Winbond chips, 0x07
Packit 53d5b6
for Super-I/O chips). The W83781D datasheet has more information on bank
Packit 53d5b6
selection.
Packit 53d5b6
Packit 53d5b6
.SH OPTIONS (flat address space mode)
Packit 53d5b6
In flat mode, only one parameter is
Packit 53d5b6
mandatory. \fIaddress\fR contains the ISA address of the chip to probe;
Packit 53d5b6
it is an integer between 0x0000 and 0xFFFF.
Packit 53d5b6
If provided, \fIrange\fR is how many bytes should be read (must be a
Packit 53d5b6
multiple of 16). If the range isn't provided, it defaults to 256 bytes
Packit 53d5b6
and the address is forcibly aligned on a 256-byte boundary.
Packit 53d5b6
.PP
Packit 53d5b6
The \fIbank\fR and \fIbankreg\fR parameters are useful on the National
Packit 53d5b6
Semiconductor PC87365 and PC87366 Super-I/O chips.
Packit 53d5b6
\fIbank\fR is an integer between 0 and 31, and \fIbankreg\fR is an integer
Packit 53d5b6
between 0x00 and 0xFF (default value: 0x09; must fit in the specified
Packit 53d5b6
range). See the PC87365 datasheet for more information on bank selection.
Packit 53d5b6
Packit 53d5b6
.SH NOTES
Packit 53d5b6
If no bank is specified, no bank change operation is performed.
Packit 53d5b6
.PP
Packit 53d5b6
If a bank is specified, the original value is restored before isadump exits.
Packit 53d5b6
.PP
Packit 53d5b6
Dumping Super-I/O chips is typically a two-step process. First, you will have
Packit 53d5b6
to access the main Super-I/O address using a command like:
Packit 53d5b6
isadump 0x2e 0x2f 0x09.
Packit 53d5b6
This will select logical device 9 (correct value depend on the chip). At 0x60
Packit 53d5b6
you will find the logical device address word, for example "ec c0".
Packit 53d5b6
Then you can use a command like:
Packit 53d5b6
isadump -f 0xecc0 16.
Packit 53d5b6
This will dump the logical device registers. The correct range depends on
Packit 53d5b6
the chip.
Packit 53d5b6
Packit 53d5b6
.SH WARNING
Packit 53d5b6
Poking around in ISA data space is extremely dangerous.
Packit 53d5b6
Running isadump with random parameters can cause system
Packit 53d5b6
crashes, data loss, and worse!  Be extremely careful when using
Packit 53d5b6
this program.
Packit 53d5b6
Packit 53d5b6
.SH SEE ALSO
Packit 53d5b6
i2cdump(8), isaset(8)
Packit 53d5b6
Packit 53d5b6
.SH AUTHOR
Packit 53d5b6
Frodo Looijaard, Mark D. Studebaker, and the lm_sensors group
Packit Service 5377e5
(https://hwmon.wiki.kernel.org/lm_sensors)
Packit 53d5b6
.PP
Packit 53d5b6
This manual page was originally written by David Z Maze <dmaze@debian.org> for
Packit 53d5b6
the Debian GNU/Linux system. It was then reviewed and augmented by the lm_sensors
Packit 53d5b6
team and is now part of the lm_sensors source distribution.