高通關機電壓過高

2021-09-24 18:24:04 字數 1053 閱讀 9653

1.檔案目錄

kernel/msm-4.9/drivers/power  驅動**

kernel\msm-4.9\documentation\devicetree\bindings\batterydata  說明文件

2. 參考文件

高通平台電池曲線 

電池驅動除錯總結,電池服務+電量計驅動+除錯方法

高通電池管理系統(bms)驅動分析

高通電池管理基於qpnp電壓模式 

高通8x16電池bms演算法(一)

高通8x16電池bms演算法(二)

3.問題:關機電壓過高(3.58v)要求3.3-3.5之間

思路步驟:

復現問題,查詢關鍵soc 當soc為0是會關機

參考檔案:kernel/msm-4.9/drivers/power/supply/qcom/qg-soc.c

1)抓取開機log 查詢電池電量驅動如:qg-k: qpnp_qg_probe: qg initialized! battery_profile=

2)走讀下probe函式找到更新soc的處理函式init_work(&chip->udata_work, process_udata_work) -> int qg_adjust_sys_soc(struct qpnp_qg *chip)

3)分析qg_adjust_sys_soc**

int qg_adjust_sys_soc(struct qpnp_qg *chip)

else if (chip->sys_soc == qg_max_soc) else if (chip->sys_soc >= (qg_max_soc - 100)) else

qg_dbg(chip, qg_debug_soc, "last_adj_sys_soc=%d  adj_sys_soc=%d\n",

chip->last_adj_ssoc, soc);

chip->last_adj_ssoc = soc;

return soc;

}