When a subsystem is using a peripheral node, its requirement on the
capability of the node can change. For example, an interface port might go into a low
power state, or even be completely powered off, if the interface is not being used. The
subsystem can use XPm_SetRequirement
to change the
capability requirement of the peripheral node. Typically, the subsystem would not
release the peripheral node if it will be changing the requirement again in the
future.
The following example call changes the requirement for the node argument so it is powered up and accessible to the processor node.
XPm_SetRequirement(node, PM_CAP_ACCESS, 0, REQUEST_ACK_NO);
When multiple subsystems share a peripheral node (this applies mostly to memories), the PMC selects a power state for the peripheral node that satisfies all requirements of the requesting subsystems.
Requirements on a peripheral node include capability as well as latency. Capability requirements may include a top capability state, some intermediate capability states, an inactive state (but with the configuration retained), and off state. Latency requirement specifies the maximum time that the peripheral node has to switch to the top capability state from any other state. If this time limit cannot be met, the PMC will leave the peripheral node in the top capability state regardless of other capability requirements.
For more information about XPM_SetRequirement
, see
BSP and
Libraries Document Collection (UG643).