Dynamic Voltage and Frequency Scaling

For saving power and having the best power effeciency, GAP equipped with PMU (power management unit) and FLL (frequency locked loop) to allow you:

  1. Power on/off some power domain.

  2. Change the voltage of the SoC.

  3. Change the frequency of each frequency domain.

The user can use them to adjust the voltage and frequency dynamically in runtime, to achieve the best power effeciency of their application.

Power on/off

This has been implemented in the drivers, for example, the cluster domain can be powered on/off by using the API of opening and closing the cluster.

Change the voltage

GAP9’s voltage can be configured from 0.65V to 0.8V, which can be controlled dynamically by using api:

int32_t pi_pmu_voltage_set(pi_pmu_voltage_domain_e domain, uint32_t voltage)

Change the frequency

GAP9 has 4 frequency domains: SoC domain, Periph domain, Cluster domain and Cluster domain. Each domain’s frequency can be configured dynamically from 0 to 370 MHz.

Voltage and Frequency

With different voltage, the GAP9, different domains’ maximum frequency will be limited as below:

  • 0.65V : 240MHz

  • 0.70V : TBC

  • 0.75V : TBC

  • 0.80V : 370MHz

Due to the voltage can limit the max frequency, when configuring the frequency and voltage, please follow these rules:

  1. When increasing the frequency, increase the voltage first.

  2. When decreasing the frequency, decrease the frequency first.