I am running a custom board based on the riotboard (imx6Solo - 2x512 MB = 1GB DDR3), and I have several questions regarding DDR calibration, and how to handle multiple versions/references of DDR during the lifespan of the product.
1) What does DDR calibration values depends on ? Does it solely depends on the traces connecting the DDR chip to the imx6, or does it also depends on the DDR chip itself ? I ran some tests with different DDR references, and the results were roughly the same which suggests it doesn't depends on the DDR chip, but I can't deduct anything from a single test..
2) Correct me if I'm wrong, but at the start, the DDR is initialized with values read from the DCD table located in the first 4KB of the U-boot binary. What I'd like to know is, would it be possible to support multiple DDR calibration values to accommodate for multiple DDR versions/references inside the DCD table ? The correct values would be picked by eg. a conditional check on a GPIO ? Does it seem possible or not ?
Thanks for reading me,