Re: i2cset question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Javi,

On Wed, 17 Oct 2012 12:07:40 +0000 (UTC), Javi wrote:
> I have the same problem than Chris.

Actually I suspect this is a different problem.

> I am working with an ALIX motherboard with 
> voyage linux distribution and I have connected a 24LC64 eeprom. When I try to 
> write the epprom with i2cset command it doesn't work.

Because the 24LC64 uses a two-byte addressing model, while SMBus uses a
one-byte addressing model. This means you can't use this type of EEPROM
with an SMBus controller [1]. You need a full-featured I2C controller.
You may be able to achieve that on your system by using the scx200_i2c
driver instead of scx200_acb driver, or by using an extra pair of GPIO
pins with i2c-gpio.

If this isn't an option for you then you'll have to use a different
EEPROM model. AFAIK the 24C16 is the largest one using single-byte
addressing (it uses all 8 I2C addresses 0x50-0x57, and 256 * 8 * 8 =
16K.)

Note that you can't use i2cdump, i2cget and i2cset with 2-byte
addressed EEPROMs. You'll have to try the dedicated tools under
eepromer in the i2c-tools package [2]. For 2-byte addressed EEPROMs you
want either eeprog or eepromer. I seem to recall eeprog implements the
tricks described below for 2-byte addressed EEPROMs over SMBus.

[1] Actually you can write to such an EEPROM by abusing SMBus write
    transactions. All you have to do is pass the second address byte as
    the first data byte of either an SMBus write word transaction or,
    if your SMBus controller supports it, an I2C block write
    transaction. Then shift all data bytes by one position. For reads,
    you could use an SMBus write byte transaction to set the address
    and then SMBus receive byte transactions in a loop to retrieve the
    data bytes one by one. However this is racy and slow.

[2] Note that the primary hosting site for i2c-tools is currently down,
    you can use my mirror if needed:
    http://khali.linux-fr.org/mirror/i2c-tools/

-- 
Jean Delvare
http://khali.linux-fr.org/wishlist.html
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux