summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMatwey V. Kornilov <matwey.kornilov@gmail.com>2022-08-23 19:05:34 +0300
committerTom Rini <trini@konsulko.com>2022-08-31 19:16:01 +0300
commitbf6376642fe8295f887144999713ebe644388205 (patch)
treef7e631c4df5e82c6f14616ade660a28737af46d5 /scripts
parentcb735173e76788920fec4fdc9ee56eeb938154f9 (diff)
downloadu-boot-bf6376642fe8295f887144999713ebe644388205.tar.xz
board: ti: common: board_detect: Fix EEPROM read quirk
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@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@gmail.com> Acked-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions