Commit e43b10747b84ac31be2ce48d262d9206d9f10628

Authored by Breno Lima
Committed by Ye Li
1 parent aee57e99a8

MLK-19945 mx6dq: hab: Fix chip version in hab.h code

Since commit 8891410c729b ("MLK-19848 mx6dq: Fix chip version issue for
rev1.3") it's not possible to call the HAB API functions on i.MX6DQ
SoC Rev 1.3:

Authenticate image from DDR location 0x12000000...
undefined instruction
pc : [<412c00dc>]          lr : [<8ff560bc>]
reloc pc : [<c8b6d0dc>]    lr : [<178030bc>]
sp : 8ef444a8  ip : 126e8068     fp : 8ff59aa8
r10: 8ffd51e4  r9 : 8ef50eb0     r8 : 006e8000
r7 : 00000000  r6 : 126ea01f     r5 : 0000002b  r4 : 126e8000
r3 : 412c00dd  r2 : 00000001     r1 : 00000001  r0 : 00000063
Flags: nzCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

resetting ...

The hab.h code is defining the HAB API base address according to the
old SoC revision number, thus failing when calling the HAB API
authenticate_image() function.

Fix this issue by using mx6dq rev 1.3 instead of mx6dq rev 1.5.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit adc4d93e6e1726f111e86ca74fb76215215dbc86)
(cherry picked from commit a4300029173afb872b7e7e38d191ca5528da7fed)

Showing 2 changed files with 2 additions and 1 deletions Side-by-side Diff

arch/arm/include/asm/arch-imx/cpu.h
... ... @@ -49,6 +49,7 @@
49 49 #define CHIP_REV_1_0 0x10
50 50 #define CHIP_REV_1_1 0x11
51 51 #define CHIP_REV_1_2 0x12
  52 +#define CHIP_REV_1_3 0x13
52 53 #define CHIP_REV_1_5 0x15
53 54 #define CHIP_REV_2_0 0x20
54 55 #define CHIP_REV_2_1 0x21
arch/arm/include/asm/mach-imx/hab.h
... ... @@ -184,7 +184,7 @@
184 184 #define HAB_RVT_BASE_OLD 0x00000094
185 185 #define HAB_RVT_BASE ((is_mx6dqp()) ? \
186 186 HAB_RVT_BASE_NEW : \
187   - (is_mx6dq() && (soc_rev() >= CHIP_REV_1_5)) ? \
  187 + (is_mx6dq() && (soc_rev() >= CHIP_REV_1_3)) ? \
188 188 HAB_RVT_BASE_NEW : \
189 189 (is_mx6sdl() && (soc_rev() >= CHIP_REV_1_2)) ? \
190 190 HAB_RVT_BASE_NEW : HAB_RVT_BASE_OLD)