| 1 | .TH ISADUMP 8 "April 2011" |
|---|
| 2 | .SH NAME |
|---|
| 3 | isadump \- examine ISA registers |
|---|
| 4 | |
|---|
| 5 | .SH SYNOPSIS |
|---|
| 6 | .B isadump |
|---|
| 7 | .RB [ -y ] |
|---|
| 8 | .RB [ -W | -L ] |
|---|
| 9 | .RB [ "-k V1,V2..." ] |
|---|
| 10 | .I addrreg |
|---|
| 11 | .I datareg |
|---|
| 12 | .RI [ "bank " [ bankreg ]] |
|---|
| 13 | #for I2C-like access |
|---|
| 14 | .br |
|---|
| 15 | .B isadump |
|---|
| 16 | .B -f |
|---|
| 17 | .RB [ -y ] |
|---|
| 18 | .RB [ -W | -L ] |
|---|
| 19 | .I address |
|---|
| 20 | .RI [ "range " [ "bank " [ bankreg ]]] |
|---|
| 21 | #for flat address space |
|---|
| 22 | |
|---|
| 23 | .SH DESCRIPTION |
|---|
| 24 | isadump is a small helper program to examine registers visible through the ISA |
|---|
| 25 | bus. It is intended to probe any chip that lives on the ISA bus working with an |
|---|
| 26 | address register and a data register (I2C-like access) or a flat range (of up |
|---|
| 27 | to 256 bytes). |
|---|
| 28 | |
|---|
| 29 | .SH OPTIONS |
|---|
| 30 | .TP |
|---|
| 31 | .B -f |
|---|
| 32 | Enable flat address space mode. |
|---|
| 33 | .TP |
|---|
| 34 | .B -y |
|---|
| 35 | Disable interactive mode. By default, isadump will wait for a confirmation |
|---|
| 36 | from the user before messing with the ISA bus. When this flag is used, it |
|---|
| 37 | will perform the operation directly. This is mainly meant to be used in |
|---|
| 38 | scripts. |
|---|
| 39 | .TP |
|---|
| 40 | .B -k V1,V2... |
|---|
| 41 | Specify a comma-separated list of bytes to send as the key sequence to enter |
|---|
| 42 | the chip configuration mode. Most Super-I/O chips need this. |
|---|
| 43 | Known key sequences are: 0x87,0x01,0x55,0x55 for ITE, 0x55 for SMSC, 0x87,0x87 |
|---|
| 44 | for Winbond and VIA, none needed for National Semiconductor. |
|---|
| 45 | .TP |
|---|
| 46 | .B -W |
|---|
| 47 | Perform 16-bit reads. |
|---|
| 48 | .TP |
|---|
| 49 | .B -L |
|---|
| 50 | Perform 32-bit reads. |
|---|
| 51 | |
|---|
| 52 | .SH OPTIONS (I2C-like access mode) |
|---|
| 53 | At least two options must be provided to isadump. \fIaddrreg\fR contains the |
|---|
| 54 | ISA address of the address register for the chip to probe; \fIdatareg\fR |
|---|
| 55 | contains the address of the data register. Both addresses are integers between |
|---|
| 56 | 0x0000 and 0x3FFF. Usually, if the chip's base address is 0x0nn0, the |
|---|
| 57 | address register is at 0x0nn5 and the data register is at 0x0nn6. The most |
|---|
| 58 | common base address for hardware monitoring chips is 0x0290. |
|---|
| 59 | .PP |
|---|
| 60 | For Super-I/O chips, address register is typically at 0x2E with data |
|---|
| 61 | register at 0x2F. |
|---|
| 62 | .PP |
|---|
| 63 | The \fIbank\fR and \fIbankreg\fR parameters are useful on the Winbond chips |
|---|
| 64 | as well as on Super-I/O chips. |
|---|
| 65 | \fIbank\fR is an integer between 0 and 31, and \fIbankreg\fR is an integer |
|---|
| 66 | between 0x00 and 0xFF (default value: 0x4E for Winbond chips, 0x07 |
|---|
| 67 | for Super-I/O chips). The W83781D datasheet has more information on bank |
|---|
| 68 | selection. |
|---|
| 69 | |
|---|
| 70 | .SH OPTIONS (flat address space mode) |
|---|
| 71 | In flat mode, only one parameter is |
|---|
| 72 | mandatory. \fIaddress\fR contains the ISA address of the chip to probe; |
|---|
| 73 | it is an integer between 0x0000 and 0xFFFF. |
|---|
| 74 | If provided, \fIrange\fR is how many bytes should be read (must be a |
|---|
| 75 | multiple of 16). If the range isn't provided, it defaults to 256 bytes |
|---|
| 76 | and the address is forcibly aligned on a 256-byte boundary. |
|---|
| 77 | .PP |
|---|
| 78 | The \fIbank\fR and \fIbankreg\fR parameters are useful on the National |
|---|
| 79 | Semiconductor PC87365 and PC87366 Super-I/O chips. |
|---|
| 80 | \fIbank\fR is an integer between 0 and 31, and \fIbankreg\fR is an integer |
|---|
| 81 | between 0x00 and 0xFF (default value: 0x09; must fit in the specified |
|---|
| 82 | range). See the PC87365 datasheet for more information on bank selection. |
|---|
| 83 | |
|---|
| 84 | .SH NOTES |
|---|
| 85 | If no bank is specified, no bank change operation is performed. |
|---|
| 86 | .PP |
|---|
| 87 | If a bank is specified, the original value is restored before isadump exits. |
|---|
| 88 | .PP |
|---|
| 89 | Dumping Super-I/O chips is typically a two-step process. First, you will have |
|---|
| 90 | to access the main Super-I/O address using a command like: |
|---|
| 91 | isadump 0x2e 0x2f 0x09. |
|---|
| 92 | This will select logical device 9 (correct value depend on the chip). At 0x60 |
|---|
| 93 | you will find the logical device address word, for example "ec c0". |
|---|
| 94 | Then you can use a command like: |
|---|
| 95 | isadump -f 0xecc0 16. |
|---|
| 96 | This will dump the logical device registers. The correct range depends on |
|---|
| 97 | the chip. |
|---|
| 98 | |
|---|
| 99 | .SH WARNING |
|---|
| 100 | Poking around in ISA data space is extremely dangerous. |
|---|
| 101 | Running isadump with random parameters can cause system |
|---|
| 102 | crashes, data loss, and worse! Be extremely careful when using |
|---|
| 103 | this program. |
|---|
| 104 | |
|---|
| 105 | .SH SEE ALSO |
|---|
| 106 | i2cdump(8), isaset(8) |
|---|
| 107 | |
|---|
| 108 | .SH AUTHOR |
|---|
| 109 | Frodo Looijaard, Mark D. Studebaker, and the lm_sensors group |
|---|
| 110 | (http://www.lm-sensors.org/) |
|---|
| 111 | .PP |
|---|
| 112 | This manual page was originally written by David Z Maze <dmaze@debian.org> for |
|---|
| 113 | the Debian GNU/Linux system. It was then reviewed and augmented by the lm_sensors |
|---|
| 114 | team and is now part of the lm_sensors source distribution. |
|---|