[PATCH 1/2] misc: i2c_eeprom: add support for microchip 24aa025e48

Eugen.Hristev at microchip.com Eugen.Hristev at microchip.com
Tue May 10 09:44:59 CEST 2022


On 5/2/22 12:24 PM, Michael Walle wrote:
>> 24aa025e48 is a variant of 24aa02e48 that has a page size of 16 bytes.
>>
>> Signed-off-by: Eugen Hristev <eugen.hristev at microchip.com>
>> ---
>>   drivers/misc/i2c_eeprom.c | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/drivers/misc/i2c_eeprom.c b/drivers/misc/i2c_eeprom.c
>> index 89a450d0f8..265c1d0591 100644
>> --- a/drivers/misc/i2c_eeprom.c
>> +++ b/drivers/misc/i2c_eeprom.c
>> @@ -176,6 +176,13 @@ static const struct i2c_eeprom_drv_data mc24aa02e48_data = {
>>        .offset_len = 1,
>>   };
>>
>> +static const struct i2c_eeprom_drv_data mc24aa025e48_data = {
>> +     .size = 256,
>> +     .pagesize = 16,
>> +     .addr_offset_mask = 0,
>> +     .offset_len = 1,
>> +};
>> +
>>   static const struct i2c_eeprom_drv_data atmel24c01a_data = {
>>        .size = 128,
>>        .pagesize = 8,
>> @@ -264,6 +271,7 @@ static const struct i2c_eeprom_drv_data atmel24c512_data = {
>>   static const struct udevice_id i2c_eeprom_std_ids[] = {
>>        { .compatible = "i2c-eeprom", (ulong)&eeprom_data },
>>        { .compatible = "microchip,24aa02e48", (ulong)&mc24aa02e48_data },
>> +     { .compatible = "microchip,24aa025e48", (ulong)&mc24aa025e48_data },
> 
> As far as I can see, this is not a documented compatible string in the
> device tree bindings, which means u-boot is diverting again from its linux
> counterpart. (The same goes for the 24aa02e48).

Hello Michael,

I know. But I thought it was the best way rather than reusing one 
existing compatible and forcing the page size. I can do that if you feel 
it's better.

I have to check how Linux is handling this eeprom as it's using the 
at24c32 compatible which is incorrect. It may be that the at24c32 
compatible with additional properties makes the driver behaving as if 
it's a mc23aa025e48 . Which is not really right... (as the idea above)

Heiko, your thoughts ?

Eugen

> 
> -michael
> 
>>        { .compatible = "atmel,24c01", (ulong)&atmel24c01a_data },
>>        { .compatible = "atmel,24c01a", (ulong)&atmel24c01a_data },
>>        { .compatible = "atmel,24c02", (ulong)&atmel24c02_data },



More information about the U-Boot mailing list