DDRCAL: Retry error during boot

Has anybody seen and fixed the “DDRCAL: Retry” error during uboot?

I’ve had a working A10 SoC build, happily booting, running, etc and sometimes after adding logic or even one new signal in SignalTap I receive the “DDRCAL: Retry” error on boot. Since the DDR memory is not initialized the board will eventually reset when it fails to load other items into memory and then it repeats. The changes that I made between builds were not inside the HPS QSYS but I made sure to rebuild it and then regenerate the preloader/uboot each time. I have not been able to determine the exact cause or solution to the error. Taking the most recent changes back out can get me back to a booting image.

Digging around in the uboot code the error occurs when “socfpga_ecc_hmc_base->ddrcalstat” doesn’t return a 1 to indicate that the DDR calibration was successful. That function is called “is_sdram_cal_success” and can be found around line 110 of the \uboot-socfpga\arch\arm\cpu\armv7\socfpga_arria10\sdram.c file.

Some more info:
Board: A10 SoC Eval
Quartus: 15.1
EDS: 15.1

Thank you!

15.1 is the first release of A10 which is targeted for rev A dev kit.
In this version, we have some connection needed between the GPIO and SDRAM controller.
This design is include with the standard GHRD.
Do ensure you didn’t accidentally remove this connection.

Chin Liang

Thank you for the reply Chin!
Those are removed in my design, and have been for many builds. Since they have been removed for many builds and the problem is intermittent does it still sound like the issue?

Regardless, I will add them back in - to clarify are you talking about the hps_gpio_GPIOxx pins or the h2f_gp_gp_in/out?