AnsweredAssumed Answered

U-boot DDR3 configuration for a custom board based on mx6ul_14x14_evk

Question asked by Amr Bekhit on Feb 7, 2020
Latest reply on Feb 9, 2020 by igorpadykov

Hello,

 

I'm working on a custom board using the i.MX6UL MCIMX6G3CVM05AB and based on the mx6ul_14x14_evk:

  • DDR3L 512MiB RAM (256x16bit) MT41K256M16LY-093:N
  • MicroSD card connected to USHSDC1.

 

I've run the DDR Stress Test tool v3 using a custom script file (generated using the i.MX6UL_DDR3_Script_Aid_V0.02) and calibrated the DDR3 at 400MHz, with MR1 = 0x0004. The stress tests run fine for a long time at 400MHz, so hopefully that verifies that the hardware is OK.

 

I then tried to get U-boot compiled for the board by following the below steps:

  1. Downloaded uboot-imx from https://source.codeaurora.org/external/imx/uboot-imx
  2. Used the mx6ul_14x14_evk_defconfig
  3. Removed the existing DCD configuration data in imximage.cfg and replaced it with the contents of the init script generated previously, modifying the format of the file to suit the imximage.cfg DCD format. I also added the DDR calibration values to the .cfg file.
  4. Compiled U-boot and then flashed the file on to the microSD card using: sudo dd if=u-boot-dtb.imx of=/dev/sdx bs=1k seek=1

 

Unfortunately, I don't get any output on UART1. I also tried to compile mainline U-boot using the same defconfig. Mainline U-boot uses SPL to configure the DDR3 and contains several structs that are used to define the DDR3 configuration. Although the SPL runs and I can see its output on UART1, U-boot does not load, and I suspect the problem is related to the DDR3 configuration.

 

I've attached the DDR3 Stress Test tool output and the initial configuration script, as well as the modified imximage.cfg file.

 

Any thoughts as to what could be wrong?

 

Thanks,

Outcomes