Device tree configuration for I2C eeprom

Ayman El-Khashab AymanE at tanisys.com
Wed Nov 5 06:52:28 EST 2008


Felix Radensky <mailto:felix at embedded-sol.com> said on Tuesday, November
04, 2008 10:46 AM:

>
> If you're using Denx kernel, you should add your  at24 device
> to i2c_devices[] in drivers/i2c/busses/i2c-ibm_of.c This will
> pass your device tree data to at24 driver.

I am using the Denx kernel and I see the at24 printing out in dmesg.
Here is 
my latest device tree.  Further, I changed the aforementioned file by
adding
the following lines as shown.  The at24 driver is in i2c/chips/at24.c

But I still do not see anything obvious show up that I can open to read
and
write the eeprom ... what am I missing.  I would have thought there must
be
a working example somewhere?



static struct i2c_driver_device i2c_devices[] __initdata = {
        {"ricoh,rs5c372a", "rtc-rs5c372", "rs5c372a",},
        {"ricoh,rs5c372b", "rtc-rs5c372", "rs5c372b",},
        {"ricoh,rv5c386",  "rtc-rs5c372", "rv5c386",},
        {"ricoh,rv5c387a", "rtc-rs5c372", "rv5c387a",},
        {"dallas,ds1307",  "rtc-ds1307",  "ds1307",},
        {"dallas,ds1337",  "rtc-ds1307",  "ds1337",},
        {"dallas,ds1338",  "rtc-ds1307",  "ds1338",},
        {"dallas,ds1339",  "rtc-ds1307",  "ds1339",},
        {"dallas,ds1340",  "rtc-ds1307",  "ds1340",},
        {"stm,m41t00",     "rtc-ds1307",  "m41t00"},
        {"dallas,ds1374",  "rtc-ds1374",  "rtc-ds1374",},
        {"stm,m41t80",     "rtc-m41t80",  "m41t80",},
        {"atmel,at24c128", "at24",        "at24c128",},
        {"spd,at24c02",    "at24",        "at24c02",},
};



                       IIC0: i2c at ef600700 {
                                compatible = "ibm,iic-460ex", "ibm,iic";
                                reg = <0xef600700 0x00000014>;
                                interrupt-parent = <&UIC0>;
                                interrupts = <0x2 0x4>;
                                #address-cells = <1>;
                                #size-cells = <0>;

                                at24 at 50 {
                                        compatible = "atmel,at24c128";
                                        reg = <0x50>;
                                };
                                spd at 51 {
                                        compatible = "spd,at24c02";
                                        reg = <0x51>;
                                };
                                at24 at 52 {
                                        compatible = "atmel,at24c128";
                                        reg = <0x52>;
                                };
                                at24 at 53 {
                                        compatible = "atmel,at24c128";
                                        reg = <0x53>;
                                };


More information about the Linuxppc-embedded mailing list