Runtime Clock Control

Zynq UltraScale plus MPSoC Power Management

Release Date

Once design time optimizations are done to minimize the clock frequencies for all peripherals, cores and interconnects, further power savings can be achieved by utilizing runtime clock gating/scaling techniques. For this purpose, EEMI provides clock management APIs:

  1. Clock Get State

  2. Clock Enable

  3. Clock Disable

  4. Clock Get Divider

  5. Clock Set Divider

In Linux, Common Clock Framework (CCF) automatically manages the clocks at runtime without user intervention. Clocks related to unused blocks are automatically gated by the framework. Baremetal applications can use the above mentioned EEMI APIs to implement clock controls.  For applications that don’t use PM Framework, boot time clock gating of unused blocks can be considered to extract some level of power savings.