DDR4 Memory Validation Error Message

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

DDR4 Memory Validation Error Message

3,991 Views
jans_
Contributor II

Hello,

we are trying to run the DDRv tool on our new T1022 Board.

We have got the following error message:

DDR initialization failed: Invalid value at 0xF04: 0x00003002

I cannot find any explanation what this message precisely means.

Where can I find any documentation about this register?

What is the purpose of the register at 0xF04?

What's the meaning of the bits that are set and what would be correct values?

 

regards

Jan

Labels (1)
10 Replies

2,533 Views
jans_
Contributor II

We have now finally figured out what the problem was. There were erroneous values in the DQ-mapping registers (DDR_DDR_DQ_MAPx). Therefore autocalibration did not work and the ACE bit (DDR_ERR_DETECT) was set. Unfortunately the error messages we got were not very helpful and nobody pointed us into the right direction, so without DDR4 design experience it took us quite some time until we found the solution. Also, we were not sure if the DQx designators in the headline of the programming table in the reference manual were referring to the processor or the RAM (now we know it is the processor).

2,533 Views
mingxia
Contributor I

Hi jans,

   I have face nearly the some problem to U now,but only one different is that i use the DDR3L(MICRON SDRAM MT41K1G16HA-125IT-E),but the message is SAME with U.

We have got the following error message:

DDR initialization failed: Invalid value at 0xF04: 0x00003102

and the full report is nearly same to your infomations,DDR_ERR_DETECT value is always in 0x00000080 (ACE err).

Unfortunately,I can`t find the reason about my problem,because my DDR3L have no registers named  DDR_DDR_DQ_MAPx.

Maybe the other registers val were wrong,maybe the HARDWARE designes have some problem,i can`t sure in brief.

best regards

0 Kudos

2,533 Views
jans_
Contributor II

May be there is an WR_LAT error in the memory controller? If we program the WR_LAT register with 9, 10 or 11 clocks we actually get 8, 9 or 10 clocks (always one clock cycle less than programmed)??

Jan

0 Kudos

2,533 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello jans,

Please check RCW configuration, you could refer to T1040RDBD4 RCW configuration about DDR configuration, for example configure RCW[DRAM_LAT] as 01.

In addition, please pay attention to the erratum A-007864, DDR interface may fail to operate when DDR4 memories are configured for 32-bit or less data bus and run at 1600 MT/s data rate.

If your problem remains, please submit a service request in our system to review your hardware design.

Thanks,

Yiping

0 Kudos

2,533 Views
jans_
Contributor II

Hi Yiping,

thanks for your answer. We already configured RCW[DRAM_LAT] as 01, as you have suggested.

We use 64 bits bus width + ECC (5x EDY4016AABG , x16 DRAMs).

best regards

Jan

0 Kudos

2,533 Views
jans_
Contributor II

We made our first steps with the T1040RDB-development board (Ver.C). Unfortunately this board is fitted with DDR3 DRAM, and not DDR4. We looked into the software and found quite a bit of DDR3 workaround code. Are there any issues with DDR4 and T1022? Any workarounds for DDR4 configuration needed? What else do we have to look for?

Jan

0 Kudos

2,533 Views
jans_
Contributor II

There is no SPD (no modules). There are 5 DDR4-DRAMs (Micron EDY4016AABG-DR-F; configuration - 4x16 + ECC) directly soldered to the board. Yes, uboot is running (at least the first stage). We get an ACE autocalibration error. We have two prototype boards. On one board D_INIT is eventually cleared, on the other one it is not. So there is probably more than one error, at least on one of our boards.

Jan

0 Kudos

2,533 Views
jans_
Contributor II

This is the full error report:

Err. capture registers: 0xE20, 0x00000000      0xE24, 0x00000000      0xE28, 0x00000000      0xE40, 0x00000080      0xE44, 0x00000000      0xE48, 0x0000001D      0xE4C, 0x00000000      0xE50, 0x00000000      0xE54, 0x00000000      0xE58, 0x00010000        Dump: 0xF00, 0x00000000      0xF04, 0x00003102      0xF08, 0x0000000B      0xF0C, 0x14000C20      0xF10, 0x00000000      0xF14, 0x00000000      0xF18, 0x00000000      0xF1C, 0x00000000      0xF20, 0x00000000      0xF24, 0x10101010      0xF28, 0x10101010      0xF2C, 0x10101010      0xF30, 0x10101010      0xF34, 0x10103000      0xF38, 0x00000000      0xF3C, 0x00000000      0xF40, 0x00000000      0xF44, 0x00000000      0xF48, 0x00000001      0xF4C, 0x94000000      0xF50, 0x11003E00      0xF54, 0x3F003E00      0xF58, 0x3C003C00      0xF5C, 0x2B000C00      0xF60, 0x0E000000      0xF64, 0x00000000      0xF68, 0x00000000      0xF6C, 0x00000000      0xF70, 0x00000000      0xF74, 0x00000000      0xF78, 0x00000000      0xF7C, 0x00000000      0xF80, 0x00000000      0xF84, 0x00000000      0xF88, 0x00000000      0xF8C, 0x00000000      0xF90, 0x00000000      0xF94, 0x00000000      0xF98, 0x00000000      0xF9C, 0x00000000      0xFA0, 0x00000000      0xFA4, 0x00000000      0xFA8, 0x00000000      0xFAC, 0x00000000      0xFB0, 0x00000003      0xFB4, 0x0F0F0F0F      0xFB8, 0x0F0F0F0F      0xFBC, 0x0F0F0F0F      0xFC0, 0x0F0F0F0F      0xFC4, 0x0F0F0F0F      0xFC8, 0x0F0F0F0F      0xFCC, 0x0F0F0F0F      0xFD0, 0x0F0F0F0F      0xFD4, 0x0F0F0F0F      0xFD8, 0x0F0F0F0F      0xFDC, 0x0F0F0F0F      0xFE0, 0x0F0F0F0F      0xFE4, 0x0F0F0F0F      0xFE8, 0x0F0F0F0F      0xFEC, 0x0F0F0F0F      0xFF0, 0x0F0F0F0F      0xFF4, 0x0F0F0F0F      0xFF8, 0x0F0F0F0F      0xFFC, 0x00004740        Data: 0x00000000    -------------------------------------------------------------------- Exception: (<<Error configuring the target! - DDR initialization failed: Invalid value at 0xF04: 0x00003102>>) -------------------------------------------------------------------- Target system was initialized 0 times and it took 0.000000 seconds. Target system effective test execution took 0.000000 seconds.

Jan

0 Kudos

2,533 Views
addiyi
NXP Employee
NXP Employee

The error "Error configuring the target! - DDR initialization failed" indicates a wrong configuration of the DDR. Do you have SPD on your DDR modules? Do you have uboot running on your board? If yes, you can the a valid DDR configuration from there. If not, you have to change the DDR configuration to get a correct DDR initialization.

Adrian

0 Kudos

2,533 Views
addiyi
NXP Employee
NXP Employee

0XF04 is a non public debug register. Please provide the full error reported by the DDRv tool.

Adrian