summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvano di Ninno <silvano.dininno@nxp.com>2018-05-17 17:32:10 +0200
committerAbel Vesa <abel.vesa@nxp.com>2018-06-11 10:33:03 +0300
commit7dd1b741efdc60ca6b5eaafc9d863744beb7064e (patch)
tree2d1a1dcf8f172b0d090b182a6255ccbfc79792eb
parentddac82579f52819dc24e6bf5eb23f9fd354844fb (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>
-rw-r--r--plat/imx/common/imx8m/imx_csu.c (renamed from plat/imx/imx8mq/imx_csu.c)0
-rw-r--r--plat/imx/common/imx8m/imx_rdc.c (renamed from plat/imx/imx8mq/imx_rdc.c)0
-rw-r--r--plat/imx/common/include/imx_csu.h (renamed from plat/imx/imx8mq/include/imx_csu.h)0
-rw-r--r--plat/imx/common/include/imx_rdc.h (renamed from plat/imx/imx8mq/include/imx_rdc.h)0
-rw-r--r--plat/imx/imx8mm/imx8mm_bl31_setup.c12
-rw-r--r--plat/imx/imx8mm/include/platform_def.h2
-rw-r--r--plat/imx/imx8mm/platform.mk2
-rw-r--r--plat/imx/imx8mq/platform.mk4
8 files changed, 15 insertions, 5 deletions
diff --git a/plat/imx/imx8mq/imx_csu.c b/plat/imx/common/imx8m/imx_csu.c
index 85c1caf8..85c1caf8 100644
--- a/plat/imx/imx8mq/imx_csu.c
+++ b/plat/imx/common/imx8m/imx_csu.c
diff --git a/plat/imx/imx8mq/imx_rdc.c b/plat/imx/common/imx8m/imx_rdc.c
index 1929c99b..1929c99b 100644
--- a/plat/imx/imx8mq/imx_rdc.c
+++ b/plat/imx/common/imx8m/imx_rdc.c
diff --git a/plat/imx/imx8mq/include/imx_csu.h b/plat/imx/common/include/imx_csu.h
index a4ae9abd..a4ae9abd 100644
--- a/plat/imx/imx8mq/include/imx_csu.h
+++ b/plat/imx/common/include/imx_csu.h
diff --git a/plat/imx/imx8mq/include/imx_rdc.h b/plat/imx/common/include/imx_rdc.h
index 1b7179cc..1b7179cc 100644
--- a/plat/imx/imx8mq/include/imx_rdc.h
+++ b/plat/imx/common/include/imx_rdc.h
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 \
diff --git a/plat/imx/imx8mq/platform.mk b/plat/imx/imx8mq/platform.mk
index 4065e452..8cddf99a 100644
--- a/plat/imx/imx8mq/platform.mk
+++ b/plat/imx/imx8mq/platform.mk
@@ -21,8 +21,8 @@ BL31_SOURCES += plat/imx/common/imx8_helpers.S \
plat/imx/common/imx8m/hab.c \
plat/imx/imx8mq/gpc.c \
plat/imx/imx8mq/imx8mq_psci.c \
- plat/imx/imx8mq/imx_csu.c \
- plat/imx/imx8mq/imx_rdc.c \
+ plat/imx/common/imx8m/imx_csu.c \
+ plat/imx/common/imx8m/imx_rdc.c \
plat/imx/common/imx8_topology.c \
plat/common/plat_psci_common.c \
lib/xlat_tables/aarch64/xlat_tables.c \