rk3288之CPU定频实现(手动、内核)

目录

1、CPU定频终端手动实现

2、CPU定频内核驱动实现


平台环境:rk3288、android5.1、kernel3.10.0


1、CPU定频终端手动实现

#cd /sys/devices/system/cpu/cpu0/cpufreq

查看CPU支持的调频策略

#cat scaling_available_governors

#conservative interactive ondemand userspace powersave performance

解释以上6种策略简述:

1、performance

顾名思义只注重效率,将CPU频率固定工作在其支持的最高运行频率上,而不动态调节。

2、interactive

交互模式,直接上最高频率,然后看CPU负荷慢慢降低,比较耗电。

Interactive 是以 CPU 排程数量而调整频率,从而实现省电。

3、powersave

将CPU频率设置为最低的所谓“省电”模式,CPU会固定工作在其支持的最低运行频率上。

4、Userspace

最早的cpufreq 子系统通过userspace governor为用户提供了这种灵活性。系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置

5、ondemand

按需快速动态调整CPU频率, 一有cpu计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率;

6、conservative

与ondemand不同,平滑地调整CPU频率,频率的升降是渐变式的,会自动在频率上下限调整,和ondemand的区别 在于它会按需分配频率,而不是一味追求最高频率;

查看CPU支持的CPU调整频率有哪些:

#cat scaling_available_frequencies

#126000 216000 312000 408000 600000 696000 816000 1008000 1200000 .....

通过userspace策略实现用户自定义设置频率:

#echo “userspace” > scaling_governor //先设置为userspace策略

#echo “1008000” > scaling_setspeed //设置为接近1GHZ频率

验证当前频率:

#cat scaling_cur_freq

#1008000 //且不会改变,实现了定频


2、CPU定频内核驱动实现

相关文件:

android5.1_sdk/kernel/arch/arm/boot/dts/firefly-rk3288.dts

android5.1_sdk/kernel/arch/arm/mach-rockchip/dvfs.c

dvfs.c:struct cpufreq_frequency_table 有三个数组变量rk3288v[012]_arm_pvtm_table会列出CPU动态的频率,只需要屏蔽其他频率只剩下固定的频率即可,此处定频为1GHZ示范如下:

...
static struct cpufreq_frequency_table rk3288v0_arm_pvtm_table[] = {
    /*..other freq..*/
    {.frequency = 1008000, .index = 14741},
    {.frequency = CPUFREQ_TABLE_END, .index = 1},
};
...

firefly-rk3288.dts:也是屏蔽只剩下固定的频率即可。 

...
&clk_core_dvfs_table {
    support-pvtm = <0>;
    pvtm-operating-points = <
        /*KHz        uV         pvtm margin*/
        /*----other freq-----*/
        1008000     1050000     25000
        >;
    status = "okay";
};
....

 重新编译内核:make bootimage -j8 && ./mkimage.sh

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值