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, y denotes the module domain number):
- Wait for WKUP_PSC0_PTSTAT[x] GOSTAT or PSC0_PTSTAT[x] GOSTAT to clear to 0. Wait for any previously initiated transitions to finish before initiating a new transition.
- Set WKUP_PSC0_PDCTL_y[0] NEXT or PSC0_PDCTL_y[0] NEXT for an ON (1) transition.
- Set WKUP_PSC0_MDCTL_y[4-0] NEXT or PSC0_MDCTL_y[4-0] NEXT to Enable (0x3). Note that transitions in multiple WKUP_PSC0_MDCTL_y[4-0] NEXT or PSC0_MDCTL_y[4-0] NEXT fields may be set in this step as long as the corresponding power domain is on.
- Set WKUP_PSC0_PTSTAT[x] GOSTAT or 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 WKUP_PSC0_PTSTAT[x] GOSTAT or PSC0_PTSTAT[x] GOSTAT to self-clear to 0. The module is safely in the new state only after WKUP_PSC0_PTSTAT[x] GOSTAT or PSC0_PTSTAT[x] GOSTAT clears to 0.