
Wolfgang Denk wrote:
Dear Grzegorz Bernacki,
In message 49BA2C42.5080903@semihalf.com you wrote:
Is such a scenario (MAC address split across 2 different EEPROM devices) possible (and supported) on these systems?
I think it is possible, cause whole eeprom is threated as a one continuous area. Moreover, this function is called only if ethaddr environment variable is not set, so not very often. I don't think optimizing it is worth risk of reading incorrect ethernet address.
You mean, there is actually only *one* phyical EEPROM chip on the board? Then the I2C driver is supposed to support reading / writing accross page boundaries.
Yes, it is one physical chip divided into 4 blocks. The chip is organized so that accessing different blocks requires using different i2c slave addresses, effectively making the chip appear as several i2c slaves. The logic to handle such addressing is already implemented in the eeprom access functions in the common/cmd_eeprom.c. Next version of the patch will just use that existing read method.
regards, Grzesiek