23

I edited the file /boot/config.txt to increase the CPU speed to 800MHz.

dmesg includes the following line

bcm2835-cpufreq: Freq 800000->700000 (min=700000 max=800000 target=700000 request=700000)

Sure enough, my CPU is only running at 700MHz.

Why won't my Raspberry Pi overclock?

I'm running Occidentalis 0.2.

1

3 Answers 3

28

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.

3
  • This is one of the best answers around and really demonstrates why Raspberry Pi.SE is important. Sep 11, 2012 at 10:41
  • 1
    It's worth noting that the combination of disabling Turbo Mode with force_turbo=1 and enabling overvolting will void the warranty. Mar 18, 2013 at 12:28
  • Does enabling force_turbo also disable dynamic clock frequency adjustment by the cpu, as I found that my cpu does not run consistently with what I set it to run (1GHz) in the config.txt but sometimes run at 700MHz after a while or when after boot? Aug 11, 2016 at 5:49
4

Add force_turbo=1 in your config.txt.

2
  • 8
    Hi Adibek, welcome to RaspberryPi.SE. The best answers here usually contain citations, references or background information. This is to help the user understand their issue, rather than just fix it.
    – Jivings
    Sep 11, 2012 at 6:32
  • I agree with @Jivings, some references or background information would be useful for future visitors seeing this question. Sep 17, 2012 at 18:25
2

for me it was the scaling governor which prevented the overclocking. just read the correct answer on this question here: How to change the default governor?

now my raspberry runs on 1150MHz

3
  • 1
    A scaling governor won't prevent overclocking. It will just scale the processor frequency back when it isn't actually being used. As soon as it's needed, it will ramp the frequency up. The highest possible frequency is indicated in /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq.
    – goldilocks
    Oct 30, 2015 at 0:37
  • 2
    in my case the governor was set to "powersave". I had 1000MHz as max cpu frequency, but never reached this frequency as currenty frequency. after I set the governer to "ondemand" or "performance" I was able to get higher cpu frequencies
    – syss
    Oct 30, 2015 at 9:22
  • 1
    You're right, the default is powersave. I guess that's because sans overclocking, it doesn't matter -- the min and the max freq are the same (700000). On the Pi 2 I think there is a possible range (600000 and 900000).
    – goldilocks
    Oct 30, 2015 at 10:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.