The following API layers are included in the platform management implementation for the Versal devices:
- XilPM (client)
- Library layer used by standalone applications in the different processing
units, such as the APU, RPU, and PL-MicroBlaze.Note: For PL-MicroBlaze only the following APIs are supported:
- GetApiVersion
- DevIoctl
- DevIoctl2
- XilPM (server)
- Library layer part of the PLM that handles the requests that are passed from the XilPM client layer through IPIs.
- TF-A
- The TF-A contains its own implementation of the client-side PM framework. It is currently used by the Linux OS.
- PLM
- The PLM receives IPI packets and passes platform management requests to the XilPM server.
- PSM Firmware
- Invoked by the XilPM server to control power islands and power domains of PS.
For more details on PMC, PSM, and power domain hardware topics, see the Versal Adaptive SoC Technical Reference Manual (AM011).
The following figure shows the interaction between the APU, the RPU, and the platform management APIs.
If the APU runs a complete software stack with an operating system, it does not use the XilPM library. Instead, the TF-A running at EL3 implements the client-side XilPM API and provides a secure monitor call (SMC)-based interface to the software running at EL2, SEL1, or EL1 depending on the system architecture of Versal devices.
For more details on the Armv8 architecture and its different execution modes, see Execution Modes.
The following figure illustrates the platform management layers that are involved when running a full software stack on the APU.