Dynamic Voltage and Frequency Switching
Astra Machina supports Dynamic Voltage and Frequency Switching using the Linux Kernel’s CPUFreq and DevFreq subsystems. This allows the system to adjust VCPU and VCORE clock frequencies and voltages based on system performance. VCPU is the power supplied to the CPU cores and VCORE is the power supplied to the GPU, DDR, NPU, and other modules.
SL1620 |
SL1640 |
SL1680 |
|
VCPU (CPUFreq) |
Y |
Y |
Y |
VCORE (DevFreq) |
N |
Y |
N |
DVFS Support Table
Clock frequencies and voltage configurations are defined in the Operating Performance Points (OPP) table in device tree. The opp_table0
is defined in dolphin.dtsi
, platypus.dtsi
, and myna2.dtsi
for VCPU. The vcore_opp_table
is defined in platypus.dtsi
for VCORE.
CPUFreq sysfs Interface
The Linux CPUFreq subsystem provides a sysfs interface for viewing and setting frequencies and governor policies at /sys/devices/system/cpu/cpufreq/policy0
.
More information at CPUFreq Linux Kernel Documentation.
DevFreq sysfs Interface
The Linux DevFreq subsystem also provides a sysfs interface similar to the one provided by CPUFreq at :/sys/class/devfreq/soc:dvfs
.
More information at DevFreq Linux Kernel Documentation.
Checking Regulator Voltage
The voltages being supplied to VCPU and VCORE can be viewed using the regulator sysfs interface located at /sys/class/regulator
.