I have a custom DDR4 imx 8 plus design. I am having a really difficult time getting this working and would really appreciate further support. I worry we cant take NXP forward in this design otherwise.
I am using Config Tools for i.MX which does pass training. When I copy the timing file (timing.c) generated by Config Tools u-boot crashes.
To check my setup, I used Config Tools to generate timing.c for the LP-DDR evaluation kit and uboot was fine!
When I use the default ddr4 timing.c file from the evaluation kit, uboot on my custom PCB does boot but for a slow DDR4 clock speed.
Why is DDR4 on my custom PCB not working using the timing.c output from Config Tools whilst training passed?
@AldoG Thank you for helping me
We are following the i.MX Linux User's Guide (IMXLUG) LF6.1.55_2.2.0 15 December 2023 when we are building U-Boot.
Our code comes from the repo at https://github.com/nxp-imx/uboot-imx and we are using the branch lf_v2023.04.
To compile U-Boot, we cd to the Uboot code and then run these commands:
export CROSS_COMPILE=aarch64-none-elf-
make distclean
make imx8mp_ddr4_evk_defconfig
make
We then copy u-boot.bin and u-boot-spl.bin to the imx-mkimage code, cd to this location and run these commands to make the image:
make SOC=iMX8MP flash_ddr4_evk
Hello,
I believe that you have skkiped some steps here and there, please confirm, I can share some steps to build in standalone for the i.MX8MScale devices.
When you copied your timing.c file to uboot before build, did you rename it accordinlgly (ddr4_timing.c)?
Best regards/Saludos,
Aldo.
We used the Config Tools for i.MX V15 to generate the timing file. It generated a file called ddr4_timing.c so there was no need to change the name. I replaced the default version of ddr4_timing.c in u-boot with the generated version prior to compiling.