PMUFW supports board power down use-cases where software running on APU/RPU can request for a full shutdown of the board. A common example of such usage is the case where running “shutdown” command in Linux powers down the board. To enable this functionality, the following PMUFW build flags need to be enabled:
BOARD_SHUTDOWN_PIN=2
BOARD_SHUTDOWN_PIN_STATE=0
To setup PMUFW build flags in PetaLinux, use “petalinux-config” command and then select “PMUFW Configuration” -> “PMUFW Compiler Flags” and set the value as shown in figure below:
Note that the board needs to be designed to use the specified MIO (in this case MIO34) as board power kill signal to the power supply controller. Though any of the PMU GPOs can be used for this purpose, it is recommended to use MIO34 (PMU GPO1[2]).
This feature works only on boards like ZCU102 that have a provision to shutdown the board using a dedicated MIO, and is not a generalized solution. So, generally for boards that don't have this board feature, Deep Sleep is the viable solution recommended instead at 35mW, but this one is worth keeping in mind.