enabling HAB in u-boot leads to "Error binding driver"

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

enabling HAB in u-boot leads to "Error binding driver"

1,794件の閲覧回数
richc128
Contributor III

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 ###

0 件の賞賛
返信
1 返信

1,679件の閲覧回数
eino
Contributor I

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

0 件の賞賛
返信