summaryrefslogtreecommitdiff
path: root/arch/arm/include
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2018-05-09 22:56:43 -0700
committerYe Li <ye.li@nxp.com>2018-05-23 04:15:57 -0700
commitf8cf5f5aa8e1c5f4051795048e164a1c562374d2 (patch)
tree706a57292b6e77370ee83e08c65c9e99ab545509 /arch/arm/include
parent43bc31a2700f4078ffc5f55ff3fea0ed554f4506 (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.h11
-rw-r--r--arch/arm/include/asm/mach-imx/hab.h4
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))