rk3368 CPU动态调频与温度保护

news/2024/10/21 9:59:13/

Platform: RK3368

OS: Android 6.0

Kernel: 3.10.0


rk3368采用cpufreq进行CPU频率调节,但同时又做了过温保护和温度限制频率。

1. 过温保护

驱动位于kernel/drivers/thermal/rockchip_thermal.c
dts定义:

tsadc: tsadc@ff280000 {compatible = "rockchip,rk3368-tsadc";reg = <0x0 0xff280000 0x0 0x100>;interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;clocks = <&clk_tsadc>, <&clk_gates20 0>;rockchip,grf = <&grf>;rockchip,cru = <&cru>;rockchip,pmu = <&pmu>;clock-names = "tsadc", "apb_pclk";clock-frequency = <32000>;resets = <&reset RK3368_SRST_TSADC_P>;reset-names = "tsadc-apb";//pinctrl-names = "default";//pinctrl-0 = <&tsadc_int>;#thermal-sensor-cells = <1>;hw-shut-temp = <120000>;status = "disabled";};

可以看到当前hw-shut-temp = <120000>;也就是温度大于120度就会触发过温保护,强制关机。
查看当前CPU温度:

#cat /sys/rockchip_thermal/temp
2. CPU动态调频(DVFS)

Linux内部共有五种对频率的管理策略userspace,conservative,ondemand,powersave 和 performance.可以根据负载进行频率提升和降低。

查看支持的governors
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave interactive performance

DVFS的dts定义:

dvfs {vd_arm: vd_arm {regulator_name = "vdd_arm";suspend_volt = <1000>; //mVpd_core {clk_core_b_dvfs_table: clk_core_b {operating-points = </* KHz    uV */312000 1200000504000 1200000816000 12000001008000 1200000>;status = "okay";cluster = <0>;temp-limit-enable = <1>;target-temp = <80>;min_temp_limit = <216000>;normal-temp-limit = </*delta-temp    delta-freq*/3	960006	1440009	19200015	384000>;performance-temp-limit = </*temp    freq*/100     816000>;lkg_adjust_volt_en = <1>;channel = <0>;tsadc-ch = <0>;def_table_lkg = <25>;min_adjust_freq = <216000>;lkg_adjust_volt_table = </*lkg(mA)  volt(uV)*/0         25000>;pvtm_min_temp = <25>;};clk_core_l_dvfs_table: clk_core_l {operating-points = </* KHz    uV */312000 1200000504000 1200000816000 12000001008000 1200000>;status = "okay";cluster = <1>;temp-limit-enable = <1>;target-temp = <80>;min_temp_limit = <216000>;normal-temp-limit = </*delta-temp    delta-freq*/3	960006	1440009	19200015	384000>;performance-temp-limit = </*temp    freq*/100     816000>;lkg_adjust_volt_en = <1>;channel = <0>;tsadc-ch = <0>;def_table_lkg = <25>;min_adjust_freq = <216000>;lkg_adjust_volt_table = </*lkg(mA)  volt(uV)*/0         25000>;pvtm_min_temp = <25>;};};};

可以看到里面定义了大核和小核的两种限制模式,normal-temp-limit和performance-temp-limit。performance模式中,当温度高于80则频率限制在816000。而在normal模式中,则是每当温度上升delta-temp,则频率降低delta-freq,直到降到min_temp_limit为止。

实现代码位于:
arch/arm/mach-rockchip/dvfs.c
驱动初始化了一个工作队列dvfs_temp_limit_work_func,每隔HZ/10执行一次。主要任务是根据当前温度对temp_limit_rate进行修改。从而让dvfs_get_limit_rate返回的是限频的值。

系统默认为normal模式,在init.rc中写入的:

    # set temperature control policy as normal modewrite /sys/module/rockchip_pm/parameters/policy 1

查看及修改当前电源策略:

# cat /sys/module/rockchip_pm/parameters/policy
# echo "1">/sys/module/rockchip_pm/parameters/policy

http://www.ppmy.cn/news/625907.html

相关文章

linux cpu降频怎么设置,Android系统修改CPU降频温度阈值、修改CPU关内核温度阈值的方法...

1、关闭CPU降频温度: 目录:MSM8916.LA.1.1-PostCS-CT-CMCC-r113500.1srcLINUXandroidvendorqcomproprietarythermal-engine 文件:ss-data.c 修改内容: 删除ss_cfgs_8916中的所有设置,如下所示: static struct setting_info ss_cfgs_8916[] = {/*{.desc = "SS-CPU0-1…

cpu空载50度_三代锐龙用户必看:CPU待机50度降不下来?AMD的解决方案来了

原标题&#xff1a;三代锐龙用户必看&#xff1a;CPU待机50度降不下来&#xff1f;AMD的解决方案来了 美国当地时间7月30日&#xff0c;AMD发布了芯片组驱动程序与Ryzen Master超频工具更新&#xff0c;重点改善了第三代锐龙中近期玩家呼声较高的一些问题。 修复命运2游戏无法运…

力扣、每日一练:两数之和

文章目录 一、题目二、解题思路&#xff1a;三、考察的知识点&#xff1a;四、对该知识点进行详细解释&#xff1a;五、使用Python语言巧妙实现&#xff1a;六、总结: 一、题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 targ…

kettle文件资源库之Show hidden folders

版本7.1 在创建文件资源库时&#xff0c;有一个选项“show hidden folders”。从字面上理解&#xff0c;是“显示隐藏文件夹”的意思&#xff0c;其实不然。 通过repositories.xml文件我们可以看到&#xff0c;其实这个选项在配置文件中对应的标签是&#xff1a;<hides_hi…

锤子手机图片,音频,视频在哪个文件夹

pictures 图片 剪切图片太慢&#xff0c;可以先复制&#xff0c;再删除 smartisan\Recorder 音频 (wav) video里面有录制的视频 DCIM\Camera (相机相册和录制的视频) DCIM\Camera.longshot是连拍 DCIM.thumbnails 相册缩略图 另外有些图片和视频在以软件命名的文件夹里 如微…

锤子手机希望越来越渺茫的原因是什么?

昨天晚上 7 点半多一点&#xff0c;锤子科技 CEO 罗永浩第 5 次为了发布新手机站在台上。 和往常一样&#xff0c;两个多小时的发布会糅合了产品演示、对口相声&#xff0c;还有罗永浩的口头禅“听明白了么&#xff1f;” 这场发布会吸引了数万名来自全国各地的粉丝。在线上&am…

老罗锤子手机(Smartisan T1)的一些感想

第一次专门花了时间看了手机发布会&#xff0c;是老罗的锤子手机。总体来说&#xff0c;两个多小时的演讲感觉过得非常快&#xff0c;内容很充分&#xff0c;有些地方也激发了很多的感慨&#xff0c;很多的改进也确实是自己平时使用手机中感觉很不好的地方。老罗继续着他强烈的…

锤子手机(smartisan t1)如何查看mac地址

刚到手的smartisan t1想绑定公司外网mac地址&#xff0c;和传统android不一样&#xff0c;mac地址找起来很深&#xff0c;点击设置->关于本机->本机状态信息 发现无线网络MAC地址&#xff0c;顺便赞扬一下锤子手机的体验&#xff0c;完胜目前市面上所有的android&#xf…