Rockchip平台cpu散热风扇随温度自动调速的配置方法

CPU的散热风扇硬件是有一个PWM来控制转速,Android的内核中有对应的驱动,Rockchip RK3588上面已经实现根据cpu温度自动调速的功能,下面介绍rockchip平台上面如何进行软件配置。

注:根据cpu温度调整风扇转速的功能在RK3588 Android2的 SDK的RKR12版本上才有支持。

1,确认kernel的config配置打开如下配置:

arch/arm64/configs/rockchip_defconfig
CONFIG_SENSORS_PWM_FAN=y

2,DTS中加入fan的配置

fan: pwm-fan {compatible = "pwm-fan";#cooling-cells = <2>;pwms = <&pwm9 0 50000 0>;cooling-levels = <0 50 100 150 200 255>;rockchip,temp-trips = <50000   155000   260000   365000   470000   5>;};

其中:

  • pwms = <&pwm11 0 50000 0>; 是配置使用那个pwm
  • cooling-levels = <0 50 100 150 200 255>;是配置转速(pwm的占空比)的档位,档位数量和大小可以自己定义,这里配置6个档位,转速的范围是0-255。
  • rockchip,temp-trips 是配置cpu温度和风扇转速档位的对应关系,可以根据实际需要进行调整,如50度对应档位1。

3,配置打开PWM
这里风扇接的pwm11,所以dts中要配置打开pwm11,并配置对应的pinctrl。 不同的硬件设计使用的pwm可能不一样,需要根据实际硬件设计来对应配置。

&pwm11 {pinctrl-0 = <&pwm11m1_pins>;status = "okay";
};

4,调试
可以通过下面的节点查看风扇与温度对应的档位信息

rk3588_s:/ # cat /sys/class/thermal/cooling_device0/
cur_state   max_state   power/      subsystem/  type        uevent
//当前风扇档位
1|rk3588_s:/ # cat /sys/class/thermal/cooling_device0/cur_state
0
//最新档位数
rk3588_s:/ # cat /sys/class/thermal/cooling_device0/max_state
6

可以echo 0-6的值到/sys/class/thermal/cooling_device0/cur_state进行手动调试转速

Rockchip平台cpu散热风扇随温度自动调速的配置方法相关推荐

  1. jetson nano 风扇自动调速

    jetson nano 风扇自动调速 概述 一.临时调试 二.驱动脚本 概述 jetson nano一定要配一个可调风扇,jetson nano散热不好极容易死机!! 一.临时调试 PWM范围:0-2 ...

  2. 基于Arduino的自动调速风扇

    好久没有更新了,家里实在太乱,最近趁着618活动,买了一堆收纳抽屉和置物架,把家里彻底收拾了一下,然后客厅就成了这个奇葩样子,注孤生的节奏了. 话不多说,夏天到了,天气逐渐热起来,风扇成了必不可少的消 ...

  3. 【毕业设计】基于超声波与红外的自动调速风扇系统(代码开源) -物联网 嵌入式 stm32

    文章目录 1 简介 1 设计概要 2 系统设计 2.1 系统供电问题 2.2 自动/手动模式的切换 2.3 PWM信号的产生 2.4 单片机内部资源的分配 三.硬件搭建 3.1 单片机最小系统 3.2 ...

  4. 毕业设计 超声波红外自动调速风扇系统

    文章目录 1 简介 1 设计概要 2 系统设计 2.1 系统供电问题 2.2 自动/手动模式的切换 2.3 PWM信号的产生 2.4 单片机内部资源的分配 三.硬件搭建 3.1 单片机最小系统 3.2 ...

  5. Jetson Nano-PWM自动调速

    由于Nano散热差时,会造成宕机等问题,所以必须配上风扇,PWM最佳 手动设置 PWM范围:0 - 255 最小0即不转,255为最大转速 sudo sh -c 'echo 255 > /sys ...

  6. 基于51的多功能小风扇,可以实现定时,摇头,超声波自动调速等功能

    最近也是想加入一个实验室,考核题目就是写一个小风扇!下面是题目要求 由于我也是大一新生,也就自学了一点51和c语言知识,代码写的可能有点拙,还请多多指教! #include <REGX52.H& ...

  7. 全志平台GPIO 在sys_config.fex中的具体定义及配置方法

    全志平台GPIO 在sys_config.fex中的具体定义及配置方法 1.GPIO的定义与使用 1.1.GPIO在sys_config.fex 中的定义 在对应方案中的sys_config.fex ...

  8. 计算机cpu散热方式,调整电脑CPU散热风扇转速的简单方法【图文】

    电脑风扇对于电脑的使用和寿命有着密不可分的关系,怎么调节电脑的风扇的转速来控制电脑CPU的散热?首先电脑风扇转速的控制,通常有两种方法可以进行调节,第一种就是一刀切式的调整,直接到BIOS里面手动将风 ...

  9. NanoPC-T4 上实现pwm风扇自动调速

    友善之臂推出的 NanoPC-T4 是一款采用 瑞芯微 RK3399 方案的嵌入式开发板,性能强大.发热量也杠杠的. 其板载PWM调速风扇接口采用GH1.25 插头,支持PWM调速.但查看了下 dts ...

  10. 使用postcss-plugin-px2rem和postcss-pxtorem(postcss-px2rem)-px自动转换rem的配置方法-vue-cli3.0

    在vue-cli3.0中使用postcss-plugin-px2rem 插件 插件的作用是 自动将vue项目中的px转换为rem  postcss-plugin-px2rem优势: 因为 postcs ...

最新文章

  1. 03-VTK基础概念(2)
  2. linux清除邮件队列
  3. 为Linux用ISO制作U盘启动及基本原理
  4. PL/SQL学习笔记(四)
  5. 30岁学python编程_朋友问我,你都30岁了学编程来得及吗
  6. 【算法】一个简单的Resnet原理
  7. js sort方法根据数组中对象的某一个属性值进行排序(实用方法)
  8. 《MySQL——查询长时间不返回的三种原因与查询慢的原因》
  9. videojs暂停时显示大按钮_紧急!西安老人扶梯上仰面向后晕倒,这个救命按钮很多人不知道...
  10. ubuntu 9.10安装jdk1.5
  11. ubuntu18.04静态ip设置
  12. MySQL的初次使用
  13. 题5 正确的Java垃圾回收说法
  14. promise is not a constructor
  15. DLL中无法定位程序输入点inflateReset2于动态链接库
  16. 学透for循环-传统for循环与增强for循环
  17. 拥有有趣灵魂的程序员们,程序员访谈(一)
  18. ViewBinding和DataBinding的理解和区别
  19. Android开发 报错: xxx does not have a NavController set on xxx
  20. 用python画玫瑰花的简笔画-只用C++和Python,让你的简笔画实时动起来!

热门文章

  1. 新版捷兔云支付网站源码开源版 第三方支付源码 第四方支付源码 免签约支付源码
  2. mysql调查问卷数据库设计_客服-问卷调查-问题答案表 - 数据库设计 - 数据库表结构 - 果创云...
  3. 2022年G2电站锅炉司炉试题及在线模拟考试
  4. RPLIDAR在ROS下快速上手教程
  5. 【新品发布】行业领先数据恢复“先锋”震撼来袭
  6. ubuntu中安装pdf虚拟打印机
  7. 时间序列分析系列(一) : 基本概念
  8. ICLR 2021 | 自解释神经网络—Shapley Explanation Networks
  9. arduino两轮平衡车(二)-- 原理讲解
  10. Android虚拟机上安装apk软件指南