PM Linux Drivers - 2020.2 English

Versal ACAP System Software Developers Guide (UG1304)

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

The Versal ACAP power management for Linux is encapsulated in a power management driver, power domain driver, and platform firmware driver. The system-level API functions are exported and can be called by other Linux modules with GPL compatible license.

PM Firmware Driver

The function declarations are available in the following location: include/linux/firmware/xlnx-zynqmp.h

The function implementations are available in the following location: drivers/firmware/xilinx/zynqmp/zynqmp*.c

For proper driver intialization, you must provide the correct node in the Linux device tree . The firmware driver relies on the firmware node to detect the presence of PLM, determine the calling method (either smc or hvc) to the PM-Framework firmware layer, and to register the callback interrupt number.

The firmware node contains the following properties:

Compatible
Must contain xlnx,versal-firmware
Method
The method of calling the PM framework firmware should be smc.
Note: Additional information is available in the following txt file of Linux Documentation: Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.txt

Example:

firmware {
				versal_firmware: versal-firmware {
				compatible = "xlnx,versal-firmware";
				method = "smc";
				};
				};
Note: Power management and power domain driver binding details are available in the following files of Linux documentation:
  • Documentation/devicetree/bindings/power/reset/xilinx/xlnx,zynqmp-power.txt
  • Documentation/devicetree/bindings/power/reset/xilinx/xlnx,zynqmp-genpd.txt