Good day!
We are trying to bring up our custom LS1046-based board up and stucked with DDR4 calibration procedure.
SPD data of the modules is red successfully, calibration process starts successfully too, but after that it fails with this reason(log from CodeWarrior
############################### Run 1
Result for: wrlvl_searcher
######################################
Test result: [
============================================================
Updated:
WRLVL_CNTL = 0x8655F605, WRLVL_CNTL_2 = 0x00000000,
WRLVL_CNTL_3 = 0x00000000, SDRAM_CLK_CNTL = 0x02800000
============================================================
Updated:
WRLVL_CNTL = 0x8655F60A, WRLVL_CNTL_2 = 0x0B0B0C0F,
WRLVL_CNTL_3 = 0x0F10110D, SDRAM_CLK_CNTL = 0x02800000
============================================================
Updated:
WRLVL_CNTL = 0x8655F60A, WRLVL_CNTL_2 = 0x0B0B0C0F,
WRLVL_CNTL_3 = 0x0F101115, SDRAM_CLK_CNTL = 0x02800000
============================================================
Updated:
WRLVL_CNTL = 0x8655F60A, WRLVL_CNTL_2 = 0x0B0B0C0F,
WRLVL_CNTL_3 = 0x0F10111D, SDRAM_CLK_CNTL = 0x02800000
Write Leveling start values are correct and require no further modification,
but the test failed due to other issues.
Most common failure causes:
-incorrect values configured in DDR4 DQn_MAP registers
-incorrect ODT values
-incorrect driver strength selected
-incorrect timing values selected for Timing Configuration 0 properties (TIMING_CFG_0 register)
<<Test failed!>>
{{Write Leveling start values are correct and require no further modification,
but the test failed due to other issues.}}
Err. capture registers:
0xE20, 0xDEADBEEF
0xE24, 0xDEADBEEF
0xE28, 0x00000000
0xE40, 0x00000000
0xE44, 0x00000000
0xE48, 0x0000001D
0xE4C, 0x60FF2001
0xE50, 0x00001FC0
0xE54, 0x00000000
0xE58, 0x00010000
############################################
DQ mapping seems to be OK - we have 1:1 mapping from CPU to DDR slot, so we use DQ mappings from DDR module SPD without changing.
What can be the problem?