EEMI supports request_node, release_node and set_requirements APIs to move unused blocks to lower power states. Linux PM Framework automatically takes care of powering down the unused blocks, provided the drivers are loaded correctly for all blocks. However, there are a few blocks which can be inspected specifically for further optimization.
Here is an example on using debugfs to power down un-used blocks:
# Power Down PP0
echo pm_release_node 20 >/sys/kernel/debug/zynqmp-firmware/pm