Power Management
15-26
15.3.2 MPU Idle Modes
A clock management register, the MPU idle mode entry 1 register (ARM_
IDLECT1), controls the different clock domains (clock enables) during the idle
state and allows the user to put different parts of the MPU clock domain into
the idle mode, if desired.
Three different subdomains are defined: the MPU subdomain, the DPLL
subdomain, and the MPU peripheral subdomain.
15.3.2.1
MPU Subdomain (MPU + MPU Interrupt Handler)
MPU can go into the idle mode in two ways:
-
By executing the CP15 instruction wait-for-interrupt: Executed by an OS
kernel. By configuration, this instruction provokes an Idle1 or an Idle2
mode.
-
By setting the SETMPU_IDLE bit of ARM_IDLECT1 (the idle control regis-
ter in clock generator and system-reset module): Programmed by a
process application. Setting these bits (active) allows the MPU to enter in
an Idle1 or an Idle2 mode. This is the recommended method to use.
The MPU clock restarts upon an enabled interrupt request or system reset.
Wait For Interrupt Instruction
When the MPU CP15 instruction is used, the system software does not need
to take care of adding any extra cycles to wait after the instruction being exe-
cuted (the MPU itself takes care of this). When this instruction is executed, the
MPU stops its ongoing operations and sends a sleep acknowledge signal to
the OMAP clock reset module to request stopping the clock. The MPU does
not execute any other access after executing the wait for interrupt instruction.
The MPU wakes up when an interrupt occurs and executes the subsequent
instructions after servicing the interrupt.
Set Bit 11 of ARM_IDLECT1
After this bit is set through software, the software must wait for a certain num-
ber of cycles to ensure no other MPU requests occur before the MPU is idled.
This is because there is a latency between the MPU TIPB write to the IDLECT1
register and the time when the MPU sleep request to the MPU core actually
goes high. Also, the software must account for the clock cycles required for the
MPU to send an acknowledge signal back to the OMAP clock reset module,
depending on what operations it was performing.