Linux Dynamic Frequency Scaling

From ArmadeusWiki
Revision as of 18:23, 16 February 2011 by JulienB (Talk | contribs) (page creation)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Page under construction... Construction.png 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...

Links