[PATCH] board: ti: common: board_detect: Fix EEPROM read quirk

Tom Rini trini at konsulko.com
Thu Sep 1 01:33:51 CEST 2022


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 <nm at ti.com>
> Fixes: a58147c2dbbf ("board: ti: common: board_detect: Do 1byte address checks first.")
> Reference: https://lore.kernel.org/all/CAJs94Ebdd4foOjhGFu9Bop0v=B1US9neDLxfhgcY23ukgLzFOQ@mail.gmail.com/
> Signed-off-by: Matwey V. Kornilov <matwey.kornilov at gmail.com>
> Acked-by: Nishanth Menon <nm at ti.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20220831/b3e761e5/attachment.sig>


More information about the U-Boot mailing list