There was a change in the firmware/kernel recently, that enabled kernel CPU frequency scaling. Now, you don't set static CPU frequency in config.txt, you set maximum frequency. If your system is on load, it will change CPU frequency to higher value (it is called turbo mode
, you can see the max
setting in your log line) but if your system is idle, it will lower the frequency to the minimal value (by default it's RaspberryPi default values - 700MHz for ARM, 250MHz for core, 400MHz for SDRAM). It will also lower voltage if you are using overvoltage settings. By default ondemand
frequency governor is used.
You can change default values (used when idle) with arm_freq_min
, gpu_freq_min
, core_freq_min
, sdram_freq_min
and over_voltage_min
options in config.txt
. You can also disable this behaviour and return to what it was working before this change was introduced to firmware with force_turbo=1
in your config.txt file. This way CPU frequency scaling will be disabled.
There are also two more changes when force_turbo=0
(which is default default):
- h264/v3d/isp freqencies are not scaled so if you want to overclock
them, you also need
force_turbo=1
- overvoltage max value is 6 (1.35V), instead of 8
Also note that you can change some of the frequency configuration (at least for ARM) dynamically using sysfs
. Just take a look at:
/sys/devices/system/cpu/cpu0/cpufreq/
You can read about this change here.