[U-Boot] [PATCH] ARM: imx6: Disable DDR DRAM calibration DHCOM i.MX6 PDK

The DDR DRAM calibration doesn't work on T-topology sometimes, so disable it.
Signed-off-by: Marek Vasut marex@denx.de Cc: Stefano Babic sbabic@denx.de --- board/dhelectronics/dh_imx6/dh_imx6_spl.c | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/board/dhelectronics/dh_imx6/dh_imx6_spl.c b/board/dhelectronics/dh_imx6/dh_imx6_spl.c index bb98f39f02..57ae7f15ce 100644 --- a/board/dhelectronics/dh_imx6/dh_imx6_spl.c +++ b/board/dhelectronics/dh_imx6/dh_imx6_spl.c @@ -387,10 +387,6 @@ void board_init_f(ulong dummy) &dhcom6sdl_grp_ioregs); mx6_dram_cfg(&dhcom_ddr_info, &dhcom_mmdc_calib, &dhcom_mem_ddr);
- /* Perform DDR DRAM calibration */ - udelay(100); - mmdc_do_dqs_calibration(&dhcom_ddr_info); - /* Clear the BSS. */ memset(__bss_start, 0, __bss_end - __bss_start);

Hi Marek,
On Mon, Dec 11, 2017 at 1:19 PM, Marek Vasut marex@denx.de wrote:
The DDR DRAM calibration doesn't work on T-topology sometimes, so disable it.
Signed-off-by: Marek Vasut marex@denx.de Cc: Stefano Babic sbabic@denx.de
board/dhelectronics/dh_imx6/dh_imx6_spl.c | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/board/dhelectronics/dh_imx6/dh_imx6_spl.c b/board/dhelectronics/dh_imx6/dh_imx6_spl.c index bb98f39f02..57ae7f15ce 100644 --- a/board/dhelectronics/dh_imx6/dh_imx6_spl.c +++ b/board/dhelectronics/dh_imx6/dh_imx6_spl.c @@ -387,10 +387,6 @@ void board_init_f(ulong dummy) &dhcom6sdl_grp_ioregs); mx6_dram_cfg(&dhcom_ddr_info, &dhcom_mmdc_calib, &dhcom_mem_ddr);
/* Perform DDR DRAM calibration */
udelay(100);
mmdc_do_dqs_calibration(&dhcom_ddr_info);
I also observed mmdc_do_dqs_calibration() failures and after applying this patch from Eric they were gone: https://lists.denx.de/pipermail/u-boot/2016-November/271596.html
Does this help to solve the mmdc_do_dqs_calibration() on your case too?

On 12/11/2017 04:23 PM, Fabio Estevam wrote:
Hi Marek,
Hi!
On Mon, Dec 11, 2017 at 1:19 PM, Marek Vasut marex@denx.de wrote:
The DDR DRAM calibration doesn't work on T-topology sometimes, so disable it.
Signed-off-by: Marek Vasut marex@denx.de Cc: Stefano Babic sbabic@denx.de
board/dhelectronics/dh_imx6/dh_imx6_spl.c | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/board/dhelectronics/dh_imx6/dh_imx6_spl.c b/board/dhelectronics/dh_imx6/dh_imx6_spl.c index bb98f39f02..57ae7f15ce 100644 --- a/board/dhelectronics/dh_imx6/dh_imx6_spl.c +++ b/board/dhelectronics/dh_imx6/dh_imx6_spl.c @@ -387,10 +387,6 @@ void board_init_f(ulong dummy) &dhcom6sdl_grp_ioregs); mx6_dram_cfg(&dhcom_ddr_info, &dhcom_mmdc_calib, &dhcom_mem_ddr);
/* Perform DDR DRAM calibration */
udelay(100);
mmdc_do_dqs_calibration(&dhcom_ddr_info);
I also observed mmdc_do_dqs_calibration() failures and after applying this patch from Eric they were gone: https://lists.denx.de/pipermail/u-boot/2016-November/271596.html
Does this help to solve the mmdc_do_dqs_calibration() on your case too?
Nope, I'm not getting calibration failures, I'm getting bitflips at runtime IFF I use the calibration. The calibration itself passes just fine.

On 11/12/2017 16:19, Marek Vasut wrote:
The DDR DRAM calibration doesn't work on T-topology sometimes, so disable it.
Signed-off-by: Marek Vasut marex@denx.de Cc: Stefano Babic sbabic@denx.de
board/dhelectronics/dh_imx6/dh_imx6_spl.c | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/board/dhelectronics/dh_imx6/dh_imx6_spl.c b/board/dhelectronics/dh_imx6/dh_imx6_spl.c index bb98f39f02..57ae7f15ce 100644 --- a/board/dhelectronics/dh_imx6/dh_imx6_spl.c +++ b/board/dhelectronics/dh_imx6/dh_imx6_spl.c @@ -387,10 +387,6 @@ void board_init_f(ulong dummy) &dhcom6sdl_grp_ioregs); mx6_dram_cfg(&dhcom_ddr_info, &dhcom_mmdc_calib, &dhcom_mem_ddr);
- /* Perform DDR DRAM calibration */
- udelay(100);
- mmdc_do_dqs_calibration(&dhcom_ddr_info);
- /* Clear the BSS. */ memset(__bss_start, 0, __bss_end - __bss_start);
Applied to u-boot-imx, thanks !
Best regards, Stefano Babic
participants (3)
-
Fabio Estevam
-
Marek Vasut
-
Stefano Babic