Debugfs

Zynq UltraScale plus MPSoC Power Management

Release Date
2022-07-26

Kernel documentation:

The debugfs interface is intended for testing and debugging the integration between the Linux kernel and the Zynq UltraScale+ MPSoC power management framework. This interface must be used with a lot of care. In fact, accessing this interface during normal PM operation will very likely cause unexpected problems. Please refer to UG1137 for the usage of PM API. Starting with 2018.1, this interface is disabled by default. To enable this interface, change the following kernel configurations (in this order):

  • Power management options
    • [*] Suspend to RAM and standby
    • [*] User space wakeup sources interface
    • [*] Device power management core functionality
  • Kernel hacking
    • Compile-time checks and compiler options
      • [*] Debug Filesystem
  • Firmware Drivers
    • Zynq MPSoC Firmware Drivers
      • -*- Enable Xilinx Zynq MPSoC firmware interface
      • [*] Enable Xilinx Zynq MPSoC firmware debug APIs

Access to the debugfs interface is provided through the following node in the sysfs: For 2018.1 and later releases:

/sys/kernel/debug/zynqmp-firmware/pm

Note: For 2018.1 and later releases, output of debug commands (if any) would not be printed on console in dmesg. it needs to be explicitly read by reading above "pm" debugfs file as below:

cat /sys/kernel/debug/zynqmp-firmware/pm

For 2017.4 and earlier releases:

/sys/kernel/debug/zynqmp_pm/power

For example,

$ echo pm_request_node 22 1 100 1 > (sysfs node)

See UG1137 for the input parameters to the APIs for ZynqMP Platform. For Versal refer UG1304 .