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
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).
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
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
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
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
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
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
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
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
0XF04 is a non public debug register. Please provide the full error reported by the DDRv tool.
Adrian