Provided by: i2c-tools_4.1-2_amd64 bug


       i2cdump - examine I2C registers


       i2cdump [-f] [-r first-last] [-y] [-a] i2cbus address [mode [bank [bankreg]]]
       i2cdump -V


       i2cdump is a small helper program to examine registers visible through the I2C bus.


       -V     Display the version and exit.

       -f     Force  access  to  the  device even if it is already busy. By default, i2cdump will
              refuse to access a device which is already under the control of  a  kernel  driver.
              Using  this  flag  is  dangerous,  it  can  seriously  confuse the kernel driver in
              question. It can also cause i2cdump to return invalid results. So use at  your  own
              risk and only if you know what you're doing.

       -r first-last
              Limit  the  range  of  registers being accessed. This option is only available with
              modes b, w, c and W. For mode W, first must be even and last must be odd.

       -y     Disable interactive mode. By default, i2cdump will wait for a confirmation from the
              user  before  messing with the I2C bus. When this flag is used, it will perform the
              operation directly. This is mainly meant to be used in scripts.

       -a     Allow using addresses between 0x00 - 0x02 and 0x78 - 0x7f. Not recommended.

       At least two options must be provided to i2cdump. i2cbus indicates the number or  name  of
       the  I2C  bus  to be scanned. This number should correspond to one of the busses listed by
       i2cdetect -l. address indicates the address to be scanned on that bus, and is  an  integer
       between 0x03 and 0x77.

       The  mode parameter, if specified, is one of the letters b, w, s, or i, corresponding to a
       read size of a single byte, a 16-bit word, an SMBus block, an I2C block, respectively. The
       c  mode  is  a little different, it reads all bytes consecutively, and is useful for chips
       that have an address auto-increment feature, such as EEPROMs. The W mode is also  special,
       it  is  similar  to  w  except  that  a  read command will only be issued on even register
       addresses; this is again mainly useful for EEPROMs.

       A p can also be appended to the mode parameter (except for i and W) to enable PEC. If  the
       mode parameter is omitted, i2cdump defaults to byte access without PEC.

       The  bank  and bankreg parameters are useful on the W83781D and similar chips (at the time
       of writing, all Winbond and Asus chips).  bank is an integer between 0 and 7, and  bankreg
       is an integer between 0x00 and 0xFF (default value: 0x4E). The W83781D data sheet has more
       information on bank selection.


       i2cdump can be dangerous if used improperly. Most notably, the c mode starts with  WRITING
       a byte to the chip. On most chips it will be stored in the address pointer register, which
       is OK, but some chips with a single register or no (visible) register  at  all  will  most
       likely  see  this as a real WRITE, resulting in possible misbehavior or corruption. Do not
       use i2cdump on random addresses. Anyway,  it  is  of  little  use  unless  you  have  good
       knowledge of the chip you're working with and an idea of what you are looking for.


       Dump  the  whole  contents of I2C device at 7-bit address 0x50 on bus 9 (i2c-9), using the
       default read method (byte mode), after user confirmation:
              # i2cdump 9 0x50

       Immediately dump the whole contents of I2C device at 7-bit address 0x50 on bus 9  (i2c-9),
       using I2C block read transactions (no user confirmation):
              # i2cdump -y 9 0x50 i
       If  the  device  is  an  EEPROM,  the  output would typically be the same as output of the
       previous example.

       Dump registers 0x00 to 0x3f of the I2C device at 7-bit address  0x2d  on  bus  1  (i2c-1),
       using the default read method (byte mode), after user confirmation:
              # i2cdump -r 0x00-0x3f 1 0x2d

       Dump  the  registers of the SMBus device at address 0x69 on bus 0 (i2c-0), using one SMBus
       block read transaction with error checking enabled, after user confirmation:
              # i2cdump 0 0x69 sp


       i2cdetect(8), i2cget(8), i2cset(8), i2ctransfer(8), isadump(8)


       Frodo Looijaard, Mark D. Studebaker and Jean Delvare

       This manual page was originally written by David Z Maze <> for the  Debian
       GNU/Linux system.

                                           October 2017                                I2CDUMP(8)