i.MX93 LPDDR4x training issue

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX93 LPDDR4x training issue

2,452件の閲覧回数
ArtKl
Contributor II

Hello,

We have a custom board based on MCIMX93-EVK with 2GB LPDDR4x (Alliance Memory AS4C128M16MD4V-062BAN).

u-boot lf-6.6.23-2.0.0

We are facing SDRAM training failures at temperatures below 0°C:

U-Boot SPL 2024.04-g11f8b60b-dirty (Jan 08 2025 - 13:37:19 +0200)
SOC: 0xa1009300
LC: 0x2040010
PMIC: PCA9451A
PMIC: Over Drive Voltage Mode
enabling tvpe load switch
DDR: 3200MTS
DDRINFO: start DRAM init
DDRINFO: cfg clk
DDRINFO:ddrphy config start
DRAM PHY training for 3200MTS
[PMU Major message = 0x00000008]
PMU String index = 0x00a90000
[PMU Major message = 0x00000008]
PMU String index = 0x04020000
[PMU Major message = 0x000000ff]
Training FAILED
DRAM PHY training for 1600MTS
[PMU Major message = 0x0000000d]
[PMU Major message = 0x00000000]
[PMU Major message = 0x00000002]
[PMU Major message = 0x00000001]
[PMU Major message = 0x000000fd]
[PMU Major message = 0x000000fe]
[PMU Major message = 0x00000004]
[PMU Major message = 0x00000003]
[PMU Major message = 0x00000009]
[PMU Major message = 0x00000007]
Training PASS
DRAM PHY training for 625MTS
[PMU Major message = 0x0000000d]
[PMU Major message = 0x00000000]
[PMU Major message = 0x00000002]
[PMU Major message = 0x00000001]
[PMU Major message = 0x000000fd]
[PMU Major message = 0x000000fe]
[PMU Major message = 0x00000004]
[PMU Major message = 0x00000003]
[PMU Major message = 0x00000009]
[PMU Major message = 0x00000007]
Training PASS
DRAM PHY training for 3200MTS
[PMU Major message = 0x00000000]
[PMU Major message = 0x00000008]
PMU String index = 0x00530000
[PMU Major message = 0x00000008]
PMU String index = 0x04020000
[PMU Major message = 0x000000ff]
Training FAILED

However, using Config Tools for i.MX v16.1 training never fails even at -40°C (see attached files).

We would like to know what is the difference between training in u-boot lf-6.6.23-2.0.0 and Config Tools for i.MX v16.1. What can be an issue?

 

 

 

0 件の賞賛
返信
4 返答(返信)

2,415件の閲覧回数
ArtKl
Contributor II

Don't think this is the case. We use same lpddr4x_timing.c in uboot and config tool. So the result must be the same.

0 件の賞賛
返信

2,400件の閲覧回数
JorgeCas
NXP TechSupport
NXP TechSupport

Hello,

For that I understood, your board is able to pass the stress test in Config Tools but is not able to pass the training when booting.

These two cases are different situations that could affect the final result, as @monica46cole mentioned, temperature could affect the signal integrity causing this behavior.

You could try to change the tunning with different settings and check if helps with your design:

ODTImpedance

Desired ODT impedance in Ohm. Valid values for DDR4=240,120,80,60,40. Valid values for DDR3L=high-impedance,120,60,40. Valid values for LPDDR4=240,120,80,60,40

TxImpedance

Write Driver Impedance for DQ/DQS in ohm (Valid values for all DDR type= 240, 120, 80, 60, 48, 40, 34)

ATxImpedance

Write Driver Impedance for Address/Command (AC) bus in ohm (Valid values for all DDR type = 120, 60, 40, 30, 24, 20)

Best regards.

0 件の賞賛
返信

2,315件の閲覧回数
ArtKl
Contributor II

Hey,

After sniffing PMIC I2C bus we managed to find out what was wrong.

Config tool and uboot were using different PMIC settings.

Long story short time.c was generated with lower VDDQ while uboot was running with higher VDDQ.

Anyways now system is running well in range of -40 ... +60

 

Thank you, case closed

2,450件の閲覧回数
monica46cole
Contributor I

Temperature Sensitivity: Low temperatures affect signal integrity, causing training failures in U-Boot but not in Config Tools.

Configuration Differences: U-Boot might not be as finely tuned as Config Tools for extreme conditions.

Recommendations: Compare configurations, check signal integrity, consult documentation.
Tell Culvers com

0 件の賞賛
返信