diff options
author | Ji Luo <ji.luo@nxp.com> | 2018-10-26 17:26:31 +0800 |
---|---|---|
committer | Ji Luo <ji.luo@nxp.com> | 2018-11-01 10:01:10 +0800 |
commit | 4f00df596a80cb4b4539d228332d976cf38d4183 (patch) | |
tree | ac1eba995523da7a392353d2cedd03f4d8d6d89f | |
parent | e09c4b62ec5a426c02d644974695df829f84aec3 (diff) |
imx8q: [trusty] Kick CAAM power
JR0 and JR1 of CAAM are owned by SECO, only kick the power
of JR2 and JR3 here and assign the resources to be accessed
by secure world.
Signed-off-by: Ji Luo <ji.luo@nxp.com>
-rw-r--r-- | plat/imx/imx8qm/imx8qm_bl31_setup.c | 6 | ||||
-rw-r--r-- | plat/imx/imx8qm/include/sec_rsrc.h | 6 | ||||
-rw-r--r-- | plat/imx/imx8qxp/imx8qxp_bl31_setup.c | 6 | ||||
-rw-r--r-- | plat/imx/imx8qxp/include/sec_rsrc.h | 6 |
4 files changed, 24 insertions, 0 deletions
diff --git a/plat/imx/imx8qm/imx8qm_bl31_setup.c b/plat/imx/imx8qm/imx8qm_bl31_setup.c index d4008ece..df1316f3 100644 --- a/plat/imx/imx8qm/imx8qm_bl31_setup.c +++ b/plat/imx/imx8qm/imx8qm_bl31_setup.c @@ -395,6 +395,12 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, * uses global structs defined in sec_rsrc.h */ mx8_partition_resources(); +#ifdef SPD_trusty + sc_pm_set_resource_power_mode(ipc_handle, SC_R_CAAM_JR2, SC_PM_PW_MODE_ON); + sc_pm_set_resource_power_mode(ipc_handle, SC_R_CAAM_JR2_OUT, SC_PM_PW_MODE_ON); + sc_pm_set_resource_power_mode(ipc_handle, SC_R_CAAM_JR3, SC_PM_PW_MODE_ON); + sc_pm_set_resource_power_mode(ipc_handle, SC_R_CAAM_JR3_OUT, SC_PM_PW_MODE_ON); +#endif /* * tell BL3-1 where the non-secure software image is located diff --git a/plat/imx/imx8qm/include/sec_rsrc.h b/plat/imx/imx8qm/include/sec_rsrc.h index 7ad46751..e77a4bd9 100644 --- a/plat/imx/imx8qm/include/sec_rsrc.h +++ b/plat/imx/imx8qm/include/sec_rsrc.h @@ -21,6 +21,12 @@ sc_rsrc_t secure_rsrcs[] = { SC_R_GIC_SMMU, SC_R_CCI, SC_R_SYSTEM, +#ifdef SPD_trusty + SC_R_CAAM_JR2, + SC_R_CAAM_JR2_OUT, + SC_R_CAAM_JR3, + SC_R_CAAM_JR3_OUT, +#endif SC_R_IRQSTR_SCU2 }; diff --git a/plat/imx/imx8qxp/imx8qxp_bl31_setup.c b/plat/imx/imx8qxp/imx8qxp_bl31_setup.c index 829d25bb..5b508f94 100644 --- a/plat/imx/imx8qxp/imx8qxp_bl31_setup.c +++ b/plat/imx/imx8qxp/imx8qxp_bl31_setup.c @@ -382,6 +382,12 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, * uses global structs defined in sec_rsrc.h */ imx8_partition_resources(); +#ifdef SPD_trusty + sc_pm_set_resource_power_mode(ipc_handle, SC_R_CAAM_JR2, SC_PM_PW_MODE_ON); + sc_pm_set_resource_power_mode(ipc_handle, SC_R_CAAM_JR2_OUT, SC_PM_PW_MODE_ON); + sc_pm_set_resource_power_mode(ipc_handle, SC_R_CAAM_JR3, SC_PM_PW_MODE_ON); + sc_pm_set_resource_power_mode(ipc_handle, SC_R_CAAM_JR3_OUT, SC_PM_PW_MODE_ON); +#endif /* * tell BL3-1 where the non-secure software image is located diff --git a/plat/imx/imx8qxp/include/sec_rsrc.h b/plat/imx/imx8qxp/include/sec_rsrc.h index 81114d18..6b497153 100644 --- a/plat/imx/imx8qxp/include/sec_rsrc.h +++ b/plat/imx/imx8qxp/include/sec_rsrc.h @@ -17,6 +17,12 @@ sc_rsrc_t secure_rsrcs[] = { SC_R_GIC, SC_R_SYSTEM, SC_R_GPT_0, +#ifdef SPD_trusty + SC_R_CAAM_JR2, + SC_R_CAAM_JR2_OUT, + SC_R_CAAM_JR3, + SC_R_CAAM_JR3_OUT, +#endif SC_R_IRQSTR_SCU2 }; |