XilPM Zynq UltraScale+ MPSoC APIs - 2023.1 English

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

Document ID
UG643
Release Date
2023-05-16
Version
2023.1 English

AMD Power Management (XilPM) provides Embedded Energy Management Interface (EEMI) APIs for power management on Zynq UltraScale+ MPSoC. For more details about EEMI, see the Embedded Energy Management Interface (EEMI) API User Guide (UG1200).

Table 1. Quick Function Reference
Type Name Arguments
XStatus XPm_InitXilpm
  • XIpiPsu * IpiInst
enum XPmBootStatus XPm_GetBootStatus
  • void
void XPm_SuspendFinalize
  • void
XStatus XPm_SelfSuspend
  • const enum XPmNodeId nid
  • const u32 latency
  • const u8 state
  • const u64 address
XStatus XPm_SetConfiguration
  • const u32 address
XStatus XPm_InitFinalize
  • void
XStatus XPm_RequestSuspend
XStatus XPm_RequestWakeUp
XStatus XPm_ForcePowerDown
XStatus XPm_AbortSuspend
XStatus XPm_SetWakeUpSource
XStatus XPm_SystemShutdown
  • u32 type
  • u32 subtype
XStatus XPm_RequestNode
XStatus XPm_SetRequirement
XStatus XPm_ReleaseNode
XStatus XPm_SetMaxLatency
XStatus XPm_FeatureCheck
  • const enum XPmApiId featureId
  • u32 * version
XStatus XPm_IsFunctionSupported
  • const enum XPmApiId apiId
  • const u32 functionId
void XPm_InitSuspendCb
  • const enum XPmSuspendReason reason
  • const u32 latency
  • const u32 state
  • const u32 timeout
void XPm_AcknowledgeCb
  • const enum XPmNodeId node
  • const XStatus status
  • const u32 oppoint
void XPm_NotifyCb
XStatus XPm_GetApiVersion
  • u32 * version
XStatus XPm_GetNodeStatus
XStatus XPm_GetOpCharacteristic
  • const enum XPmNodeId node
  • const enum XPmOpCharType type
  • u32 *const result
XStatus XPm_ResetAssert
XStatus XPm_ResetGetStatus
XStatus XPm_RegisterNotifier
XStatus XPm_UnregisterNotifier
XStatus XPm_MmioWrite
  • const u32 address
  • const u32 mask
  • const u32 value
XStatus XPm_MmioRead
  • const u32 address
  • u32 *const value
XStatus XPm_ClockEnable
XStatus XPm_ClockDisable
XStatus XPm_ClockGetStatus
  • const enum XPmClock clk
  • u32 *const status
XStatus XPm_ClockSetDivider
  • const enum XPmClock clk
  • const u32 divider
XStatus XPm_ClockGetDivider
  • const enum XPmClock clk
  • u32 *const divider
XStatus XPm_ClockSetParent
XStatus XPm_ClockGetParent
XStatus XPm_ClockSetRate
XStatus XPm_ClockGetRate
  • const enum XPmClock clk
  • u32 *const rate
XStatus XPm_PllSetParameter
XStatus XPm_PllGetParameter
XStatus XPm_PllSetMode
XStatus XPm_PllGetMode
XStatus XPm_PinCtrlRequest
  • const u32 pin
XStatus XPm_PinCtrlRelease
  • const u32 pin
XStatus XPm_PinCtrlSetFunction
XStatus XPm_PinCtrlGetFunction
XStatus XPm_PinCtrlSetParameter
  • const u32 pin
  • const enum XPmPinParam param
  • const u32 value
XStatus XPm_PinCtrlGetParameter
  • const u32 pin
  • const enum XPmPinParam param
  • u32 *const value
XStatus XPm_DevIoctl
  • const u32 deviceId
  • const pm_ioctl_id ioctlId
  • const u32 arg1
  • const u32 arg2
  • u32 *const response