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