MTK 6735平台 高温停止充电问题总结

接硬测报告:偶发重启后不能充电。
    经过测试、分析,判断引起  偶发重启后不能充电(无充电电流) 故障 为 AP(主板)温度过高,系统自动关闭充电
   
测试过程如下:
测试一、
     去除系统中温度检测功能(注释CONFIG_THERMAL宏),进行测试,测试30分钟,重启26次,未出现不能充电现象

测试二、
    代码恢复原始代码(打开温度检测功能),进行测试,测试30分钟,重启25次,最后一次出现不能充电现象 (无充电电流)。
  分析log,发现: [Power/BTS_Thermal] T_AP=49000   T_btsmdpa=47000,确定为AP温度过高照成系统关闭充电。

测试三、
    代码恢复原始代码(打开温度检测功能),安装 CPU_Z 软件检测系统温度,进行测试,测试30分钟,重启11次,出现不能充电现象 (无充电电流)。
    刚开始充电时系统温度为:
MTK 6735平台 高温停止充电问题总结_第1张图片
 停止充电时系统温度为:(停止充电时mtktsAP为49,拍照时降为48.6)
MTK 6735平台 高温停止充电问题总结_第2张图片
结论:
    偶发重启后不充电(无充电电流),是由于 AP(主板)温度过高,系统温度保护起作用,关闭充电
查看FAQ发现,有以下相关FAQ:
FAQ14151  更改温度
FAQ14794  关闭温度
FAQ08973  打开 thermal module相 关log
         查看发现,只有  [FAQ14151]MT6735/35M/53使用switch charger充 电时电流被限制为650mA 与我们现象基本一致,其FAQ内容如下:
[DESCRIPTION]
使用switch charger充电的时候, 会出现充电电流被限制在650mA的状况, 而且log中可以看到"BCCT"限制充电电流为650mA; 原因是因为thermal.conf中AP default设定trip point 34C的时候, 调用BCCT cooler 00, 这个cooler就是限定充电电流为default 650mA, 我司default设定的温度34C, 是根据使用pulse charger 800mA充电时候板子发热状况设定的, 而使用switch charger,充电电流通常比较大, 所以很容易达到34C的温度
[SOLUTION]
修改方法:
您需要在自己的板子上,根据以下的测试来确定贵司自己的温度点
1.进入工模,others->thermal  选择"thermal protection only"   然后点击"APPLY NEW THERMAL POLICY"
2.在您的phone当前没有其他的stress在运行,屏幕处于基本亮度的时候, 将充电电流设置成最大, 然后测试您的板温,记录下这个值,假设您测试的温度为48C
3.修改thermal.conf
conf存放的路径是在alps\device\mediatek\$(project)中
MT6735修改thermal.conf
MT6735M修改thermal_eng.conf 以及thermal.conf
MT6753修改thermal_6753_eng.conf,thermal_6753.conf,以及thermal.wfd.6753.conf
4.修改的方法,
将您要修改的conf文件放到thermal config tool中的decrypt文件夹下, 在您要修改的conf文件爱名称的最后加上.mtc, 双击decrypt文件夹中的decypt_all_config,
decrypt目录下就会看到conf对应的txt文件,
您可以修改下面一行:
/proc/driver/thermal/tzbts
3 95000 0 mtktspa-sysrst 48000 0 mtk-cl-bcct01 34000 0 mtk-cl-bcct00
假设您测试的板温为48C,修改为:
3 95000 0 mtktspa-sysrst 60000 0 mtk-cl-bcct01 48000 0 mtk-cl-bcct00
mtk-cl-bcct00的温度修改为48C,前面mtk-cl-bcct01的温度要高一些,这里假设设定为60C
然后在windows上面拉出dos命令行, 将thermal config tool中的encrypt命令拖进去,空格, 再将您修改后的conf txt文件拖进去,空格, 然后再输入您想要生成的conf名称, 执行后,就会在dos命令行的目录下生成您要的conf文件, 然后将其放回您取出的地方, build code即可。
    由于没有加密、解密工具,无法进行操作,后来 热心网友提供 加密、解密工具,按其工具操作,解密工具位于工具目录中 decrypt 文件夹下,加密工具位于工具文件夹根目录下。
    使用工具,进行如下修改:
/proc/driver/thermal/tzbts
4 95000 0 mtktspa-sysrst 51000 0 mtk-cl-bcct02 49000 0 mtk-cl-bcct01 34000 0…………
修改为
4 95000 0 mtktspa-sysrst 60000 0 mtk-cl-bcct02 56000 0 mtk-cl-bcct01 34000 0…………
    能够正常充电,但MTK给予回复:
这样修改后的意思就是在60C执行bcct02, 超过56C的时候执行bcct01
thermal这边的限流应当要根据贵司板子的实际情况,假设bcct01是停止充电的话,贵司可以考量一下,是认为超过56C的时候停止充电
但是此时若板子在50C了,已经算蛮高温了,若继续充电,恐怕对板子不利,
客户的体验度也不是很好
 
最根本的解决方法就是降低板子的温度,即便是充电,也不应当升温这么高
最主要是硬件以及结构设计问题,需要硬件及结构介入,才能从根本解决问题,此方案只能够从软件层面Cover问题。

你可能感兴趣的:(MTK平台问题)