XilPM Zynq UltraScale+ MPSoC APIs - 2020.2 English

OS and Libraries Document Collection (UG643)

Document ID
UG643
Release Date
2020-11-24
Version
2020.2 English

Xilinx 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 pm_ipi_send
XStatus pm_ipi_buff_read32
  • struct XPm_Master *const master
  • u32 * value1
  • u32 * value2
  • u32 * value3
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
  • restart
XStatus XPm_RequestNode
XStatus XPm_SetRequirement
XStatus XPm_ReleaseNode
XStatus XPm_SetMaxLatency
void XPm_InitSuspendCb
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
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
XStatus XPm_ClockSetOneDivider
  • const enum XPmClock clk
  • const u32 divider
  • const u32 divId
XStatus XPm_ClockSetDivider
XStatus XPm_ClockGetOneDivider
XStatus XPm_ClockGetDivider
XStatus XPm_ClockSetParent
XStatus XPm_ClockGetParent
XStatus XPm_ClockSetRate
XStatus XPm_ClockGetRate
XStatus XPm_PllSetParameter
  • const enum XPmNodeId node
  • const enum XPmPllParam parameter
  • const u32 value
XStatus XPm_PllGetParameter
  • const enum XPmNodeId node
  • const enum XPmPllParam parameter
  • u32 *const value
XStatus XPm_PllSetMode
XStatus XPm_PllGetMode
  • const enum XPmNodeId node
  • enum XPmPllMode *const mode
XStatus XPm_PinCtrlAction
  • const u32 pin
XStatus XPm_PinCtrlRequest
  • const u32 pin
XStatus XPm_PinCtrlRelease
  • const u32 pin
XStatus XPm_PinCtrlSetFunction
  • const u32 pin
  • const enum XPmPinFn fn
XStatus XPm_PinCtrlGetFunction
  • const u32 pin
  • enum XPmPinFn *const fn
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