有些项目的使用场景会遇到关于温度方面的问题,比如高温度(超过85)对cpu的风险,在RK平台温控方案中会有一个温度到达阈值会自动降频以及关机的策略,有没有办法获取电源管理芯片的温度?
rk3588上使用的电源管理芯片是RK806,RK806没有读取温度的寄存器, 在代码里面有看到如下图片
这里的值是设置PMU过温的温度阀值,并不代表可以读取其实时温度。这里的值是160摄氏度度。RK806的硬件行为,超过这个温度,RK806关闭输出。
如何确认RK 的芯片支持温度查询?
cpu核心温度查询:
cat /sys/class/thermal/thermal_zone0/temp 出来的值比如50000,就是50摄氏度。
RK3588芯片有7个TS-ADC通道,分别对应芯片中心位置和A76_ 0/1、A76_ 2/3、DSU、A55_ 0/1/2/3、PD_ center、NPU、GPU,可以通过查看/sys/class/thermal/下的节点查看对应检测温度
RK806芯片默认代码有点问题,对shutdown,hotdie的设置有些不对,需要做如下修改
diff --git a/drivers/mfd/rk806-core.c b/drivers/mfd/rk806-core.c
index 5421ac95578f..366ccd7b913c 100644
--- a/drivers/mfd/rk806-core.c
+++ b/drivers/mfd/rk806-core.