Please refer to the following patch provided in yocto dunfell ATF source code.
From c8af318189df720a5e0e775410c1cc19d8ed4a1a Mon Sep 17 00:00:00 2001
From: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Date: Mon, 20 May 2019 14:15:01 +0530
Subject: [PATCH] nxp: ddr: ls1012a: fixes random hang issue
Fixes random u-boot hang issue after DDR intialization
by changing programming sequence of hardware write-leveling
calibration.
Signed-off-by: Balkar Saini <balkar.saini@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
---
plat/nxp/drivers/ddr/fsl-mmdc/fsl_mmdc.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/plat/nxp/drivers/ddr/fsl-mmdc/fsl_mmdc.c b/plat/nxp/drivers/ddr/fsl-mmdc/fsl_mmdc.c
index 8efeddb47..e8f784597 100644
--- a/plat/nxp/drivers/ddr/fsl-mmdc/fsl_mmdc.c
+++ b/plat/nxp/drivers/ddr/fsl-mmdc/fsl_mmdc.c
@@ -106,13 +106,10 @@ void mmdc_init(const struct fsl_mmdc_info *priv)
MPZQHWCTRL_ZQ_HW_FORCE);
/* 9a. calibrations now, wr lvl */
- out_be32(&mmdc->mdscr, CMD_ADDR_LSB_MR_ADDR(0x84) |
+ out_be32(&mmdc->mdscr, CMD_ADDR_LSB_MR_ADDR(0x84) | MDSCR_WL_EN |
MDSCR_ENABLE_CON_REQ |
CMD_LOAD_MODE_REG | CMD_BANK_ADDR_1);
- out_be32(&mmdc->mdscr, MDSCR_ENABLE_CON_REQ | MDSCR_WL_EN |
- CMD_NORMAL);
-
set_wait_for_bits_clear(&mmdc->mpwlgcr, MPWLGCR_HW_WL_EN,
MPWLGCR_HW_WL_EN);
--
2.17.1