i.MX6 Secure Boot HAB API within U-Boot calls freezing

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

i.MX6 Secure Boot HAB API within U-Boot calls freezing

跳至解决方案
2,709 次查看
timstableford
Contributor I

I'm trying to call HAB API functions from within U-Boot on an i.MX6DL Quick Start board (Rev B3) and each time I do, U-Boot freezes (2009.08).
U-Boot has been booted using HAB and is at this point working and has the hab_status command from https://community.freescale.com/servlet/JiveServlet/download/325535-259256/secure_boot_on_imx6.pdf , this however, does work.

The first function I'm trying to call is hab_status_t(* entry )(void) - which I'm defining by doing this:

#define HAB_RVT_STATUS_ENTRY (*(uint32_t *) 0x00000098)

typedef hab_status_t hab_rvt_status_entry_t();

#define hab_rvt_status_entry ((hab_rvt_status_entry_t*)HAB_RVT_STATUS_ENTRY)

And then I'm calling hab_rvt_status_entry(); - this is where is freezes.

Other don't work either, I have tested status exit, status check, and image entry.

Any help or ideas would be appreciated

标签 (1)
标记 (4)
0 项奖励
回复
1 解答
1,704 次查看
timstableford
Contributor I

It was hanging because the clock for the CAAM isn't enabled by default and needs to be before calling HAB functions which use it.

在原帖中查看解决方案

0 项奖励
回复
2 回复数
1,705 次查看
timstableford
Contributor I

It was hanging because the clock for the CAAM isn't enabled by default and needs to be before calling HAB functions which use it.

0 项奖励
回复
1,704 次查看
dwc
Contributor II

There seems to be a similar issue with the imx28.  The processor is hanging in at the same point in u-boot after the call to the HAB API rvt_status function.  Do you have any more details on your fix for the mx6 that might translate?  There is a hab_rvt_clock_init function defined in the mainline hab.c for the i.mx6 but doesn't appear to be called.

EDIT:  The reference manual RVT address was updated between document revison 1 (2010) and revision 2 (2013). 

0 项奖励
回复