Linux Dynamic Frequency Scaling
From ArmadeusWiki
Page under construction... Informations on this page are not guaranteed !!
Linux configuration
CPU Power Management ---> [*] CPU Frequency scaling [*] Enable CPUfreq debugging <*> CPU frequency translation statistics [ ] CPU frequency translation statistics details Default CPUFreq governor (performance) ---> -*- 'performance' governor <M> 'powersave' governor <M> 'userspace' governor for userspace frequency scaling <M> 'ondemand' cpufreq policy governor <M> 'conservative' cpufreq governor <M> CPUfreq driver for i.MX CPUs
frequency scaling handling is done in arch/arm/plat-mxc/cpufreq.c or arch/arm/mach-mx2/cpufreq_imx27.c
To know if driver is launched
# dmesg | grep freq i.MXC CPU frequency driver
Usage (sysfs)
- all is here:
# cd /sys/devices/system/cpu/cpu0/cpufreq/ # ls
- get current governor:
# cat scaling_governor performance
- list available governors:
# cat scaling_available_governors performance
- eventually load some more:
# modprobe cpufreq_powersave # modprobe cpufreq_conservative # cat scaling_available_governors conservative powersave performance
- change governor:
# echo powersave > scaling_governor
- change frequency manually (here 133MHz). Requires userspace governor ! :
# echo 133000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
- To Be Continued...