PMU Firmware Modules - 2020.2 English

Zynq UltraScale+ MPSoC Software Developer Guide (UG1137)

Document ID
UG1137
Release Date
2021-01-05
Version
2020.2 English

PMU firmware consists of the following modules:

  1. Error Management (EM)
  2. Power Management (PM)
  3. Scheduler
  4. Safety Test Library (STL)

PMU firmware has a module data structure (XPfw_Module_t) which contains the information about the module. This data structure is defined for each module when the module is created. The following table shows its members.

Table 1. Module Data Structure Members
Member Range Additional Information
ModId 0.. 31
CfgInitHandler Init handler function pointer Default to NULL
IpiHandler Handler for IPI manager Default to NULL
EventHandler Handler for registered events of the module Default to NULL
IpiId 16-bit IPI ID Unique to each module

PMU firmware also has a core data structure which contains the list and the details of all modules. The following table shows its members.

Table 2. Core Data Structure Members
Member Range Additional Information
ModList array 0.. 31 Module list array (of 32 elements) of Module structure
Scheduler Scheduler structure Scheduler task owned by the module
ModCount 0.. 31
IsReady Core is ready/dead
Mode Safety Diagnostics mode/Normal mode

Base PMU firmware supports a few APIs that are used by these modules. Also, if you want to create a custom module, these APIs can be used from xpfw_core.h.