On Tue, Aug 23, 2022 at 07:05:34PM +0300, Matwey V. Kornilov wrote:

> There are three different kinds of EEPROM possibly present on boards.
>   1. 1byte address. For those we should avoid 2byte address in order
>      not to rewrite the data. Second byte of the address can potentially
>      be interpreted as the data to write.
>   2. 2byte address with defined behaviour. When we try to use 1byte
>      address they just return "FF FF FF FF ... FF"
>   3. 2byte address with undefined behaviour (for instance, 24LC32AI).
>      When we try to use 1byte address, then their internal read
>      pointer is changed to some value. Subsequential reads may be
>      broken.
> 
> To gracefully handle both case #1 and case #3 we read all required
> data from EEPROM at once (about 80 bytes). So either all the data is
> valid or we fallback to 2byte address.
> 
> Cc: Nishanth Menon <n...@ti.com>
> Fixes: a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address 
> checks first.")
> Reference: 
> https://lore.kernel.org/all/CAJs94Ebdd4foOjhGFu9Bop0v=b1us9nedlxfhgcy23ukglz...@mail.gmail.com/
> Signed-off-by: Matwey V. Kornilov <matwey.korni...@gmail.com>
> Acked-by: Nishanth Menon <n...@ti.com>

Applied to u-boot/master, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to