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
signature.asc
Description: PGP signature