|
本帖最后由 maomaochong 于 2020-7-29 15:11 编辑
现象:sdm450项目的机器待机底电流大,只要插过usb或者TP解锁后,待机电流18mA
cat /d/rpm_master_stats
cat /sys/power/system_sleep/stats
sleep 60 && cat /d/rpm_master_stats > /data/state.log &
sleep 60 && cat /d/ wakeup_sources > /data/wakeup.log &
查询功耗:
cat /d/rpm_stats
cat /d/rpm_master_stats
cat /d/lpm_stats/stats
dumpsys media.player
不接usb 然后ps hold接地 进入dump 然后插上USB通过qpst dump文件,ps hold轻轻碰下接地,然后接usb,就可以dump,ps hold不能长按,长按后,接usb,机器会重启
dump的话,使用这个工具(QPST->QPST Configuration)的Ports来抓: ports ,log保存路径看 Help ->Open Log File Directory
C:\ProgramData\Qualcomm\QPST\Sahara
解决:
把mclk调用地方屏蔽quin_mi2s_mclk_ctl,之前在vendor/qcom/opensource/audio-kernel/asoc/msm8952.c,之前代理高通给了patch,当时他们以为我们PA有mclk,所以在patch里面把mclk打开,
但没看到有对应关闭动作,艾为fae过来,看了代码,建议去掉mclk,待机就下去了。
mclk打开情况下,adsp就为active状态,lpass就一直没休眠,所以待机电流大。
后续测试发现,会概率性待机电流下不去,分析,发现eeprom这一块有好多报错:
[ 6.080795] read_eeprom_memory: page write failed
[ 6.080799] msm_eeprom_platform_probe read_eeprom_memory failed
[ 6.165482] msm_camera_config_single_vreg can't disable cam_vdig
[ 6.167683] qcom,eeprom: probe of 1b0c000.qcom,cci:qcom,eeprom@1 failed with error -110
[ 6.168441] msm_eeprom_platform_probe failed 1780
对应代码:
msm_eeprom.c
当执行msm_eeprom_power_up后,接着执行eeprom_parse_memory_map,概率性报错,然后退出goto free_mem,
就不会执行后续的msm_camera_power_down,这样就没下电,待机电流就大。
解决:
在eeprom_parse_memory_map执行屏蔽goto free_mem
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|