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.

Krzysztof Adamski
  • 9,615
  • 1
  • 37
  • 53
John Smith
  • 1,251
  • 3
  • 17
  • 27
  • Turbo Mode will only overclock the CPU at 95% load. However, you can change that threshold without forcing Turbo Mode to be on all the time. See this related question: http://raspberrypi.stackexchange.com/q/5477/6516 – Enrico Campidoglio Mar 18 '13 at 12:39

3 Answers3

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.

Krzysztof Adamski
  • 9,615
  • 1
  • 37
  • 53
4

Add force_turbo=1 in your config.txt.

Jivings
  • 22,538
  • 11
  • 90
  • 139
Adibek
  • 49
  • 1
  • 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 '12 at 06:32
  • I agree with @Jivings, some references or background information would be useful for future visitors seeing this question. – hifkanotiks Sep 17 '12 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

syss
  • 173
  • 2
  • 7
  • 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 '15 at 00: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 '15 at 09: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 '15 at 10:43