
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@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 },