AnsweredAssumed Answered

u-boot stuck after porting LPDDR2 base on IMX7ULP

Question asked by Sam Liu on Jul 4, 2018
Latest reply on Jul 13, 2018 by igorpadykov

Hello Everyone,

  In my project is base on I.MX7ULP and porting SDRAM LPDDR2 on my project EVB and BSP :imx-4.9.51-8mq_ga.

  (Original  BSP SDRAM setting in is for LPDDR3)


Now I already porting the setting of DCD table in imximage.cfg file.But when I power on my EVB the u-boot will stuck at "DRAM:" line and then no log anymore  .


log show as below: 


U-Boot 2017.03-imx_v2017.03_4.9.51_imx8m_ga+g2537522 (Jul 04 2018 - 14:27:51 +0800)

CPU: Freescale i.MX7ULP rev2.0 at 500 MHz
Reset cause: POR
Boot mode: Dual boot




And then I trace the u-boot source code ,u-boot will stuck at the command : "size += gd->bd->bi_dram[i].size;"

 in "static int show_dram_config(void)"  function   of the "board_f.c" file .

u-boot source code  show as below:


static int show_dram_config(void)
unsigned long long size;

int i;

debug("\nRAM Configuration:\n");
for (i = size = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
size += gd->bd->bi_dram[i].size;
debug("Bank #%d: %llx ", i,
(unsigned long long)(gd->bd->bi_dram[i].start));
#ifdef DEBUG
print_size(gd->bd->bi_dram[i].size, "\n");
debug("\nDRAM: ");
size = gd->ram_size;

print_size(size, "");

return 0;



It's seem like that execute "gd->bd->bi_dram[i].size;" operation will cause the error. 

Does anyone can help me whether I porting the imximage.cfg (for change SDRAM to LPDDR2  on my EVB )incorrect ?

Or other reason cause this error ?