XilPM Versal AI Edge Series Gen 2 and Versal Prime Series Gen 2 APIs - XilPM Versal AI Edge Series Gen 2 and Versal Prime Series Gen 2 APIs - 2025.2 English - UG643

Standalone Library Documentation: BSP and Libraries Document Collection (UG643)

Document ID
UG643
Release Date
2025-11-20
Version
2025.2 English

For the complete list of nodeids, refer xpm_nodeid.h file located in the xilpm_ng<version>/xilpm_commom folder.

Table 1. Quick Function Reference
Type Name Arguments
XStatus XPm_IpiSend
  • struct XPm_Proc *const Proc
  • u32 * Payload
XStatus Xpm_IpiReadBuff32
  • struct XPm_Proc *const Proc
  • u32 * Val1
  • u32 * Val2
  • u32 * Val3
u32 XPm_GetRegisterNotifierVersionServer
  • void
XStatus XPm_InitXilpm
  • XIpiPsu * IpiInst
enum XPmBootStatus XPm_GetBootStatus
  • void
XStatus XPm_GetChipID
  • u32 * IDCode
  • u32 * Version
XStatus XPm_GetApiVersion
  • u32 * Version
XStatus XPm_RequestNode
  • const u32 DeviceId
  • const u32 Capabilities
  • const u32 QoS
  • const u32 Ack
XStatus XPm_ReleaseNode
  • const u32 DeviceId
XStatus XPm_SetRequirement
  • const u32 DeviceId
  • const u32 Capabilities
  • const u32 QoS
  • const u32 Ack
XStatus XPm_GetNodeStatus
  • const u32 DeviceId
  • XPm_NodeStatus *const NodeStatus
XStatus XPm_ResetAssert
  • const u32 ResetId
  • const u32 Action
XStatus XPm_ResetGetStatus
  • const u32 ResetId
  • u32 *const State
XStatus XPm_PinCtrlRequest
  • const u32 PinId
XStatus XPm_PinCtrlRelease
  • const u32 PinId
XStatus XPm_PinCtrlSetFunction
  • const u32 PinId
  • const u32 FunctionId
XStatus XPm_PinCtrlGetFunction
  • const u32 PinId
  • u32 *const FunctionId
XStatus XPm_PinCtrlSetParameter
  • const u32 PinId
  • const u32 ParamId
  • const u32 ParamVal
XStatus XPm_PinCtrlGetParameter
  • const u32 PinId
  • const u32 ParamId
  • u32 *const ParamVal
XStatus XPm_DevIoctl
  • const u32 DeviceId
  • const pm_ioctl_id IoctlId
  • const u32 Arg1
  • const u32 Arg2
  • u32 *const Response
XStatus XPm_DevIoctl2
  • u32 DeviceId
  • pm_ioctl_id IoctlId
  • const u32 * Payload
  • u32 *const Response
  • u32 PayloadSize
  • u32 ResponseSize
XStatus XPm_ClockEnable
  • const u32 ClockId
XStatus XPm_ClockDisable
  • const u32 ClockId
XStatus XPm_ClockGetStatus
  • const u32 ClockId
  • u32 *const State
XStatus XPm_ClockSetDivider
  • const u32 ClockId
  • const u32 Divider
XStatus XPm_ClockGetDivider
  • const u32 ClockId
  • u32 *const Divider
XStatus XPm_ClockSetParent
  • const u32 ClockId
  • const u32 ParentIdx
XStatus XPm_ClockGetParent
  • const u32 ClockId
  • u32 *const ParentIdx
XStatus XPm_PllSetParameter
XStatus XPm_PllGetParameter
XStatus XPm_PllSetMode
  • const u32 ClockId
  • const u32 Value
XStatus XPm_PllGetMode
  • const u32 ClockId
  • u32 *const Value
XStatus XPm_SelfSuspend
  • const u32 DeviceId
  • const u32 Latency
  • const u8 State
  • const u64 Address
XStatus XPm_RequestWakeUp
  • const u32 TargetDevId
  • const u8 SetAddress
  • const u64 Address
  • const u32 Ack
void XPm_SuspendFinalize
  • void
XStatus XPm_AbortSuspend
XStatus XPm_ForcePowerDown
  • const u32 TargetDevId
  • const u32 Ack
XStatus XPm_SystemShutdown
  • const u32 Type
  • const u32 SubType
XStatus XPm_SetWakeUpSource
  • const u32 TargetDeviceId
  • const u32 DeviceId
  • const u32 Enable
XStatus XPm_Query
  • const u32 QueryId
  • const u32 Arg1
  • const u32 Arg2
  • const u32 Arg3
  • u32 *const Data
XStatus XPm_SetMaxLatency
  • const u32 DeviceId
  • const u32 Latency
XStatus XPm_GetOpCharacteristic
  • const u32 DeviceId
  • const enum XPmOpCharType Type
  • u32 *const Result
XStatus XPm_RegisterNotifier
  • XPm_Notifier *const Notifier
XStatus XPm_UnregisterNotifier
  • XPm_Notifier *const Notifier
void XPm_InitSuspendCb
  • const enum XPmSuspendReason Reason
  • const u32 Latency
  • const u32 State
  • const u32 Timeout
void XPm_AcknowledgeCb
  • const u32 Node
  • const XStatus Status
  • const u32 Oppoint
void XPm_NotifyCb
  • const u32 Node
  • const u32 Event
  • const u32 Oppoint
XStatus XPm_FeatureCheck
  • const u32 FeatureId
  • u32 * Version
XStatus XPm_NotifierAdd
  • XPm_Notifier *const Notifier
XStatus XPm_NotifierRemove
  • XPm_Notifier *const Notifier
void XPm_NotifierProcessEvent
  • const u32 Node
  • const u32 Event
  • const u32 Oppoint
void XPm_RMW32
  • void
XStatus XPm_SetPrimaryProc
  • void
struct XPm_Proc * XPm_GetProcByDeviceId
  • void
void XPm_ClientSuspend
  • void
void XPm_ClientWakeUp
  • void
void XPm_ClientSuspendFinalize
  • void
void XPm_ClientAbortSuspend
  • void