From c59e7704a277a10671092fb4ea323ea100386bf8 Mon Sep 17 00:00:00 2001 From: mahj8 Date: Wed, 8 Dec 2021 09:19:46 +0800 Subject: [PATCH] charging: config ICL after BC1.2 done Third charging ic IINLIM bits will be changed auto when BC1.2 done. So we need to Ignore the Rp changes unless BC1.2 done. Change-Id: Ib04c9702af17c0540ca8014f4ebaeb3dcc084b66 Signed-off-by: mahj8 Reviewed-on: https://gerrit.mot.com/2138036 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- .../mmi_discrete_charger/mmi_discrete_charger_core.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c index 437aa96838e0..8a92db809b9e 100644 --- a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c +++ b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c @@ -1869,7 +1869,14 @@ int mmi_discrete_config_typec_mode(struct mmi_discrete_charger *chip, int val) if (val != chip->typec_mode) { chip->typec_mode = val; - update_sw_icl_max(chip); + + /* + * Third charging ic IINLIM bits will be changed auto + * when BC1.2 done. So we need to Ignore the Rp + * changes unless BC1.2 done. + */ + if (chip->real_charger_type != POWER_SUPPLY_TYPE_UNKNOWN) + update_sw_icl_max(chip); if (chip->usb_psy) power_supply_changed(chip->usb_psy);