Hi,
I've been looking into several OMAP PM features and am unable to get CPUFreq to properly indicate / regulate CPU frequency. All frequency queries indicate that the CPU frequency is always set to the boot up value (mpurate=500).
I've configure the latest TI PSP kernel (2.6.32) with SmartReflex, CPUFreq (userspace, ondemand support) and CPUIdle. CPUIdle tests seem to work fine. Dynamic CPU frequency control however is not. When set to the ondemand governor at boot, cpufreq-info yields the following after some system up and run time::
root@omap3evm:~#
cpufreq-info
cpufrequtils 006: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org,
please.
analyzing CPU 0:
driver: omap
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 300 us.
hardware limits: 125 MHz - 720 MHz
available frequency steps: 720 MHz, 600 MHz, 550 MHz, 500 MHz, 250 MHz,
125 MHz
available cpufreq governors: ondemand, userspace
current policy: frequency should be within 125 MHz and 720 MHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 500 MHz (asserted by call to hardware).
cpufreq stats: 720 MHz:0.00%, 600 MHz:0.00%, 550 MHz:0.00%, 500
MHz:100.00%, 250 MHz:0.00%, 125 MHz:0.00%
Indicating the the 100% of the time, the CPU has been at the bootarg specified frequency.
With the userspace governer, I find the following:
root@omap3evm:/sys/devices/system/cpu/cpu0/cpufreq# cat
scaling_available_governors
ondemand userspace
root@omap3evm:/sys/devices/system/cpu/cpu0/cpufreq# cpufreq-set -g userspace
root@omap3evm:/sys/devices/system/cpu/cpu0/cpufreq# cat scaling_cur_freq
500000
root@omap3evm:/sys/devices/system/cpu/cpu0/cpufreq# echo 550000 >
scaling_setspeed
root@omap3evm:/sys/devices/system/cpu/cpu0/cpufreq# cat scaling_setspeed
500000 <=== WRONG VALUE
root@omap3evm:/sys/devices/system/cpu/cpu0/cpufreq# cpufreq-set -f 550000
root@omap3evm:/sys/devices/system/cpu/cpu0/cpufreq# cat scaling_setspeed
500000 <=== WRONG VALUE
root@omap3evm:/sys/devices/system/cpu/cpu0/cpufreq# cpufreq-info
cpufrequtils 006: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org,
please.
analyzing CPU 0:
driver: omap
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 300 us.
hardware limits: 125 MHz - 720 MHz
available frequency steps: 720 MHz, 600 MHz, 550 MHz, 500 MHz, 250 MHz,
125 MHz
available cpufreq governors: ondemand, userspace
current policy: frequency should be within 125 MHz and 720 MHz.
The governor "userspace" may decide which speed to use
within this range.
current CPU frequency is 500 MHz (asserted by call to hardware).
cpufreq stats: 720 MHz:0.00%, 600 MHz:0.00%, 550 MHz:0.00%, 500
MHz:100.00%, 250 MHz:0.00%, 125 MHz:0.00%
So again with userspace control, I am still unable to set the CPU frequency.
Any ideas on what is wrong here would be greatly apreciated.
Thanks
Bill R