ARM Sleep Mode Management
194
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Power Management
9.6.2 ARM Clock OFF
The software must be structured such that no peripheral is allowed to access the ARM resources before
disabling the clocks to the ARM subsystem. The ARM must check for the completion of all its master
peripheral initiated requests (that is, CFG and DMA port operations, etc.).
ARM module clock off sequence:
1. The ARM must have the ARM Clock Stop Request interrupt (ARMCLKSTOPREQ, ARM interrupt # 90)
enabled and the associated interrupt service routine (ISR) set up before the following ARM clock
shutdown procedure.
(a) Initiate the ARM clock off sequence by issuing the ARM clock stop command (PSC DISABLE
Command) to the ARM subsystem by writing a 2h to the NEXT bit field in the ARM local power
sleep controller (LPSC) module control register (PSC0.MDCTL14).
(b) Write a 1 to the GO[0] bit (ARM subsystem is part of the PD_ALWAYSON domain) in the power
domain transition command register (PSC0.PTCMD) to start the state transition sequence for the
ARM module. This generates the ARMCLKSTOPREQ interrupt to the ARM.
(c) Check (poll for 0) the GOSTAT[0] bit in the power domain transition status register (PSC0.PTSTAT)
for power transition sequence completion. The GOSTAT[0] bit transitions to 0 when the ARM
executes the wait-for-interrupt instruction from inside its interrupt service routine (ISR).
(d) Check (poll for 2h) the STATE bit field in the ARM LPSC module status register
(PSC0.MDSTAT14) indicating the ARM clock stop sequence completion (STATE: Disable).
The following sequence should be executed by the ARM within the ARM Clock Stop Request interrupt
ISR:
1. Check for completion of all ARM master requests (the ARM polls transfer completion statuses of all
Master peripherals).
2. Enable the interrupt to be used as the “wake-up” interrupt (for example, one of the CHIPSIG interrupts
controlled by the chip signal register (CHIPSIG) in the
System Configuration (SYSCFG) Module
chapter—CHIPSIG[0], CHIPSIG[1], etc.) that will be used to wake-up the ARM during the ARM clock-
on sequence.
3. Execute the wait-for-interrupt (WFI) ARM instruction.
9.6.3 ARM Subsystem Clock ON
The ARM module defaults to the SwRstDisable state; therefore, the software is responsible for enabling
the clock and releasing the reset to the ARM at power-on reset.
1. Wait for the GOSTAT[0] bit in the power domain transition status register (PSC0.PTSTAT) to clear to
0. You must wait for the power domain to finish any previously initiated transitions before initiating a
new transition.
2. Write a 3h to the NEXT bit in the ARM local power sleep controller (LPSC) module control register
(PSC0.MDCTL14) to prepare the ARM module for an enable transition.
3. Write a 1 to the GO[0] bit (ARM subsystem is part of the PD_ALWAYSON domain) in the power
domain transition command register (PSC0.PTCMD) to start the state transition sequence for the ARM
module.
4. Check (poll for 0) the GOSTAT[0] bit in PSC0.PTSTAT for power transition sequence completion. The
domain is only safely in the new state after the GOSTAT[0] bit is cleared to 0.
5. Wait for the STATE bit field in the ARM LPSC module status register (PSC0.MDSTAT14) to change to
3h. The module is only safely in the new state after the STATE bit field changes to reflect the new
state.
NOTE:
This only applies if you are transitioning from the Disable state. If previously in the Disable
state, a wake-up interrupt must be triggered in order to wake the ARM (to exit the wait-for-
interrupt mode). This example assumes that the ARM enabled this interrupt before entering
its wait-for-interrupt sleep mode state.