The power manager receives STANDBY information from the CAL_B, ISP, and SIMCOP modules. These modules assert a standby signal when they have no more transactions to perform. The ISS power manager acknowledges by asserting a wait signal.
When those modules are in standby mode, the ISS power manager initiates a STANDBY sequence for the ISS:
- The ISS waits while the CAL_B, ISP, and SIMCOP MStandby is asserted.
- The ISS power manager acknowledges by asserting the CAL_B, ISP, and SIMCOP MWait signal.
- The ISS initiators assert only the MStandBy signal when they receive responses to all sent requests. Therefore, when all initiators have asserted MStandBy, the ISS interconnect has no more pending traffic (although configurable, only nonposted writes must be used for error reporting).
- The ISS power manager asserts the MStandBy signals connected to the system PRCM module.
- The PRCM module acknowledges by asserting the MWait signal.
A functional standby transition can be aborted when one of the CAL_B, ISP, and SIMCOP modules deasserts the MStandBy signal.
When one of the CAL_B, ISP, and SIMCOP modules must perform accesses to the ISS interface master port, it deasserts the MStandBy signal. The ISS power manager executes the following sequence to leave the STANDBY state:
- The ISS power manager deasserts the MStandby signal.
- The ISS waits until the PRCM module deasserts the MWait signal.
- The ISS deasserts the MWait signal of the module requesting access.
Abort of the standby-to-functional mode transition is not supported. The ISS power manager completes the standby-to-functional transition and then allows a new functional-to-standby transition.
Typically, the MStandby signal is used for two purposes. Software chooses one of the following behaviors through PRCM configuration:
- During blanking periods: The ISS asserts the MStandBy signal between frames when it has no more data to send. The PRCM module can use this information to switch off the L3_MAIN interconnect and save some dynamic power. However, the PRCM module is not allowed to cut the ISS functional clock in that case, because it is needed to receive the next frame.
- For ISS shutdown: The ISS asserts MStandBy when it has no more transactions to perform. The PRCM module then initiates an IDLE sequence. Once the ISS acknowledges the transition into idle mode, the PRCM module can cut the ISS clock and power.
The internal standby mode can be reached only when CAL_B, SIMCOP, ISP, and ISS data interconnect are in IDLE or STANDBY state. Choosing no-idle or no-standby mode for any of these modules prevents the ISS from going into STANDBY state.
Four modes for standby control are supported, configured through the ISS_HL_SYSCONFIG [5:4] STANDBYMODE register bit-field:
- Smart-standby-wakeup mode [STANDBYMODE = 0x3]: This is the mode normally used. When in this mode, the ISS asserts the MStandBy signal when the MStandBy of all ISS internal initiators is asserted and the ISS data interconnect are in IDLE state.
- Smart-standby mode (default) [STANDBYMODE = 0x2]: The ISS has no wake-up event. This mode is equivalent to smart-standby-wakeup mode.
- Force-standby mode [STANDBYMODE = 0x0]: This is a backup mode intended to be used only if smart-standby mode is bugged. When in this mode, the ISS asserts MStandBy unconditionally. Software must ensure that the ISS is in a correct quiet state before programming this mode.
- No-standby mode [STANDBYMODE = 0x1]: This is a backup mode intended to be used only if smart-standby mode is bugged. When in this mode, the ISS never asserts the MStandBy signal.