Commit c4da7540 authored by Breno Lima's avatar Breno Lima Committed by Ye Li
Browse files

MLK-17918: imx-common: Ensure CAAM clock is enabled prior getting out_jr_size



Prior calling sec_in32() we have to ensure CAAM clock is enabled, the
function sec_in32() is reading CAAM registers and if CAAM clock is disabled
the system will hang.
Signed-off-by: default avatarBreno Lima <breno.lima@nxp.com>
Reviewed-by: default avatarYe Li <ye.li@nxp.com>
parent 9d381708
......@@ -31,12 +31,12 @@ static int blob_encap_dek(const u8 *src, u8 *dst, u32 len)
int ret = 0;
u32 jr_size = 4;
hab_caam_clock_enable(1);
u32 out_jr_size = sec_in32(CONFIG_SYS_FSL_JR0_ADDR +
FSL_CAAM_ORSR_JRa_OFFSET);
if (out_jr_size != jr_size) {
hab_caam_clock_enable(1);
if (out_jr_size != jr_size)
sec_init();
}
if (!((len == 128) | (len == 192) | (len == 256))) {
debug("Invalid DEK size. Valid sizes are 128, 192 and 256b\n");
......
......@@ -43,13 +43,14 @@ static int do_mfgprot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
/* Enable HAB clock */
u32 jr_size = 4;
hab_caam_clock_enable(1);
u32 out_jr_size = sec_in32(CONFIG_SYS_FSL_JR0_ADDR +
FSL_CAAM_ORSR_JRa_OFFSET);
if (out_jr_size != jr_size) {
hab_caam_clock_enable(1);
if (out_jr_size != jr_size)
sec_init();
}
if (strcmp(sel, pubk) == 0) {
dst_ptr = malloc_cache_aligned(FSL_CAAM_MP_PUBK_BYTES);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment