On Tue, Dec 13, 2022 at 11:57:34AM +0530, Neha Malcom Francis wrote:
> EEPROM detection logic in ti_i2c_eeprom_get() involves figuring out
> whether addressing is 1-byte or 2-byte. There are currently different
> behaviours seen across boards as documented in commit bf6376642fe8
> ("board: ti: common: board_detect: Fix EEPROM read quirk"). Adding to
> the list, we see that there are 2-byte EEPROMs that read properly
> with 1-byte addressing with no offset.
>
> For ti_i2c_eeprom_am6_get where eeprom parse operation is dynamic, the
> earlier commit d2ab2a2bafd5 ("board: ti: common: board_detect: Fix
> EEPROM read quirk for AM6 style data") tried to resolve this by running
> ti_i2c_eeprom_get() twice. However this commit along with its former
> commit fails on J7 platforms where EEPROM successfully return back the
> header on 1-byte addressing and continues to do so until an offset is
> introduced. So the second read incorrectly determines the EEPROM as
> 1-byte addressing.
>
> A more generic solution is introduced here to solve
> this issue: 1-byte read without offset and 1-byte read with offset. If
> both passes, it follows 1-byte addressing else we proceed with 2-byte
> addressing check.
>
> Tested on J721E, J7200, DRA7xx, AM64x
>
> Signed-off-by: Neha Malcom Francis <[email protected]>
> Fixes: d2ab2a2bafd5 (board: ti: common: board_detect: Fix EEPROM read quirk
> for AM6 style data)
> Fixes: bf6376642fe8 (board: ti: common: board_detect: Fix EEPROM read quirk)
> Tested-By: Matwey V. Kornilov <[email protected]>Applied to u-boot/next, thanks! -- Tom
signature.asc
Description: PGP signature

