u-boot/board
Matwey V. Kornilov bf6376642f 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: a58147c2db ("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>
2022-08-31 12:16:01 -04:00
..
abilis/tb100 reset: Remove addr parameter from reset_cpu() 2021-03-02 14:03:02 -05:00
advantech imx: imx8mp_rsb3720a1: fix incorrect ifdef check on SPL_MMC 2022-08-04 15:32:20 -04:00
alliedtelesis arm: mvebu: mbus: Fix mbus driver to work also after U-Boot relocation 2022-08-23 12:35:37 +02:00
altera Merge branch '2021.04-rc' of https://github.com/lftan/u-boot 2021-01-15 07:55:11 -05:00
amarula/vyasa-rk3288 common: Move serial functions out of common.h 2019-12-02 18:23:11 -05:00
amlogic MAINTAINERS: Update email of Neil Armstrong 2022-08-20 16:17:50 -04:00
AndesTech/ax25-ae350 riscv: ae350: Fix XIP config boot failure 2022-08-11 18:46:07 +08:00
aries/mcvevk
aristainetos led: Drop led_default_state() 2022-04-28 09:26:44 -04:00
armadeus/opos6uldev opos6uldev: Migrate to using CONFIG_EXTRA_ENV_TEXT 2022-06-28 17:11:48 -04:00
armltd net: Remove smc91111 ethernet driver 2022-08-12 16:10:50 -04:00
aspeed configs: aspeed: Add defconfig for AST2600 EVB 2021-01-18 15:23:06 -05:00
astro/mcf5373l fpga: Remove CONFIG_FPGA_COUNT 2022-06-28 17:11:48 -04:00
atmel net: ks8851_mll: Remove legacy non-DM_ETH code and callers 2022-08-20 21:18:15 -04:00
avionic-design common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
beacon nxp: Make board/freescale/common/Kconfig safe to include once in arch/Kconfig 2022-07-05 17:03:02 -04:00
beckhoff/mx53cx9020 arm: Disable ATAGs support 2021-09-07 16:22:30 -04:00
birdland/bav335x arm: Remove bav335x board 2020-07-09 20:58:05 +05:30
bitmain/antminer_s9 xilinx: Introduce board_late_init_xilinx() 2020-04-27 13:57:17 +02:00
bluewater/gurnard arm: Remove snapper9260 board 2022-08-12 16:10:50 -04:00
bosch bosch: Add initial board support for ACC 2022-05-20 12:36:48 +02:00
boundary/nitrogen6x net: phy: don't require PHY interface mode during PHY creation 2022-04-10 08:44:13 +03:00
broadcom arm: bcmbca: introduce the bcmbca architecture and 47622 SOC 2022-06-10 13:37:32 -04:00
bsh/imx8mn_smm_s2 nxp: Make board/freescale/common/Kconfig safe to include once in arch/Kconfig 2022-07-05 17:03:02 -04:00
bticino/mamoj common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
buffalo/lsxl board: lsxl: update the README 2022-08-23 12:40:34 +02:00
BuR board/BuR/*: replace maintainer of BuR boards 2022-07-01 16:00:36 -04:00
BuS/eb_cpu5282 global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
cadence/xtfpga Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
calao/usb_a9263 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cavium/thunderx pci: Drop pci_init_board() 2021-08-06 08:26:48 -04:00
cei/cei-tk1-som
chipspark/popmetal_rk3288 board: rk3288: add more DT files to MAINTAINERS 2022-04-18 11:25:13 +08:00
cloudengines arm: kirkwood: Pogoplug E02 : Convert Ethernet to Driver Model 2022-02-10 07:12:16 +01:00
cobra5272 Convert CONFIG_SYS_FLASH_ERASE_TOUT et al to Kconfig 2022-08-04 16:18:47 -04:00
compal/paz00 common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
compulab arm: Remove cm_t335 board 2022-08-20 21:18:15 -04:00
comtrend
congatec arch/Kconfig.nxp: Re-organize slightly 2022-07-05 17:04:01 -04:00
coreboot x86: Correct the coreboot header file in MAINTAINERS 2022-03-14 15:20:40 +08:00
cortina armv8: Fix and simplify branch_if_master/branch_if_slave 2022-03-02 13:59:29 -05:00
cssi linker_lists: Rename sections to remove . prefix 2022-06-23 12:58:18 -04:00
CZ.NIC arm: mvebu: turris_mox: Set "sfp" label in eth1 DT node when only Mox SFP is detected 2022-08-23 12:35:37 +02:00
d-link/dns325 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
data_modul/imx8mm_edm_sbc ARM: imx: Switch Data Modul i.MX8M Mini eDM SBC to USB251x Hub driver 2022-06-28 15:24:31 +02:00
davinci/da8xxevm linker_lists: Rename sections to remove . prefix 2022-06-23 12:58:18 -04:00
devboards/dbm-soc1
dfi scripts: Makefile.lib: generate dsdt_generated.c instead of dsdt.c 2022-02-25 11:21:24 -05:00
dhelectronics ARM: stm32: DH: Use common MAC address functions 2022-08-12 16:10:49 -04:00
ea imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
ebv/socrates
eets/pdu001 serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
efi efi: Add video support to the app 2021-11-07 18:36:55 +01:00
egnite/ethernut5 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
elgin/elgin_rv1108 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
embest/mx6boards serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
emulation qemu-ppce500: Move CONFIG_SYS_PCI_MAP_{START, END} to board code 2022-07-05 17:05:00 -04:00
engicam nxp: Make board/freescale/common/Kconfig safe to include once in arch/Kconfig 2022-07-05 17:03:02 -04:00
esd/meesc global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
firefly treewide: fdt: Move fdt_get_config_... to ofnode_conf_read... 2021-09-25 09:46:15 -06:00
freescale ls1021aqds/ls1021aiot: Remove legacy non-DM_ETH code 2022-08-20 21:18:15 -04:00
friendlyarm Rename CONFIG_PWM to CONFIG_PWM_S5P and move to Kconfig 2022-07-05 17:03:01 -04:00
gardena Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
gateworks gw_ventana: Migrate to using CONFIG_EXTRA_ENV_TEXT 2022-06-28 17:11:49 -04:00
gdsys powerpc: Move CONFIG_SYS_DDR_SIZE to CONFIG_SYS_SDRAM_SIZE 2022-08-04 16:18:47 -04:00
ge Remove CONFIG_BOARDNAME and CONFIG_BOARD_NAME 2022-04-01 10:28:46 -04:00
geekbuying/geekbox
google chameleonv3: Add MAINTAINERS file 2022-07-01 15:55:54 -04:00
grinn Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
hardkernel/odroid_go2 rockchip: board: add Hardkernel Odroid Go2 board 2020-07-22 20:21:23 +08:00
highbank sandbox: Remove OF_HOSTFILE 2021-10-27 16:38:26 -04:00
hisilicon WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
hoperun/hihope-rzg2 arm: use the correct prototype for reset_cpu function 2021-07-28 19:30:22 -04:00
hpe/gxp gxp: Convert to text file environment 2022-06-22 21:30:05 -04:00
huawei/hg556a
imgtec malta: Switch to using CONFIG_SYS_SDRAM_SIZE 2022-08-04 16:18:47 -04:00
intel board: .gitignore: replace dsdt.c by dsdt_generated.c 2022-03-08 08:42:43 -05:00
inversepath/usbarmory arm: Disable ATAGs support 2021-09-07 16:22:30 -04:00
iomega/iconnect arm: kirkwood: iConnect : Add Ethernet support 2022-02-10 07:12:16 +01:00
is1
isee igep00x0: Disable networking 2022-08-20 21:18:15 -04:00
k+p led: Drop led_default_state() 2022-04-28 09:26:44 -04:00
keymile powerpc: remove support for kmtergr1 and MPC8309 2022-08-20 22:45:00 -04:00
kobol/helios4 arm: mvebu: Load U-Boot proper binary in SPL code based on kwbimage header 2021-07-31 09:59:58 +02:00
kontron Merge branch 'next' 2022-07-11 14:58:57 -04:00
kosagi/novena common: Drop display_options.h from common header 2022-08-10 13:46:55 -04:00
l+g/vinco vinco: Remove legacy non-DM_ETH code 2022-08-20 21:18:15 -04:00
LaCie arm: Remove edminiv2 board 2022-08-20 21:18:15 -04:00
lego/ev3 legoev3: Migrate to DM_I2C 2022-07-08 17:57:34 -04:00
lg/sniper arm: Disable ATAGs support 2021-09-07 16:22:30 -04:00
liebherr arm: xea: config: Provide special defconfig for a single binary u-boot 2022-02-05 13:38:39 +01:00
logicpd Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
Marvell MAINTAINERS: add myself as Methode maintainer 2022-07-21 10:14:04 +02:00
maxbcm arm: mvebu: mbus: Fix mbus driver to work also after U-Boot relocation 2022-08-23 12:35:37 +02:00
mediatek mips: mtmips: add two reference boards for mt7621 2022-07-13 23:03:37 +02:00
menlo ARM: imx: mx5: Convert MX53 Menlo board to DM I2C and DM RTC 2022-05-23 11:37:58 +02:00
microchip riscv: Update Microchip MPFS Icicle Kit support 2021-12-02 16:43:52 +08:00
mikrotik/crs3xx-98dx3236 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mqmaker/miqi_rk3288 board: rk3288: add more DT files to MAINTAINERS 2022-04-18 11:25:13 +08:00
mscc led: Drop led_default_state() 2022-04-28 09:26:44 -04:00
myir/mys_6ulx common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
netgear common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
nokia/rx51 Nokia RX-51: Move board required options from defconfig to Kconfig 2022-08-20 16:18:40 -04:00
novtech/meerkat96 imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
nuvoton/poleg_evb arm: nuvoton: Add support for Nuvoton NPCM750 BMC 2022-05-05 09:28:47 -04:00
nvidia ARM: tegra: Refactor DT update helpers 2021-10-13 14:18:30 -07:00
olimex/mx23_olinuxino mx23_olinuxino: convert MMC to driver model 2021-04-08 23:59:50 +02:00
opalkelly/zynq WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
openpiton/riscv64 riscv: dts: add OpenPiton RISC-V board dts support 2021-07-07 20:34:02 +08:00
out4/o4-imx6ull-nano imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
phytec Restore pcm051_rev3_defconfig config 2022-08-20 16:40:14 -04:00
phytium arm: add initial support for the Phytium Pomelo Board 2022-03-10 13:57:04 -05:00
pine64 rockchip: Add initial support for the Pinebook Pro laptop from Pine64. 2020-05-31 22:22:07 +08:00
qca Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
qualcomm board: qualcomm: Add support for QCS404 EVB 2022-07-25 13:02:04 -04:00
radxa board: rk3288: add more DT files to MAINTAINERS 2022-04-18 11:25:13 +08:00
raidsonic/ib62x0 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
raspberrypi/rpi Prepare v2022.01-rc4 2021-12-20 17:12:04 -05:00
renesas Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
rikomagic/mk808 rockchip: rk3066: add Rikomagic MK808 board 2022-04-18 11:25:13 +08:00
rockchip board: rk3288: add more DT files to MAINTAINERS 2022-04-18 11:25:13 +08:00
ronetix at91: Remove unused LED code 2022-04-08 09:05:20 -04:00
sagem/f@st1704
samsung smdkc100: Remove legacy non-DM_ETH code 2022-08-20 21:18:15 -04:00
sandbox addrmap: Support on sandbox 2022-07-26 02:30:56 -06:00
Seagate arm: kirkwood: Dockstar : Add DM Ethernet 2022-02-10 07:12:16 +01:00
seeed imx: Add SeeedStudio NPI-IMX6ULL Support 2021-06-09 13:34:18 +02:00
sfr/nb4_ser
siemens Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
sifive riscv: sifive: Fix OF_BOARD boot failure 2022-01-07 09:30:44 -05:00
silinux/ek874 arm: use the correct prototype for reset_cpu function 2021-07-28 19:30:22 -04:00
sipeed/maix k210: use the board vendor name rather than the marketing name 2022-03-15 17:43:11 +08:00
socionext/developerbox board: synquacer: developerbox: Remove Masami from MAINTAINERS 2022-05-05 09:28:48 -04:00
socrates Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
softing imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
solidrun mx6cuboxi: fix board detection while patching device-tree phy nodes 2022-07-25 15:08:23 +02:00
somlabs/visionsom-6ull imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
sr1500 common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
st stm32mp: stpmic1: remove the debug unit request by debugger 2022-06-17 14:12:27 +02:00
ste/stemmy board: stemmy: Detect board variants and patch DTB 2022-02-28 10:33:45 -05:00
storopack/smegw01 imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
sunxi sunxi: fix initial environment loading without MMC 2022-06-26 11:22:54 +01:00
Synology arm: kirkwood: 88f6281: Detect CONFIG_SYS_TCLK from SAR register 2022-08-23 12:38:47 +02:00
synopsys linker_lists: Rename sections to remove . prefix 2022-06-23 12:58:18 -04:00
sysam Convert CONFIG_EXTRA_CLOCK to Kconfig 2022-07-05 17:03:01 -04:00
tbs/tbs2910 tbs2910: Convert to DM_SERIAL 2022-04-12 15:36:18 +02:00
tcl/sl50 Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
technexion imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
terasic arm: socfpga: Add the terasic de10-standard board 2022-05-23 21:28:07 +02:00
theadorable arm: mvebu: mbus: Fix mbus driver to work also after U-Boot relocation 2022-08-23 12:35:37 +02:00
theobroma-systems rockchip: puma/lion: update MAINTAINERS file 2022-01-07 09:30:44 -05:00
ti board: ti: common: board_detect: Fix EEPROM read quirk 2022-08-31 12:16:01 -04:00
timll lpc32xx: Kconfig: switch to CONFIG_CONS_INDEX 2021-07-06 14:11:50 -04:00
topic/zynq board: topic-miami: Set FCLK1 to 150MHz 2020-06-24 13:11:08 +02:00
toradex Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
tplink/wdr4300 Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
tq/tqma6 imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
traverse common: Drop display_options.h from common header 2022-08-10 13:46:55 -04:00
udoo udoo: Call gpio_request() 2022-01-08 11:16:03 -05:00
vamrs/rock960_rk3399 rockchip: Remove ARCH= references from documentation 2020-06-02 17:27:04 -04:00
variscite nxp: Make board/freescale/common/Kconfig safe to include once in arch/Kconfig 2022-07-05 17:03:02 -04:00
vocore/vocore2 mips: Add support for SoM "VoCore2". 2020-04-27 20:30:14 +02:00
vscom/baltos linker_lists: Rename sections to remove . prefix 2022-06-23 12:58:18 -04:00
wandboard MAINTAINERS: Use my personal e-mail address 2021-04-08 20:29:53 +02:00
warp7 warp7: Remove legacy non-DM_ETH code 2022-08-20 21:18:15 -04:00
work-microwave/work_92105 Remove including timestamp.h in version.h 2021-09-17 12:10:44 -04:00
xen/xenguest_arm64 Convert CONFIG_CONS_INDEX et al to Kconfig 2021-12-27 08:41:38 -05:00
xes/common Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
xilinx fpga: xilinx: add bitstream flags to driver desc 2022-07-26 09:34:21 +02:00
zyxel/nsa310s arm: kirkwood: nsa310s: Add Distro boot capability 2022-08-23 12:35:37 +02:00