On Wed, Sep 21, 2022 at 08:38:42AM -0500, Nishanth Menon wrote:

> The situation is similar to commit bf6376642fe8 ("board: ti: common:
> board_detect: Fix EEPROM read quirk"). This is seen on a variant of
> eeproms seen on some BeagleBone-AI64 which now has a mix of both 1 byte
> addressing and 2 byte addressing eeproms.
> 
> Unlike the am335x (ti_i2c_eeprom_am_get) and dra7
> (ti_i2c_eeprom_dra7_get) which use constant data structure which allows
> us to do a complete read of the data, the
> am6(ti_i2c_eeprom_am6_get) eeprom parse operation is dynamic.
> 
> This removes the option of being able to read the complete eeprom data
> in one single shot.
> 
> Fortunately, on the I2C bus, we do see the following behavior: In 1
> byte mode, if we attempt to read the first header data yet again, the
> misbehaving 2 byte addressing device acts in constant addressing mode
> which results in the header not matching up and follow on attempt at 2
> byte addressing scheme grabs the correct data.
> 
> This costs us an extra ~3 milliseconds, which is a minor penalty
> compared to the consistent image support we need to have.
> 
> Reported-by: Jason Kridner <jkrid...@beagleboard.org>
> Fixes: a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address 
> checks first.")
> Signed-off-by: Nishanth Menon <n...@ti.com>

Applied to u-boot/master, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to