Professional Documents
Culture Documents
A CPU must execute the following steps to enter sleep mode from normal run mode:
1. Disable interrupts. Execute cpsid if.
2. Con gure wake-up device.
3. Enable L2 cache dynamic clock ga ng. Set
l2cpl310.reg15_power_ctrl[dynamic_clk_ga ng_en]
= 1.
4. Enable SCU standby mode. Set mpcore.SCU_CONTROL_REGISTER[SCU_standby_enable] =
1.
5. Enable topswitch clock stop. Set slcr.TOPSW_CLK_CTRL[CLK_DIS] = 1.
6. Enable Cortex-A9 dynamic clock ga ng. Set
cp15.power_control_register[dynamic_clock_ga ng] = 1.
7. Put the external DDR memory into self-refresh mode. Refer to sec on 10.9.6 DDR Power
Reduc on.
8. Put the PLLs into bypass mode. Set slcr.{Arm, DDR, IO}_PLL_CTRL[PLL_BYPASS_FORCE] =1.
9. Shut down the PLLs. Set slcr.{Arm, DDR, IO}_PLL_CTRL[PLL_PWRDWN] = 1.
10. Increase the clock divisor to slow down the CPU clock. Set slcr.ARM_CLK_CTRL[DIVISOR]
=0x3f.
11. Execute the w instruc on to enter WFI mode.
Exi ng sleep mode is triggered by the con gured interrupt occurring. The interrupt wakes up
the CPU which resumes execu on. The newly star ng ac vity also triggers the topswitch,
SCU, and L2 cache controller to leave their idle states and con nue normal opera on. The
procedure for waking up is outlined below.
ti
ti
fi
fi
ti
ti
tti
ti
ti
fi
ti
ti
ti
ti
ti
ti
ti
ti
ti
ti
ti