diff options
author | Ye Li <ye.li@nxp.com> | 2018-05-09 22:56:43 -0700 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2018-05-23 04:15:57 -0700 |
commit | f8cf5f5aa8e1c5f4051795048e164a1c562374d2 (patch) | |
tree | 706a57292b6e77370ee83e08c65c9e99ab545509 /arch/arm/include | |
parent | 43bc31a2700f4078ffc5f55ff3fea0ed554f4506 (diff) |
MLK-18322 imx8mm: Add hab suport
The imx8mm has changed the address of rvt_hab, use new address for imx8mm.
Also enable fuse driver in SPL and update registers maps.
The authentication procedure is same as imx8mq. In u-boot, the authentication
uses SIP call to trap ATF to run HAB authenticate.
Need to work with ATF commit:
(commit 7a4d6f90e999ed413d520310cc199901b52b7a04)
Users need to add CONFIG_SECURE_BOOT=y to imx8mm_evk_defconfig to enable
the feature.
Signed-off-by: Ye Li <ye.li@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 1118c9960c22c80a452181c6857fd1df86fe05ae)
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/asm/arch-imx8m/imx-regs-imx8mm.h | 11 | ||||
-rw-r--r-- | arch/arm/include/asm/mach-imx/hab.h | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/include/asm/arch-imx8m/imx-regs-imx8mm.h b/arch/arm/include/asm/arch-imx8m/imx-regs-imx8mm.h index c87c2b6029..11d63ad96f 100644 --- a/arch/arm/include/asm/arch-imx8m/imx-regs-imx8mm.h +++ b/arch/arm/include/asm/arch-imx8m/imx-regs-imx8mm.h @@ -151,6 +151,17 @@ #define DDRC_IPS_BASE_ADDR(X) (0x3d400000 + ((X) * 0x2000000)) #define DDR_CSD1_BASE_ADDR 0x40000000 +#define CAAM_ARB_BASE_ADDR (0x00100000) +#define CAAM_ARB_END_ADDR (0x00107FFF) +#define CAAM_IPS_BASE_ADDR (0x30900000) +#define CONFIG_SYS_FSL_SEC_OFFSET (0) +#define CONFIG_SYS_FSL_SEC_ADDR (CAAM_IPS_BASE_ADDR + \ + CONFIG_SYS_FSL_SEC_OFFSET) +#define CONFIG_SYS_FSL_JR0_OFFSET (0x1000) +#define CONFIG_SYS_FSL_JR0_ADDR (CONFIG_SYS_FSL_SEC_ADDR + \ + CONFIG_SYS_FSL_JR0_OFFSET) +#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1 + #if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__)) #include <asm/types.h> diff --git a/arch/arm/include/asm/mach-imx/hab.h b/arch/arm/include/asm/mach-imx/hab.h index f4ad722742..3f109f1eb5 100644 --- a/arch/arm/include/asm/mach-imx/hab.h +++ b/arch/arm/include/asm/mach-imx/hab.h @@ -167,7 +167,11 @@ typedef void hapi_clock_init_t(void); #define HAB_ENG_SW 0xff /* Software engine */ #ifdef CONFIG_ARM64 +#ifdef CONFIG_IMX8MQ #define HAB_RVT_BASE 0x00000880 +#else +#define HAB_RVT_BASE 0x00000900 +#endif #define HAB_RVT_ENTRY (*(ulong *)(HAB_RVT_BASE + 0x08)) #define HAB_RVT_EXIT (*(ulong *)(HAB_RVT_BASE + 0x10)) |