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

Heiko Schocher hs at denx.de
Tue May 10 10:46:27 CEST 2022


Hello Eugen,

On 10.05.22 09:44, Eugen.Hristev at microchip.com wrote:
> 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 ?

Best would be to find out, what linux do.

I think, you should have the same problem with linux?

So I think, best would be to introduce this 2 compatible strings also
in linux and add of course the correct settings for "24aa025e48".

bye,
Heiko
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: hs at denx.de


More information about the U-Boot mailing list