Banana Pro overclocking and CPU tuning

Banana Pro is a card-sized low-power single board ARM-based computer (SoC) which can run Android, Linux distros and other systems. In this article, we will see how to change the default CPU overclocking settings for the Banana Pro board. As a result, it will be possible to get a fine-tuned CPU clock and reduced chip temperature. Let's see how.


banana soc banner logoBy default, Banana Pro is using the "fantasy" CPU governor. (A CPU governor is intended to control the speed of the CPU depending on the load.) It is using dynamic CPU clock scaling, however, the way it scales the clock is a bit strange. Since I own a Banana Pro board, I have observed that it always works at 912 MHz and never falls down.

So I decided to perform fine tuning of the CPU clock and change the governor. Here are the steps if you are interested in doing the same.
For better CPU clock scaling it is better to set the governor "on-demand", which provides smoother clock control depending on the CPU load. Run the following script (as suggested by the official linux-sunxi project for the AllWinner A20 chip):

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 336000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1008000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 40 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 200000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate

Now check if you are satisfied with the current settings. If you are happy with your board's current performance, you need to set these settings to be applied at every boot.
If you are using a distro with systemd, create a new unit and put it here:


Enter the following inside the governor.service file:

Description=CPU governor



I am assuming that you saved the governor.service shell script mentioned above as the /opt/governor file and made it executable with the chmod +x /opt/governor command.

f you are using a distro without systemd, add a new line to the /etc/rc.local file:


That's it. Now you should get very flexible CPU clock scaling. Also, this trick reduced the chip's temperature from 49 degrees to 41 which is good.

Support us

Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:

If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!


Author: Sergey Tkachenko

Sergey Tkachenko is a software developer who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram, Twitter, and YouTube.

Leave a Reply

Your email address will not be published.

Using Telegram? Subscribe to the blog channel!
Hello. Add your message here.