summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacky Bai <ping.bai@nxp.com>2019-12-03 10:38:11 +0800
committerAnson Huang <Anson.Huang@nxp.com>2019-12-13 10:45:50 +0800
commit837f1ff8c210d7518d7264177b1675694f57012b (patch)
tree2844625b4c4a3663f8dcc7785a5dfb36eb45dbef
parentfc444a01c1306fc09a43c9b8e064973f3ba5cb3d (diff)
plat: imx8mn: Enable dram retention suuport on imx8mn
Enable dram retention support on i.MX8MN. Signed-off-by: Jacky Bai <ping.bai@nxp.com>
-rw-r--r--plat/imx/imx8m/ddr/dram_retention.c4
-rw-r--r--plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c4
-rw-r--r--plat/imx/imx8m/imx8mn/platform.mk4
3 files changed, 12 insertions, 0 deletions
diff --git a/plat/imx/imx8m/ddr/dram_retention.c b/plat/imx/imx8m/ddr/dram_retention.c
index 91d887fe..b919fecc 100644
--- a/plat/imx/imx8m/ddr/dram_retention.c
+++ b/plat/imx/imx8m/ddr/dram_retention.c
@@ -132,8 +132,12 @@ void dram_exit_retention(void)
/* before write Dynamic reg, sw_done should be 0 */
mmio_write_32(DDRC_SWCTL(0), 0x0);
+
+#if !PLAT_imx8mn
if (dram_info.dram_type == DDRC_LPDDR4)
mmio_write_32(DDRC_DDR_SS_GPR0, 0x01); /*LPDDR4 mode */
+#endif /* !PLAT_imx8mn */
+
mmio_write_32(DDRC_DFIMISC(0), 0x0);
/* dram phy re-init */
diff --git a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
index b8fcca92..190a874e 100644
--- a/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
+++ b/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
@@ -21,6 +21,7 @@
#include <lib/xlat_tables/xlat_tables.h>
#include <plat/common/platform.h>
+#include <dram.h>
#include <gpc.h>
#include <imx_aipstz.h>
#include <imx_uart.h>
@@ -169,6 +170,9 @@ void bl31_platform_setup(void)
/* select the CKIL source to 32K OSC */
mmio_write_32(IMX_ANAMIX_BASE + ANAMIX_MISC_CTL, 0x1);
+ /* Init the dram info */
+ dram_info_init(SAVED_DRAM_TIMING_BASE);
+
plat_gic_driver_init();
plat_gic_init();
diff --git a/plat/imx/imx8m/imx8mn/platform.mk b/plat/imx/imx8m/imx8mn/platform.mk
index 798a795e..8d7f8feb 100644
--- a/plat/imx/imx8m/imx8mn/platform.mk
+++ b/plat/imx/imx8m/imx8mn/platform.mk
@@ -8,6 +8,9 @@ PLAT_INCLUDES := -Iplat/imx/common/include \
-Iplat/imx/imx8m/include \
-Iplat/imx/imx8m/imx8mn/include
+IMX_DRAM_SOURCES := plat/imx/imx8m/ddr/dram.c \
+ plat/imx/imx8m/ddr/dram_retention.c
+
IMX_GIC_SOURCES := drivers/arm/gic/v3/gicv3_helpers.c \
drivers/arm/gic/v3/arm_gicv3_common.c \
drivers/arm/gic/v3/gic500.c \
@@ -36,6 +39,7 @@ BL31_SOURCES += plat/imx/common/imx8_helpers.S \
drivers/arm/tzc/tzc380.c \
drivers/delay_timer/delay_timer.c \
drivers/delay_timer/generic_delay_timer.c \
+ ${IMX_DRAM_SOURCES} \
${IMX_GIC_SOURCES}
USE_COHERENT_MEM := 1