Suspending a PU
A PU can request that another PU be suspended by calling
XPm_RequestSuspend
, and passing the targeted node name as an
argument.
This causes the power management controller to call
XPm_InitSuspendCb()
, which is a callback function implemented
in the target PU. The target PU then initiates its own suspend procedure, or call
XPm_AbortSuspend
and specify the abort reason. For example, you
can request an APU to suspend with the following command:
XPm_RequestSuspend(NODE_APU, REQUEST_ACK_NON_BLOCKING, MAX_LATENCY, 0);
The following diagram shows the general sequence triggered by a call to the
XPM_RequestSuspend
.
For more information about XPm_RequestSuspend
,
XPm_InitSuspendCb
, and XPm_AbortSuspend
, see XilPM Library in the
BSP and
Libraries Document Collection (UG643).
Waking a PU
Additionally, a PU can request the wake-up of one of its CPUs or of another PU
by calling XPm_RequestWakeup
.
- When processing the call, the power management controller causes a target CPU or PU to be awakened.
- If a PU is the target, only one of its CPUs is woken-up by this request.
- The CPU chosen by the power management controller is considered the primary CPU within the PU.
The following is an example of a wake-up request:
XPm_RequestWakeup(NODE_APU_1, REQUEST_ACK_NO);
For more information about XPm_RequestWakeup
,
see XilPM Library in the
BSP and
Libraries Document Collection (UG643).