ERROR: Board parameters no match.ERROR: Failed matching board timing.
static const struct rc_timing rce[] = {
{U(1600), U(8), U(7)},
{U(1867), U(8), U(7)},
{U(2134), U(8), U(9)},
{}
};
static const struct board_timing udimm[] = {
{U(0x01), rce, U(0x01020304), U(0x06070805)}, // add this line
{U(0x04), rce, U(0x01020304), U(0x06070805)},
{U(0x1f), rce, U(0x01020304), U(0x06070805)},
};NOTICE: BL2: Booting BL31INFO: Entry point address = 0xfbe00000INFO: SPSR = 0x3cd// no more logs..
You need to use QCVS DDRv tool to connect to the custom board to do validation and optimization to get optimized DDR initialization parameters and used them in ATF software.
Please refer to DDRv user manual https://www.nxp.com/docs/en/user-guide/QCVS_DDR_User_Guide.pdf
The customer needs to create a DDR QCVS project according to the custom board.
If DIMM is used on the customer’s board, there is SPD on the target, please select “Read SPD” in DDR configuration panel when create QCVS DDR project.
Then use QCVS DDRv tool to connect to the target board to do further optimization and validation.
After successful validation, please click Project->Generate Processor Expert Code to get the optimized DDR controller configuration parameters in file ddr_init1.c, and use it to modify ATF source code plat/nxp/soc-ls1046a/ls1046ardb/ddr_init.c.
Thank you for comment.
I might have misunderstood..
Can't QCVS read 512-byte SPD binary file?
Not from SPD in DDR DIMM.
I don't have JTAG hardware now.
Best Regards,
Narita
JTAG hardware is necessary, you need to connect QCVS DDRv tool to the target board to do optimization and validation through JTAG to get the optimization parameters.
Thank you.
I'll get CodeWarrior TAP and try as your comment.
Best Regards,
Narita