diff options
Diffstat (limited to 'plat/imx/imx8m/imx8mn')
-rw-r--r-- | plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c | 4 | ||||
-rw-r--r-- | plat/imx/imx8m/imx8mn/include/platform_def.h | 4 |
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) |