PolarSPARC |
Rock64 ARM Single Board Computer
Bhaskar S | 03/24/2019 |
Was looking for a 64-bit ARM based quad-core Single Board Computer (SBC) with at least 4GB of RAM around the $50-60 price point. After doing some research, zero'd in on Rock64. Each core was supposed to be 1.5Ghz. On booting Armbian (at least version 5.75), realized each core was running at 1.39Ghz instead of the advertised 1.5Ghz. The following are the steps to steps to tweak Rock64 to run at the desired clock speed:
Determine the release/version of the Armbian Linux operating system by executing the following command:
$ cat /etc/armbian-release
The following would be the typical output:
# PLEASE DO NOT EDIT THIS FILE BOARD=rock64 BOARD_NAME="ROCK64" BOARDFAMILY=rockchip64 VERSION=5.75 LINUXFAMILY=rockchip64 BRANCH=default ARCH=arm64 IMAGE_TYPE=stable BOARD_TYPE=conf INITRD_ARCH=arm64 KERNEL_IMAGE_TYPE=Image
Check the clock speed of each CPU core by executing the following command:
$ cpufreq-info -c 0
The following would be the typical output:
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009 Report errors and bugs to cpufreq@vger.kernel.org, please. analyzing CPU 0: driver: cpufreq-dt CPUs which run at the same hardware frequency: 0 1 2 3 CPUs which need to have their frequency coordinated by software: 0 1 2 3 maximum transition latency: 80.0 us. hardware limits: 408 MHz - 1.39 GHz available frequency steps: 408 MHz, 600 MHz, 816 MHz, 1.01 GHz, 1.20 GHz, 1.30 GHz, 1.39 GHz available cpufreq governors: interactive, conservative, userspace, powersave, ondemand, performance current policy: frequency should be within 600 MHz and 1.39 GHz. The governor "ondemand" may decide which speed to use within this range. current CPU frequency is 1.39 GHz (asserted by call to hardware). cpufreq stats: 408 MHz:0.04%, 600 MHz:77.14%, 816 MHz:0.74%, 1.01 GHz:0.36%, 1.20 GHz:0.05%, 1.30 GHz:0.08%, 1.39 GHz:10.03%, 1.51 GHz:11.56% (195)
As is evident from Output.2 above, we see the current clock speed at 1.39Ghz
Check the current settings for the CPU clock frequency by executing the following command:
$ cat /etc/default/cpufrequtils
The following would be the typical output:
# WARNING: this file will be replaced on board support package (linux-root-...) upgrade ENABLE=true MIN_SPEED=600000 MAX_SPEED=1390000 GOVERNOR=ondemand
Bump the maximum CPU clock frequency to 1.5Ghz by executing the following command:
$ sudo sed -i "s/MAX_SPEED=.*/MAX_SPEED=1512000/" /etc/default/cpufrequtils
To immediately enable the updated CPU clock frequency to 1.5Ghz, execute the following command:
$ sudo systemctl restart cpufrequtils
Now, check the clock speed of each CPU core by executing the following command:
$ cpufreq-info -c 0
The following would be the typical output:
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009 Report errors and bugs to cpufreq@vger.kernel.org, please. analyzing CPU 0: driver: cpufreq-dt CPUs which run at the same hardware frequency: 0 1 2 3 CPUs which need to have their frequency coordinated by software: 0 1 2 3 maximum transition latency: 80.0 us. hardware limits: 408 MHz - 1.51 GHz available frequency steps: 408 MHz, 600 MHz, 816 MHz, 1.01 GHz, 1.20 GHz, 1.30 GHz, 1.39 GHz, 1.51 GHz available cpufreq governors: interactive, conservative, userspace, powersave, ondemand, performance current policy: frequency should be within 600 MHz and 1.51 GHz. The governor "ondemand" may decide which speed to use within this range. current CPU frequency is 1.51 GHz (asserted by call to hardware). cpufreq stats: 408 MHz:0.04%, 600 MHz:77.14%, 816 MHz:0.74%, 1.01 GHz:0.36%, 1.20 GHz:0.05%, 1.30 GHz:0.08%, 1.39 GHz:10.03%, 1.51 GHz:11.56% (195)
As is evident from Output.4 above, the current clock speed at 1.5Ghz
Ensure to mount a proper heatsink on top of the CPU as it gets really hot