Part Number:PROCESSOR-SDK-OMAPL138
Hi,
I am developing deepsleep function for secure OMAPL138 ZCE.
I had done successfully this function on normal (non-secure) OMAP L138. But when I run the same source on the secure version, I could not gate the clocks to the DDR2/mDDR memory controller.
The GOSTAT0 bit never clear to 0 after I set disable PSC for DDR2/mDDR module.
Here is my code:
// Wait for any previously initiated transitions
// First Loop
do
{
pscstatus = HWREG(SOC_PSC_1_REGS + PSC_PTSTAT) & PSC_PTSTAT_GOSTAT0;
}
while (pscstatus);
// Disable CLK
HWREG(SOC_PSC_1_REGS + PSC_MDCTL(HW_PSC_DDR2_MDDR)) = (PSC_MDCTL_NEXT_DISABLE & PSC_MDCTL_NEXT);
HWREG(SOC_PSC_1_REGS + PSC_PTCMD) = PSC_PTCMD_GO0;
// Second Loop
do
{
pscstatus = HWREG(SOC_PSC_1_REGS + PSC_PTSTAT) & PSC_PTSTAT_GOSTAT0;
}
while (pscstatus);
So, the program never exit out of the second loop.
Could your help me to resolve this issue?
Which differences between two version of OMAP L138 (secure and non-secure) in deepsleep function?
Thanks so much.