summaryrefslogtreecommitdiff
path: root/plat/imx/imx8m/imx8mn
diff options
context:
space:
mode:
Diffstat (limited to 'plat/imx/imx8m/imx8mn')
-rw-r--r--plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c4
-rw-r--r--plat/imx/imx8m/imx8mn/include/platform_def.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
index 8e7a8d6b..7078767d 100644
--- a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
+++ b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
@@ -203,6 +203,10 @@ void bl31_platform_setup(void)
plat_gic_init();
imx_gpc_init();
+
+ /* Enable and reset M7 */
+ mmio_setbits_32(IMX_SRC_BASE + 0xc, SRC_SCR_M4_ENABLE_MASK);
+ mmio_clrbits_32(IMX_SRC_BASE + 0xc, SRC_SCR_M4C_NON_SCLR_RST_MASK);
}
entry_point_info_t *bl31_plat_get_next_image_ep_info(unsigned int type)
diff --git a/plat/imx/imx8m/imx8mn/include/platform_def.h b/plat/imx/imx8m/imx8mn/include/platform_def.h
index f059c10b..e90fc8dd 100644
--- a/plat/imx/imx8m/imx8mn/include/platform_def.h
+++ b/plat/imx/imx8m/imx8mn/include/platform_def.h
@@ -107,9 +107,13 @@
#define SRC_A53RCR0 U(0x4)
#define SRC_A53RCR1 U(0x8)
+#define SRC_M4RCR U(0xc)
#define SRC_OTG1PHY_SCR U(0x20)
#define SRC_GPR1_OFFSET U(0x74)
+#define SRC_SCR_M4_ENABLE_MASK BIT(3)
+#define SRC_SCR_M4C_NON_SCLR_RST_MASK BIT(0)
+
#define SNVS_LPCR U(0x38)
#define SNVS_LPCR_SRTC_ENV BIT(0)
#define SNVS_LPCR_DP_EN BIT(5)