Setting a Wake-up Source - 2023.2 English

Versal Adaptive SoC System Software Developers Guide (UG1304)

Document ID
Release Date
2023.2 English

The platform management provides the option to power down a PU or a subsystem. The platform management can even power down the entire FPD if none of the FPD devices are in use and existing latency requirements allow this. If the FPD is powered off and the APU is woken up by an interrupt triggered by a device in the LPD or PMC domain, the GIC Proxy must be configured to allow propagation of FPD wake events. The APU can ensure this by calling XPm_SetWakeUpSource for all devices that might need to issue wake interrupts.

Before suspending, the PU must call the XPm_SetWakeUpSource API and add the peripheral nodes as a wake-up source. The PU can then set requirement to zero. However, to set the requirement to zero, the following conditions should be met:

  1. No other subsystem can share the devices. In the present case, because only default subsystem is supported, this is not a consideration.
  2. No other processor node (that is in running state) present in the same subsystem, as the PU that is self suspending should use the secondary device.

Setting the requirement to zero indicates to the platform management that the subsystem does not require these peripheral nodes to be up. After the PU finalizes the suspend procedure, provided no devices under FPD are being used, the PMC powers the entire FPD and configures the GIC proxy to enable propagation of the wake event of the LPD or PMC domain peripheral nodes.

For more information about XPm_SetWakeupSource, see BSP and Libraries Document Collection (UG643).