[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