The PLM checks permissions for any subsystem that requests a device. While creating a subsystem in the Vivado tool, you can assign a single peripheral to multiple subsystems, or to a single subsystem. This information is exported to PMC CDO, and the access for requesting a device is allowed based on this information from the CDO. By default, this permission is shared for all subsystems, that is, a single device can be requested by multiple subsystems. The exceptions are clock, reset and the power operation that are allowed only if a single subsystem has requested any of these resources.
XPm_InitFinalize()API when they have finished initializing all their devices and requested devices using
XPm_RequestNode(). Otherwise, the PLM does not power down any device.
The following sequence is the ideal sequence for calling using the PM API for device management is as follows:
XPm_RequestNode()on all required devices.
- Initialize devices.
XPM_InitFinalize()to inform PLM that all required devices are requested and initialized
It is not mandatory that
XPm_RequestNode() has to be called before
is called before
XPm_RequestNode(), the PLM powers down
that device (as initial state is ON). If
XPm_RequestNode() is called after
XPm_InitFinalize(), the PLM powers up the device.
Some device initialization is done through CDO. Therefore, if
XPm_InitFinalize() is called before
XPm_RequestNode(), it is possible that initialization is lost as device is
powered down first and then powered up again. It is recommended that you call
XPm_InitFinalize() once it has requested all required
devices. Otherwise, you need to take care of initialization again.
When you call
mindful that the device powers down, and initialization configuration might be lost.