2005-05-25 13:00:29

by Karel Kulhavy

[permalink] [raw]
Subject: I2C EEPROM write access

Hello

Is it possible to use some Linux I2C driver to program an I2C EEPROM,
for example 24C16?

I have noticed only read-only access to "DIMM eeproms". Are they
24C16-alike?

Is there some reason why write driver is not present like users could
inadvertently overwrite their DIMM eeproms? Do these eeproms have a
protection against write?

I am mainly interested in an application where 24C16 is in-circuit
connected to a PC and contents read and wrote (typically poking
at firmware configuration of various devices).

CL<


2005-05-25 15:07:49

by Ondrej Zary

[permalink] [raw]
Subject: Re: I2C EEPROM write access

Karel Kulhavy wrote:
> Hello
>
> Is it possible to use some Linux I2C driver to program an I2C EEPROM,
> for example 24C16?
>
> I have noticed only read-only access to "DIMM eeproms". Are they
> 24C16-alike?

SPD EEPROMs on DIMMs are 24C02.

> Is there some reason why write driver is not present like users could
> inadvertently overwrite their DIMM eeproms? Do these eeproms have a
> protection against write?

The SPD EEPROMs should not be write protected - that's what
specification says - so probably are not.

> I am mainly interested in an application where 24C16 is in-circuit
> connected to a PC and contents read and wrote (typically poking
> at firmware configuration of various devices).
>
> CL<

--
Ondrej Zary

2005-05-28 17:10:02

by Jean Delvare

[permalink] [raw]
Subject: Re: I2C EEPROM write access

Hi Karel,

Sorry for the delay.

> Is it possible to use some Linux I2C driver to program an I2C EEPROM,
> for example 24C16?

I don't think there is a driver for that. A driver isn't the only
solution to do that though.

> I have noticed only read-only access to "DIMM eeproms". Are they
> 24C16-alike?

The eeprom driver supports the 24C01, 24C02, 24C04, 24C08 and 24C16. In
other words, all models which can be read using SMBus read byte data
commands.

> Is there some reason why write driver is not present like users could
> inadvertently overwrite their DIMM eeproms?

Exactly.

> Do these eeproms have a protection against write?

Some have, but that's unrelated.

> I am mainly interested in an application where 24C16 is in-circuit
> connected to a PC and contents read and wrote (typically poking
> at firmware configuration of various devices).

You may want to look at the prog/eepromer directory of the lm_sensors
project. We have a set of user-space tools to write to EEPROMs of
various sizes. They rely on the i2c-dev driver as the user-space/kernel
interface.

--
Jean Delvare