The Gateworks Venice product family consists of several boards based on the i.MX 8M Mini SoC.
A challenge I've had with this is that the board model information is stored in an I2C based EEPROM that must be read to know what PMIC is on the board in order to adjust certain power rails before DRAM init is called. I found this to be a challenge in the SPL as the SPL does not free memory thus the conceprt of calling dm_uninit() followed by dm_init_and_scan() to change dt's live in the SPL runs out of memory. Therefore I can't rely on DT/DM within the SPL for things that may differ board to board. Best Regards, Tim --- v3: - drop already merged patches from series - add reference to Linux version files were pulled from in commits - fix accidental change to TARGET_IMX8MN_EVK - gsc.h: remove unused MAX6642 defines from - power_init_board: fix PMIC access by using dm_i2c v2: - drop pmic patch that was already merged - add imx_tmu patch - update common/image patch as requested Tim Harvey (2): arm: dts: imx8mm: add Gateworks i.MX8 Mini Dev kits board: gateworks: imx8mm: Add Gateworks Venice board support arch/arm/dts/Makefile | 4 + arch/arm/dts/imx8mm-venice-gw700x-u-boot.dtsi | 105 + arch/arm/dts/imx8mm-venice-gw700x.dtsi | 495 ++++ .../dts/imx8mm-venice-gw71xx-0x-u-boot.dtsi | 5 + arch/arm/dts/imx8mm-venice-gw71xx-0x.dts | 19 + arch/arm/dts/imx8mm-venice-gw71xx.dtsi | 186 ++ .../dts/imx8mm-venice-gw72xx-0x-u-boot.dtsi | 5 + arch/arm/dts/imx8mm-venice-gw72xx-0x.dts | 20 + arch/arm/dts/imx8mm-venice-gw72xx.dtsi | 311 ++ .../dts/imx8mm-venice-gw73xx-0x-u-boot.dtsi | 5 + arch/arm/dts/imx8mm-venice-gw73xx-0x.dts | 19 + arch/arm/dts/imx8mm-venice-gw73xx.dtsi | 362 +++ arch/arm/dts/imx8mm-venice-u-boot.dtsi | 103 + arch/arm/dts/imx8mm-venice.dts | 152 + arch/arm/mach-imx/imx8m/Kconfig | 7 + board/gateworks/venice/Kconfig | 13 + board/gateworks/venice/MAINTAINERS | 7 + board/gateworks/venice/Makefile | 12 + board/gateworks/venice/README | 34 + board/gateworks/venice/gsc.c | 687 +++++ board/gateworks/venice/gsc.h | 40 + board/gateworks/venice/imx8mm_venice.c | 133 + board/gateworks/venice/lpddr4_timing.c | 2505 +++++++++++++++++ board/gateworks/venice/lpddr4_timing.h | 12 + board/gateworks/venice/spl.c | 205 ++ configs/imx8mm_venice_defconfig | 113 + include/configs/imx8mm_venice.h | 125 + 27 files changed, 5684 insertions(+) create mode 100644 arch/arm/dts/imx8mm-venice-gw700x-u-boot.dtsi create mode 100644 arch/arm/dts/imx8mm-venice-gw700x.dtsi create mode 100644 arch/arm/dts/imx8mm-venice-gw71xx-0x-u-boot.dtsi create mode 100644 arch/arm/dts/imx8mm-venice-gw71xx-0x.dts create mode 100644 arch/arm/dts/imx8mm-venice-gw71xx.dtsi create mode 100644 arch/arm/dts/imx8mm-venice-gw72xx-0x-u-boot.dtsi create mode 100644 arch/arm/dts/imx8mm-venice-gw72xx-0x.dts create mode 100644 arch/arm/dts/imx8mm-venice-gw72xx.dtsi create mode 100644 arch/arm/dts/imx8mm-venice-gw73xx-0x-u-boot.dtsi create mode 100644 arch/arm/dts/imx8mm-venice-gw73xx-0x.dts create mode 100644 arch/arm/dts/imx8mm-venice-gw73xx.dtsi create mode 100644 arch/arm/dts/imx8mm-venice-u-boot.dtsi create mode 100644 arch/arm/dts/imx8mm-venice.dts create mode 100644 board/gateworks/venice/Kconfig create mode 100644 board/gateworks/venice/MAINTAINERS create mode 100644 board/gateworks/venice/Makefile create mode 100644 board/gateworks/venice/README create mode 100644 board/gateworks/venice/gsc.c create mode 100644 board/gateworks/venice/gsc.h create mode 100644 board/gateworks/venice/imx8mm_venice.c create mode 100644 board/gateworks/venice/lpddr4_timing.c create mode 100644 board/gateworks/venice/lpddr4_timing.h create mode 100644 board/gateworks/venice/spl.c create mode 100644 configs/imx8mm_venice_defconfig create mode 100644 include/configs/imx8mm_venice.h -- 2.17.1