I'm using the standard firmware with an OpenEmbedded filesystem on a Juno Development Platform
If you are using Interim3 release and have extracted the release modules.tar.bz2 on to your filesystem,
then you can have CPUFreq support.
$ lsmod | grep scpi_cpufreq
If not alredy present, try
$ modprobe scpi_cpufreq
You can read the current frequency:
$ cat /sys/devices/system/cpu/cpu<n>/cpufreq/scaling_cur_freq
where <n> is [0 - 3] for A53 and [4 - 5] for A57(you can operate on just one cpu in the cluster)
Then you can set the governor of your choice:
$ echo $governor > /sys/devices/system/cpu/cpu<n>/cpufreq/scaling_governor
where $governor can be any one in the list below
+---------------------------------------------------------------------------------------------+
| $governor-> | powersave | performance | ondemand | userspace |
+--------------------------------------------------------------------------------------------+
| A57 | 450 MHz | 1.1 GHz | 450, 800, 1100 MHz |
| A53 | 450 MHz | 850 MHz | 450, 700, 850 MHz |
In ondemand, based on the load the governor chooses the frequency, while in userspace you can select it by:
$ echo $freq_in_khz > /sys/devices/system/cpu/cpu<n>/cpufreq/scaling_setspeed
where $freq_in_khz can be obtained from the list:
$ cat /sys/devices/system/cpu/cpu<n>/cpufreq/scaling_available_frequencies
I'm not using the interm3 release yet but I will soon update to it.
Thanks.
hello expert,
1. # echo 800000 > /scaling_setspeed
2. # cat /scaling_cur_cpufreq
# 850000
No matter scaling_governor is ondemand or userspace, this still the same.
that is i cannot fixed cpufreq at 800MHz, what is the correct operation?
thanks.
Which core are you trying on ?
The list is as follows:
A57 : 450, 800, 1100 MHz
A53 : 450, 700, 850 MHz
So if you try 800MHz on A53, it choose closer option to that which is 850MHz.