I have an i.mx8mp compulab module. I'm enabling HAB in u-boot with `CONFIG_IMX_HAB=y` but I see this on boot. What am I missing?
U-Boot 2021.04-compulab+g3463140881 (Apr 11 2022 - 21:57:41 +0000)
CPU: i.MX8MP[8] rev1.1 1800 MHz (running at 1200 MHz)
CPU: Commercial temperature grade (0C to 95C) at 39C
Reset cause: POR
Model: CompuLab UCM-iMX8M-Plus
DRAM: 4 GiB
Error binding driver 'caam_jr': -96
Some drivers failed to bind
Error binding driver 'simple_bus': -96
Some drivers failed to bind
Error binding driver 'simple_bus': -96
Some drivers failed to bind
initcall sequence 0000000053fd0980 failed at call 0000000040220570 (err=-96)
### ERROR ### Please RESET the board ###
I managed to solve this issue by studying the changes made in this commit https://source.codeaurora.org/external/imx/uboot-imx/commit/?id=41a325b1e324160b6be96ff54083b655a292...
For my target HW called prototype (based on imx8mn) I had to make these changes:
diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig index 9a733ae0d4..0460349dce 100644 --- a/arch/arm/mach-imx/imx8m/Kconfig +++ b/arch/arm/mach-imx/imx8m/Kconfig @@ -253,6 +253,10 @@ config TARGET_PROTOTYPE select IMX8MN select SUPPORT_SPL select IMX8M_LPDDR4 + select FSL_CAAM + select FSL_BLOB + select MISC + select SPL_CRYPTO_SUPPORT if SPL config TARGET_PHYCORE_IMX8MM bool "PHYTEC PHYCORE i.MX8MM"
diff --git a/board/freescale/prototype/spl.c b/board/freescale/prototype/spl.c index b5c7f2ad3f..95a904842b 100644 --- a/board/freescale/prototype/spl.c +++ b/board/freescale/prototype/spl.c @@ -219,6 +219,14 @@ int power_init_board(void) void spl_board_init(void) { + struct udevice *dev; + uclass_find_first_device(UCLASS_MISC, &dev); + + for (; dev; uclass_find_next_device(&dev)) { + if (device_probe(dev)) + continue; + } + puts("Normal Boot\n"); }
You probably need to make the same changes to the compulab Kconfig target and spl.c