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 --- v2: drop pmic patch that was already merged add imx_tmu patch update common/image patch as requested Frieder Schrempf (1): Respect that some compression algos can be enabled separately for SPL Tim Harvey (3): thermal: imx_tmu: enable monitoring and default alert/critical 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 +++++ arch/arm/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 ++ arch/arm/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 +++ arch/arm/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 | 9 +- 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 | 54 + 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 | 187 ++ common/image.c | 24 +- configs/imx8mm_venice_defconfig | 113 + drivers/thermal/imx_tmu.c | 6 + include/configs/imx8mm_venice.h | 125 ++ 29 files changed, 5705 insertions(+), 7 deletions(-) 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.7.4