diff options
author | Silvano di Ninno <silvano.dininno@nxp.com> | 2018-05-17 17:32:10 +0200 |
---|---|---|
committer | Abel Vesa <abel.vesa@nxp.com> | 2018-06-11 10:33:03 +0300 |
commit | 7dd1b741efdc60ca6b5eaafc9d863744beb7064e (patch) | |
tree | 2d1a1dcf8f172b0d090b182a6255ccbfc79792eb /plat/imx/imx8mm | |
parent | ddac82579f52819dc24e6bf5eb23f9fd354844fb (diff) |
MLK-18343-2: plat: imx8mm: add support for RDC and CSU
move CSU and RDC driver to common/i.mx8m folder
and enable the driver for i.mx8mm
Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Reviewed-by: Aymen Sghaier <aymen.sghaier@nxp.com>
Diffstat (limited to 'plat/imx/imx8mm')
-rw-r--r-- | plat/imx/imx8mm/imx8mm_bl31_setup.c | 12 | ||||
-rw-r--r-- | plat/imx/imx8mm/include/platform_def.h | 2 | ||||
-rw-r--r-- | plat/imx/imx8mm/platform.mk | 2 |
3 files changed, 13 insertions, 3 deletions
diff --git a/plat/imx/imx8mm/imx8mm_bl31_setup.c b/plat/imx/imx8mm/imx8mm_bl31_setup.c index 4dc2b1af..f5b07edb 100644 --- a/plat/imx/imx8mm/imx8mm_bl31_setup.c +++ b/plat/imx/imx8mm/imx8mm_bl31_setup.c @@ -19,6 +19,8 @@ #include <xlat_tables.h> #include <soc.h> #include <tzc380.h> +#include <imx_csu.h> +#include <imx_rdc.h> /* linker defined symbols */ extern unsigned long __RO_START__; @@ -69,7 +71,6 @@ static uint32_t get_spsr_for_bl33_entry(void) #define GPR_TZASC_EN (1 << 0) #define GPR_TZASC_EN_LOCK (1 << 16) -#if 1 void bl31_tzc380_setup(void) { unsigned int val; @@ -131,17 +132,17 @@ static void imx8mm_aips_config(void) mmio_write_32(0x32df004c, 0x0); mmio_write_32(0x32df0050, 0x0); } -#endif void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, u_register_t arg2, u_register_t arg3) { +#if !defined (CSU_RDC_TEST) int i; /* enable CSU NS access permission */ for (i = 0; i < 64; i++) { mmio_write_32(0x303e0000 + i * 4, 0xffffffff); } - +#endif /* config the aips access permission */ imx8mm_aips_config(); @@ -168,6 +169,11 @@ void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, bl33_image_ep_info.args.arg2 = 0x2000000; #endif bl31_tzc380_setup(); + +#if defined (CSU_RDC_TEST) + csu_test(); + rdc_test(); +#endif } void bl31_plat_arch_setup(void) diff --git a/plat/imx/imx8mm/include/platform_def.h b/plat/imx/imx8mm/include/platform_def.h index 41070489..e0981af8 100644 --- a/plat/imx/imx8mm/include/platform_def.h +++ b/plat/imx/imx8mm/include/platform_def.h @@ -64,6 +64,8 @@ #define IMX_ANAMIX_BASE 0x30360000 #define IMX_SRC_BASE 0x30390000 #define IMX_GPC_BASE 0x303a0000 +#define IMX_RDC_BASE 0x303d0000 +#define IMX_CSU_BASE 0x303e0000 #define IMX_WDOG_BASE 0x30280000 #define IMX_SNVS_BASE 0x30370000 #define IMX_NOC_BASE 0x32700000 diff --git a/plat/imx/imx8mm/platform.mk b/plat/imx/imx8mm/platform.mk index b3c50c9a..57368612 100644 --- a/plat/imx/imx8mm/platform.mk +++ b/plat/imx/imx8mm/platform.mk @@ -16,6 +16,8 @@ BL31_SOURCES += plat/imx/common/imx8_helpers.S \ plat/imx/imx8mm/gpc.c \ plat/imx/imx8mm/misc.c \ plat/imx/common/imx8m/hab.c \ + plat/imx/common/imx8m/imx_csu.c \ + plat/imx/common/imx8m/imx_rdc.c \ plat/imx/imx8mm/imx8mm_psci.c \ plat/imx/common/imx8_topology.c \ plat/common/plat_psci_common.c \ |