This section describes the basic procedure for transitioning the state of a power domain and module domain for modules that are not in the AlwaysOn domain. This may be done separately as described in the sections above, if desired.
The procedure for concurrent power domain/module
state transitions is shown below (x denotes the
power domain number):
- Wait for PSC0_PTSTAT[x] GOSTAT or
MCU_PSC0_PTSTAT[x] GOSTAT to clear to 0. Wait for
any previously initiated transitions to finish
before initiating a new transition.
- Set PSC0_PDCTL[0]
NEXT or MCU_PSC0_PDCTL[0]
NEXT for an ON (1) transition.
- Set PSC0_MDCTL[4-0] NEXT or MCU_PSC0_MDCTL[4-0] NEXT to Enable (0x3). Note that
transitions in multiple PSC0_MDCTL[4-0] NEXT or MCU_PSC0_MDCTL[4-0] NEXT fields may be set in this step
as long as the corresponding power domain is
on.
- Set PSC0_PTSTAT[x] GOSTAT or MCU_PSC0_PTSTAT[x]
GOSTAT to 1 to initiate the state transition(s). The PSC will turn on the
logic/memory for that particular domain, starts the module clock, then
de-asserts the module reset.
- Wait for PSC0_PTSTAT[x] GOSTAT or
MCU_PSC0_PTSTAT[x] GOSTAT to self-clear to 0. The module is safely in the new
state only after PSC0_PTSTAT[x] GOSTAT or MCU_PSC0_PTSTAT[x] GOSTAT clears to
0.