|
|
|
@ -17,65 +17,45 @@ |
|
|
|
|
|
|
|
|
|
#define hab_rvt_report_event_p \ |
|
|
|
|
( \
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6Q) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6D)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
(is_mx6dq() && (soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
((hab_rvt_report_event_t *)HAB_RVT_REPORT_EVENT_NEW) : \
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6DL) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6SOLO)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
(is_mx6sdl() && (soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
((hab_rvt_report_event_t *)HAB_RVT_REPORT_EVENT_NEW) : \
|
|
|
|
|
((hab_rvt_report_event_t *)HAB_RVT_REPORT_EVENT) \
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
#define hab_rvt_report_status_p \ |
|
|
|
|
( \
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6Q) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6D)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
(is_mx6dq() && (soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
((hab_rvt_report_status_t *)HAB_RVT_REPORT_STATUS_NEW) :\
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6DL) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6SOLO)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
(is_mx6sdl() && (soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
((hab_rvt_report_status_t *)HAB_RVT_REPORT_STATUS_NEW) :\
|
|
|
|
|
((hab_rvt_report_status_t *)HAB_RVT_REPORT_STATUS) \
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
#define hab_rvt_authenticate_image_p \ |
|
|
|
|
( \
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6Q) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6D)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
(is_mx6dq() && (soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
((hab_rvt_authenticate_image_t *)HAB_RVT_AUTHENTICATE_IMAGE_NEW) : \
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6DL) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6SOLO)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
(is_mx6sdl() && (soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
((hab_rvt_authenticate_image_t *)HAB_RVT_AUTHENTICATE_IMAGE_NEW) : \
|
|
|
|
|
((hab_rvt_authenticate_image_t *)HAB_RVT_AUTHENTICATE_IMAGE) \
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
#define hab_rvt_entry_p \ |
|
|
|
|
( \
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6Q) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6D)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
(is_mx6dq() && (soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
((hab_rvt_entry_t *)HAB_RVT_ENTRY_NEW) : \
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6DL) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6SOLO)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
(is_mx6sdl() && (soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
((hab_rvt_entry_t *)HAB_RVT_ENTRY_NEW) : \
|
|
|
|
|
((hab_rvt_entry_t *)HAB_RVT_ENTRY) \
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
#define hab_rvt_exit_p \ |
|
|
|
|
( \
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6Q) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6D)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
(is_mx6dq() && (soc_rev() >= CHIP_REV_1_5)) ? \
|
|
|
|
|
((hab_rvt_exit_t *)HAB_RVT_EXIT_NEW) : \
|
|
|
|
|
((is_cpu_type(MXC_CPU_MX6DL) || \
|
|
|
|
|
is_cpu_type(MXC_CPU_MX6SOLO)) && \
|
|
|
|
|
(soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
(is_mx6sdl() && (soc_rev() >= CHIP_REV_1_2)) ? \
|
|
|
|
|
((hab_rvt_exit_t *)HAB_RVT_EXIT_NEW) : \
|
|
|
|
|
((hab_rvt_exit_t *)HAB_RVT_EXIT) \
|
|
|
|
|
) |
|
|
|
@ -429,8 +409,7 @@ uint32_t authenticate_image(uint32_t ddr_start, uint32_t image_size) |
|
|
|
|
*/ |
|
|
|
|
/* Check MMU enabled */ |
|
|
|
|
if (is_soc_type(MXC_SOC_MX6) && get_cr() & CR_M) { |
|
|
|
|
if (is_cpu_type(MXC_CPU_MX6Q) || |
|
|
|
|
is_cpu_type(MXC_CPU_MX6D)) { |
|
|
|
|
if (is_mx6dq()) { |
|
|
|
|
/*
|
|
|
|
|
* This won't work on Rev 1.0.0 of |
|
|
|
|
* i.MX6Q/D, since their ROM doesn't |
|
|
|
@ -439,10 +418,9 @@ uint32_t authenticate_image(uint32_t ddr_start, uint32_t image_size) |
|
|
|
|
*/ |
|
|
|
|
if (!is_mx6dqp()) |
|
|
|
|
writel(1, MX6DQ_PU_IROM_MMU_EN_VAR); |
|
|
|
|
} else if (is_cpu_type(MXC_CPU_MX6DL) || |
|
|
|
|
is_cpu_type(MXC_CPU_MX6SOLO)) { |
|
|
|
|
} else if (is_mx6sdl()) { |
|
|
|
|
writel(1, MX6DLS_PU_IROM_MMU_EN_VAR); |
|
|
|
|
} else if (is_cpu_type(MXC_CPU_MX6SL)) { |
|
|
|
|
} else if (is_mx6sl()) { |
|
|
|
|
writel(1, MX6SL_PU_IROM_MMU_EN_VAR); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|