What is the purpose of generating DDR calibration values?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

What is the purpose of generating DDR calibration values?

656 次查看
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?

标签 (1)
0 项奖励
回复
3 回复数

633 次查看
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.

622 次查看
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 项奖励
回复

613 次查看
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 项奖励
回复