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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

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

1,495 次查看
amr
Contributor I

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,

标签 (3)
0 项奖励
回复
1 回复

1,407 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Amr

regarding boot from USHSDC1 one can look at description on p.8

attached EVK Guide and try to reproduce steps on i.MX6UL EVK reference board.

As for custom board, one can try to debug and find where it stops: add additional

printfs in code, or gpio toggle, or attach jtag and then check where in uboot codes processor

stops.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复