What is the purpose of generating DDR calibration values?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

What is the purpose of generating DDR calibration values?

517 Views
adevries
Contributor V

Hello,

For the i.MX 8M Mini processor, what is the purpose of using the mscale ddr tool to generate DDR calibration values?

I have an i.MX 8M Mini processor that runs u-boot. Looking at the u-boot source code, I believe u-boot trains and calibrates the DDR memory every time it boots up. Given that u-boot has this capability, why is it necessary when first bringing up a board to use the mscale ddr tool and manually generate DDR calibration values?

Labels (1)
0 Kudos
3 Replies

494 Views
JorgeCas
NXP TechSupport
NXP TechSupport

Hello,

The i.MX 8M Family DDR Tool is a Windows-based software to help users to do LPDDR4/DDR4/DDR3L training, stress test and DDR initial code generation for u-boot SPL.

The purpose of the i.MX 8M Family DDR Tools is to enable users to generate and test a custom DRAM initialization based on their device configuration (density, number of chip selects, etc.) and board layout (data bus bit swizzling, etc.).

Best regards.

483 Views
adevries
Contributor V

Hi Jorge,

Thanks for the response. So one purpose of the DDR tool is to generate code that properly initializes DRAM based on the DRAM part selected and how it was connected to the 8M Mini. Okay, that makes sense.

But the mscale DDR tool also trains and calibrates the DDR memory. When you click "Gen Code", it even generates a file called "ddrphy_train.c", and another called "lpddr4_timing.c". So, in addition to telling u-boot the DRAM configuration (DDR type, density, bit swizzling, etc.), it looks like we also communicate the timing and calibration results to u-boot. But why? Doesn't u-boot regenerate these calibration values on every boot? Where/how do the mscale-generated timing and calibration values get used?

0 Kudos

474 Views
JorgeCas
NXP TechSupport
NXP TechSupport

Hello,

It seems that it is referring to the same because, DDR configuration and validation tool, which is an embedded component of Config tools for IMX and supports IMX8MSCALE devices.

When you use DDR configuration and validation tool it is just to be safe on your design by running the DDR stress tool, getting the corresponding training and calibration for your DDR memory. If you are getting those files from mscale DDR tool and your board is working correctly, you are good to work with it.

Those files are used by U-boot to understand the complete DDR initialization flow.

Best regards.

0 Kudos