From 1b85a5a6f79e5e4d8206eb519e7d3fbe181af6fb Mon Sep 17 00:00:00 2001 From: xuwei9 Date: Mon, 7 Aug 2023 17:40:59 +0800 Subject: [PATCH] different charge termination current at 35-45 temperature range Different charge termination current at 35-45 degC temp range per battery spec. Change-Id: I4aaf296f432d86fe21117bd09f0ce8f769697f3f Signed-off-by: xuwei9 Reviewed-on: https://gerrit.mot.com/2702443 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Xiangpo Zhao Submit-Approved: Jira Key --- drivers/power/mmi_charger/mmi_charger.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/power/mmi_charger/mmi_charger.c b/drivers/power/mmi_charger/mmi_charger.c index ef8a0fbe914a..97a5b6e63579 100644 --- a/drivers/power/mmi_charger/mmi_charger.c +++ b/drivers/power/mmi_charger/mmi_charger.c @@ -147,6 +147,7 @@ struct mmi_charger_profile { //for not FFC battery profile int noffc_fg_iterm; int noffc_chrg_iterm; + int noffc_chrg_iterm_35_45c; int noffc_max_fv_mv; int shutdown_empty_vbat_mv; @@ -963,6 +964,11 @@ static int mmi_get_charger_profile(struct mmi_charger_chip *chip, charger->profile.noffc_chrg_iterm = charger->profile.chrg_iterm; + rc = of_property_read_u32(node, "mmi,chrg-iterm-ma-noffc-35-45c", + &charger->profile.noffc_chrg_iterm_35_45c); + if (rc) + charger->profile.noffc_chrg_iterm_35_45c = -1; + rc = of_property_read_u32(node, "mmi,fg-iterm-ma", &charger->profile.fg_iterm); if (rc) @@ -1099,6 +1105,12 @@ static void mmi_update_charger_profile(struct mmi_charger_chip *chip, charger->profile.max_fv_mv = charger->profile.noffc_max_fv_mv; charger->profile.fg_iterm = charger->profile.noffc_fg_iterm; charger->profile.chrg_iterm = charger->profile.noffc_chrg_iterm; + + temp = charger->batt_info.batt_temp; + if(charger->profile.noffc_chrg_iterm_35_45c > 0 && temp >= 35 && temp <= 45) { + charger->profile.chrg_iterm = charger->profile.noffc_chrg_iterm_35_45c; + pr_info("enter mmi_update_charger_profile with temp:%d, chrg_iterm:%d, noffc_chrg_iterm_35_45c:%d\n", temp, charger->profile.chrg_iterm, charger->profile.noffc_chrg_iterm_35_45c); + } return; }