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;
}