This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: Initlialzing DDR ... hang when SBL+OSPI Flash boot up

Part Number: TDA4VM

Hi TI,

We use DDR(MT53D1024M32D4DS-053:B(4GB,4266MHz)) in our custom board and config the new DDR parameter(k3-j721e-ddr-evm-lp4-3200.dtsi for SPL, board_ddrRegInit.h for SBL) according spracu8.pdf
It can boot in my custom board via SPL+SD bootup, but it will hang at "Initlialzing DDR ..." when use SBL+OSPI Flash boot up.
I try to add some debug message in board_ddr.c and lpddr4.c when initialize DDR and found it hang in LPDDR4_StartSequenceController() function.

This is my diff about lpddr4.c file

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/packages/ti/csl/src/ip/lpddr/V0/priv/lpddr4.c b/packages/ti/csl/src/ip/lpddr/V0/priv/lpddr4.c
index 3b7f228..0924a9b 100644
--- a/packages/ti/csl/src/ip/lpddr/V0/priv/lpddr4.c
+++ b/packages/ti/csl/src/ip/lpddr/V0/priv/lpddr4.c
@@ -47,6 +47,9 @@
#include "lpddr4_ctl_regs_rw_masks.h"
#endif
+#include <ti/drv/uart/UART_stdio.h>
+#include <ti/drv/uart/UART.h>
+
#ifndef LPDDR4_CUSTOM_TIMEOUT_DELAY
#define LPDDR4_CUSTOM_TIMEOUT_DELAY 100000000U
#endif
@@ -248,6 +251,7 @@ uint32_t LPDDR4_Start(const LPDDR4_PrivateData* pD)
uint32_t result = 0U;
uint32_t regVal = 0U;
+ UART_printf("[xxx] in LPDDR4_Start start\n");
result = LPDDR4_StartSF(pD);
if (result == (uint32_t)CDN_EOK) {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


The MCU uart log output is:

I upload the DDR config file board_ddrRegInit, I hope it will be helpful to investigate the problem.

7571.board_ddrRegInit.zip

SDK Version is 07.03.

BR.

Sancho