The TQ i.MX93 boards come in different variants. This series adds support for the LGA variant. Fortunately the TQ boards all have a EEPROM equipped from which the variant can be read, so this series adds the necessary pieces to to I2C in PBL on i.MX93 and also the common EEPROM parsing code. The EEPROM parsing code could be reused on other TQ boards barebox has support for, like the tqmls1046a, tqma6ul and tqma8mp. Doing so is left for the future, for now the code is only used to detect the i.MX93 board variant. Sascha Hauer (8): i2c: lpi2c: determine clk rate during probe i2c: lpi2c: use udelay for timeout loops i2c: lpi2c: add PBL support pbl: eeprom: return error from eeprom_read() common: add TQ EEPROM support ARM: i.MX9: add i2c base address defines ARM: i.MX9: rename TQ i.MX93 board to TQMA93XX ARM: i.MX: tqma93xx: Add LGA board variant arch/arm/boards/Makefile | 2 +- arch/arm/boards/tqma93xx/Makefile | 2 + .../boards/{tqmba9xxxca => tqma93xx}/board.c | 0 arch/arm/boards/tqma93xx/lowlevel.c | 109 ++ .../lpddr4x_tqma93xxca_timing.c | 0 .../tqma93xx/lpddr4x_tqma93xxla_timing.c | 1482 +++++++++++++++++ arch/arm/boards/tqmba9xxxca/Makefile | 2 - arch/arm/boards/tqmba9xxxca/lowlevel.c | 46 - arch/arm/configs/imx_v8_defconfig | 2 +- arch/arm/configs/multi_v8_defconfig | 2 +- arch/arm/dts/Makefile | 3 +- arch/arm/dts/imx93-tqma9352-mba93xxca.dts | 38 +- arch/arm/dts/imx93-tqma9352-mba93xxla.dts | 5 + arch/arm/dts/imx93-tqma93xx.dtsi | 37 + arch/arm/mach-imx/Kconfig | 7 +- common/boards/Kconfig | 3 + common/boards/Makefile | 1 + common/boards/tq/Makefile | 1 + common/boards/tq/tq_eeprom.c | 140 ++ drivers/i2c/busses/Makefile | 2 +- drivers/i2c/busses/i2c-imx-lpi2c.c | 70 +- images/Makefile.imx | 6 +- include/mach/imx/imx9-regs.h | 8 + include/pbl/eeprom.h | 11 +- include/pbl/i2c.h | 1 + include/tq_eeprom.h | 196 +++ 26 files changed, 2063 insertions(+), 113 deletions(-) create mode 100644 arch/arm/boards/tqma93xx/Makefile rename arch/arm/boards/{tqmba9xxxca => tqma93xx}/board.c (100%) create mode 100644 arch/arm/boards/tqma93xx/lowlevel.c rename arch/arm/boards/{tqmba9xxxca => tqma93xx}/lpddr4x_tqma93xxca_timing.c (100%) create mode 100644 arch/arm/boards/tqma93xx/lpddr4x_tqma93xxla_timing.c delete mode 100644 arch/arm/boards/tqmba9xxxca/Makefile delete mode 100644 arch/arm/boards/tqmba9xxxca/lowlevel.c create mode 100644 arch/arm/dts/imx93-tqma9352-mba93xxla.dts create mode 100644 arch/arm/dts/imx93-tqma93xx.dtsi create mode 100644 common/boards/tq/Makefile create mode 100644 common/boards/tq/tq_eeprom.c create mode 100644 include/tq_eeprom.h -- 2.39.2