Hi Biser,
Thank you for your support.
I tried to add a wait-loop more than 56 clock cycle after VTP enable, but our board could not resume correctly from suspend.
I have a question.
Is it required necessarily that pcin and ncin is set to 1 to enter standby?
In the original source code, VTP_CTRL_VAL_DDR3 value is 0x0000_0000. It could not resume correctly using original value. I think it is wrong value for correct resume process. I modified VTP_CTRL_VAL_DDR3 value from 0x0000_0000 to 0x0001_0100(pcin=1,ncin=1), then our board can resume correctly. It seems the resume function is affected by pcin and ncin bit.
The following code is vtp_disable function in the ddr.c of CM3 firmware.
/* same offsets for SA and Aegis */
void vtp_disable(void)
{
if (mem_type == MEM_TYPE_DDR2)
__raw_writel(VTP_CTRL_VAL_DDR2, VTP0_CTRL_REG);
else
__raw_writel(VTP_CTRL_VAL_DDR3, VTP0_CTRL_REG);
}
Best Regards,
Kumac