summaryrefslogtreecommitdiff
path: root/include/asm-arm
diff options
context:
space:
mode:
authorJason Liu <r64343@freescale.com>2013-11-12 13:29:30 +0800
committerJason Liu <r64343@freescale.com>2013-11-13 13:55:49 +0800
commit424cb1a79e9f5ae4ede9350dfb5e10dc9680e90b (patch)
tree072c9808dc4aff1a43c7a004946e58e1ee507027 /include/asm-arm
parent877fd9eea1858585c8939e05173feb612c42a95f (diff)
downloadu-boot-imx-424cb1a79e9f5ae4ede9350dfb5e10dc9680e90b.zip
u-boot-imx-424cb1a79e9f5ae4ede9350dfb5e10dc9680e90b.tar.gz
u-boot-imx-424cb1a79e9f5ae4ede9350dfb5e10dc9680e90b.tar.bz2
ENGR00287268 mx6: fix the secure boot issue on the new tapout chip
The new TO(i.MX6Q TO1.5 and i.MX6DL TO1.2) of ROM change the HAB API table address, thus the secure boot can't boot up on the new TO. This patch fix this issue by fix up the HAB API table address according to the TO revision. Signed-off-by: Jason Liu <r64343@freescale.com>
Diffstat (limited to 'include/asm-arm')
-rw-r--r--include/asm-arm/arch-mx6/mx6.h3
-rw-r--r--include/asm-arm/arch-mx6/mx6_secure.h17
2 files changed, 14 insertions, 6 deletions
diff --git a/include/asm-arm/arch-mx6/mx6.h b/include/asm-arm/arch-mx6/mx6.h
index 9fc1e7a..3992012 100644
--- a/include/asm-arm/arch-mx6/mx6.h
+++ b/include/asm-arm/arch-mx6/mx6.h
@@ -717,6 +717,8 @@
#define CHIP_TYPE_SOLOLITE 0x60000
#define CHIP_REV_1_0 0x10
+#define CHIP_REV_1_2 0x12
+#define CHIP_REV_1_5 0x15
#define CHIP_REV_2_0 0x20
#define CHIP_REV_2_1 0x21
#define CHIP_REV_MASK 0xff
@@ -749,6 +751,7 @@
#define mx6_chip_is_dl() chip_is_type(fsl_system_rev, CHIP_TYPE_DL)
#define mx6_chip_is_solo() chip_is_type(fsl_system_rev, CHIP_TYPE_SOLO)
#define mx6_chip_is_sololite() chip_is_type(fsl_system_rev, CHIP_TYPE_SOLOLITE)
+#define mx6_chip_rev() (fsl_system_rev & 0xFF)
#define mx6_chip_dq_name "i.MX6Q"
#define mx6_chip_dl_solo_name "i.MX6DL/Solo"
diff --git a/include/asm-arm/arch-mx6/mx6_secure.h b/include/asm-arm/arch-mx6/mx6_secure.h
index a632ca2..dfad477 100644
--- a/include/asm-arm/arch-mx6/mx6_secure.h
+++ b/include/asm-arm/arch-mx6/mx6_secure.h
@@ -66,12 +66,17 @@ typedef void *hab_rvt_authenticate_image_t(uint8_t, ptrdiff_t, \
void **, size_t *, hab_loader_callback_f_t);
typedef void hapi_clock_init_t(void);
-#define HAB_RVT_REPORT_EVENT (*(uint32_t *) 0x000000B4)
-#define HAB_RVT_REPORT_STATUS (*(uint32_t *) 0x000000B8)
-#define HAB_RVT_AUTHENTICATE_IMAGE (*(uint32_t *) 0x000000A4)
-#define HAB_RVT_ENTRY (*(uint32_t *) 0x00000098)
-#define HAB_RVT_EXIT (*(uint32_t *) 0x0000009C)
-#define HAB_RVT_CLOCK_INIT ((hapi_clock_init_t *) 0x0000024D)
+#define HAB_RVT_REPORT_EVENT (*(uint32_t *) 0x000000B4)
+#define HAB_RVT_REPORT_STATUS (*(uint32_t *) 0x000000B8)
+#define HAB_RVT_AUTHENTICATE_IMAGE (*(uint32_t *) 0x000000A4)
+#define HAB_RVT_ENTRY (*(uint32_t *) 0x00000098)
+#define HAB_RVT_EXIT (*(uint32_t *) 0x0000009C)
+
+#define HAB_RVT_REPORT_EVENT_NEW (*(uint32_t *) 0x000000B8)
+#define HAB_RVT_REPORT_STATUS_NEW (*(uint32_t *) 0x000000BC)
+#define HAB_RVT_AUTHENTICATE_IMAGE_NEW (*(uint32_t *) 0x000000A8)
+#define HAB_RVT_ENTRY_NEW (*(uint32_t *) 0x0000009C)
+#define HAB_RVT_EXIT_NEW (*(uint32_t *) 0x000000A0)
#define HAB_CID_ROM 0 /**< ROM Caller ID */
#define HAB_CID_UBOOT 1 /**< UBOOT Caller ID*/