Changing the clock speed of raspberry pi (underclock)

mozcelikors picture mozcelikors · Feb 13, 2017 · Viewed 8.4k times · Source

I have been trying to investigate the effects of changing clock speed in Raspberry Pi in a multi-core system development project. In this regards, I have to change the clock frequency of the Raspberry Pi 3.

As far as I read from the internet, the Raspberry Pi uses dynamic scaling for its clock speed. i.e. when the load is below 100%, it uses clock speed as 600Mhz, when the load is 100% it switches to 1.2Ghz to provide better performance.

So far I've got the following information, yet havent been able to set a constant clock frequency for the Raspberry Pi:

1- Using cpufrequtils package,

cpufreq-set -g userspace
cpufreq-set -f 1.2Ghz

cpufreq-info to see the results

2- Setting through /boot/config.txt

arm-freq=800

3- Writing into kernel files, such as:

echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

I have yet to understand the exact difference between these three methods, and nor have I been able to set a constant frequency. Since the Raspberry Pi 3, by default can only switch between 600Mhz and 1.2Ghz, I either see 600Mhz or 1.2Ghz when I take a look at the cpu's current clock speed via cpufreq-info.

How can set up different frequencies other than600Mhz and 1.2Ghz, such as changing these values to 750Mhz-1000Mhz or simply making it 750Mhz-750Mhz; in this regard, without having to compile a new kernel.

If there is any missing information regarding question, please comment below and I'll try to provide it.

Any help is greately appreciated.

Cheers,

Answer