AnsweredAssumed Answered

LS1043A DDRC init issue

Question asked by Y Z on Aug 16, 2017

Refer to the LS1043A-RDB board, we make our own board, the ddr4 chip is same but we can't let the bare board working.  Because without RCW we have to use HardCoded RCW and flash normal RCW to nor flash. I use the  "ARMv8\gdb\bin\aarch64-fsl-gdb.bat " and "gdb_extensions/flash/cwflash.py" tools.  but DDRC can't be initialized:

 

DDRC: Time out waiting for D_INIT
Memory initialization error on DDRC!
00000080

 

  1.  Is DDRC error code 00000080 means ACE error? we calc the pcb skew params and use QCVS to change the DDR timing and write leveling, generate new python code and paste to LS1043_RDB_init.py but nothing changes.  Can you please point out something we need to check on our own hardware board or software config?
gdb.execute("monitor rcw source set 0x9F")

# print "start override RCW"
# gdb.execute("monitor rcw data set RCW1 0x08100010")

I refer to the LS1043A_RDB_init.py and want to override hardcoded RCW use "monitor rcw data set RCW1", is this correct? we tried to override MEM_PLL_RAT to 16:1 and set speed to 1600MT/s but the clock seems not change, is is possible?

 

3. Even If I change the rcw_src SW4 and SW5[1] to 0x9f (use hard RCW) on LS1043A RDB board and USE_SAFE_RCW=True, The Code worrior can't connect to it. I had to override RCW like this:

 
gdb.execute("monitor rcw source set 0x9F")
gdb.execute("monitor rcw data set RCW6 0x80004012")

Original Attachment has been moved to: LS1043A_RDB_init.py.zip

Original Attachment has been moved to: cmd.txt.zip

Outcomes