Power Management
15-34
15.3.4.1
Chip Idle Mode
In the event that no clock signal is necessary (chip idle), all clock domains
generated either from CK_GEN (1,2,3) or CK_REF (CLKIN) are stopped. The
external reference clock source can be stopped as well.
The CHIP_IDLE signal is asserted when all internal system clocks are dis-
abled and after the DPLL idle state has been acknowledged. It is deasserted
when a wake-up condition is detected (CHIP_nWAKEUP and one of the wake-
up conditions
are active when external wake-up control is enabled or just one
of the wake-up conditions is active when wake-up control is not enabled). It
takes some synchronization CK_REFs for CHIP_IDLE to go low after a wake-
up condition is detected.
Note:
In addition to the DPLL timing, the clock source start-up time can affect the
OMAP5910 system response. Use deep sleep mode for long sleep periods
only.
15.3.4.2
Chip Idle Procedure
1) Set TC_EMIF_SLOW_IF_CONFIG_REG = 0x0000000C and
TC_EMIF_FAST_SDRAM_CONFIG_REG = 0x0C618800
2) Disable the MPU watchdog timer by first writing 0x00f5 to the WDTIM-
ER_TIMER_MODE_REG and then writing 0x00A0 (this is to prevent a
watchdog reset from being generated that results in a global reset.)
3) Set up the MPU interface (write to the MPUI control setup and DSP boot
registers).
4) Set API_SIZE_REG = 0x0000 (only need to set the bits that correspond
to the SARAMs with DSP code to 0).
5) Enable the MPU interrupts and unmask these interrupts by writing a 0 to
the corresponding bit in the MIR-mask interrupt register in the MPU inter-
rupt handler. Write to the corresponding interrupt interrupt-level register
(ILR) to set the priority, edge sensitivity, and whether the interrupt is routed
to the IRQ or FIQ. Besides the interrupt that is used to wake up the MPU
out of idle, you also can enable a DSP mailbox interrupt to the MPU. This
DSP2MPU mailbox interrupt service routine is used to put the MPU into
idle. The reason to use this mailbox interrupt is that the MPUI clock is
needed by the DSP to switch between SAM/HOM. The MPU cannot go to
idle until this is done, because only the MPU can write to the EN_APICK
bit of the MPU idle mode entry 2 register (ARM_IDLECT2).