SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The power manager associated with each power domain is assigned the task of managing the domain power transitions. It ensures that all hardware conditions are satisfied before it can initiate a power domain transition from a source to a target power state (for example, from ON-ACTIVE state to CSWR RETENTION state).
The hardware condition for power domain transition from ON-ACTIVE to any other transition state is:
Figure 3-10 shows all possible power domain state transitions.
Successive power-down transitions can be performed by lowering the power state from ON-ACTIVE to ON-INACTIVE to RETENTION, and then to OFF and LOWPOWERSTATECHANGE, as long as the hardware condition is satisfied.
However, the power domain wake-up transition from any low-power state (ON-INACTIVE or CSWR) to ON-ACTIVE state is always direct.
The power domain manager initiates a power domain wake-up transition when the conditions listed in Table 3-20 are satisfied.
Relation | Condition | |
---|---|---|
AND | Voltage domain is on. | |
OR | There is at least a wake-up condition for one enclosed functional clock domain. | |
There is a request for clock generation or distribution enclosed in the power domain. | ||
There is a PRCM module service request (applicable only to power domains, including PRCM module logic). |
The power domain manager initiates a domain sleep transition when the conditions listed in Table 3-21 are satisfied.
Relation | Condition |
---|---|
AND | All functional clock domains enclosed in the power domain are idled. |
All clock generation or distribution enclosed in the power domain is quiet, and corresponding input clocks are gated. For example, DPLL, if present, must be in stop mode. | |
There is no PRCM module service request (applicable only to power domains, including PRCM module logic). |
Table 3-22 lists the control and status features of the PRCM module power domain.
Register/Bit Field | Type | Description |
---|---|---|
PM_<Power domain>_PWRSTCTRL[1:0] POWERSTATE | Control | Selects the target power state of the power domain among OFF, ON-ACTIVE, ON-INACTIVE, and RETENTION |
PM_<Power domain>_PWRSTCTRL[x] LOWPOWERSTATECHANGE | Control | Power state change request when domain has already performed a sleep transition. Allows going into deeper low-power state without waking up the power domain. |
PM_<Power domain>_PWRSTCTRL[2] LOGICRETSTATE | Control | Selects whether the power domain logic is in CSWR RETENTION state when the domain transitions to RETENTION state |
PM_<Power domain>_PWRSTCTRL[x] <memory bank>_RETSTATE | Control | Selects whether the memory bank in the power domain is in ON, or RETENTION state when the power domain is in RETENTION state. The memory bank cannot be in ON state when the power domain is in RETENTION state. |
PM_<Power domain>_PWRSTCTRL[x] <memory bank>_ONSTATE | Control | Selects whether the memory bank is in ON, RETENTION or OFF state when the power domain is in ON state |
PM_<Power domain>_PWRSTST[1:0] POWERSTATEST | Status | Identifies the current state of the power domain. It can be OFF, RETENTION, ON-INACTIVE, or ON-ACTIVE. |
PM_<Power domain>_PWRSTST[2] LOGICSTATEST | Status | Identifies the current state of the logic area in the power domain. It can be OFF or ON. |
PM_<Power domain>_PWRSTST[20] INTRANSITION | Status | Identifies whether a power state transition in the power domain is in progress or there is no ongoing transition |
PM_<Power domain>_PWRSTST[x] <memory bank>_STATEST | Status | Identifies the current power state of the memory bank in the power domain. It can be OFF, RETENTION, or ON. |
PM_<Power domain>_PWRSTST[25:24] LASTPOWERSTATEENTERED | Status | Identifies the last (previous) power state of the power domain. It can be OFF, RETENTION, ON-INACTIVE, or ON-ACTIVE. |