Setting a Wake-up Source - 2020.2 English

Versal ACAP System Software Developers Guide (UG1304)

Document ID
UG1304
Release Date
2020-11-24
Version
2020.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 slaves 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 PM master (that is in Running state) present in the same subsystem, as the PU that is self suspending should use the slave device.

Setting the requirement to zero indicates to the platform management that the subsystem does not require these slaves 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 slaves.

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