From 521d0a8ec94667fd04ba5ccdf093f51e0b8dfac3 Mon Sep 17 00:00:00 2001 From: Guocheng Wang Date: Thu, 21 Sep 2023 16:45:42 +0800 Subject: [PATCH] charge: Fix some charger can't boost VBUS The charging power is too low after repeatedly inserting and removing the moto 33W charger. Because the charger can't boost VBUS by DP(D+) pulses when the DM(D-) 0V time is too short. So add a 100ms delay before we want send the DP pulse. Change-Id: I36ba617b01a1115e9d7bca78773c715d5f73dcc3 Signed-off-by: Guocheng Wang Reviewed-on: https://gerrit.mot.com/2747942 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Huosheng Liao Reviewed-by: Haijian Ma Submit-Approved: Jira Key --- drivers/power/mmi-smbcharger-iio/mmi-smbcharger-iio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/power/mmi-smbcharger-iio/mmi-smbcharger-iio.c b/drivers/power/mmi-smbcharger-iio/mmi-smbcharger-iio.c index d331cff43dc4..a73468bfe8f3 100755 --- a/drivers/power/mmi-smbcharger-iio/mmi-smbcharger-iio.c +++ b/drivers/power/mmi-smbcharger-iio/mmi-smbcharger-iio.c @@ -2212,6 +2212,7 @@ static int mmi_increase_vbus_power(struct smb_mmi_charger *chg, int cur_mv) chg->inc_hvdcp_cnt = HVDCP_PULSE_COUNT_MAX; vote(chg->chg_dis_votable, MMI_HB_VOTER, true, 0); + msleep(100); while (cur_mv < HVDCP_VOLTAGE_NOM && pulse_cnt < chg->inc_hvdcp_cnt) { val.intval = QTI_POWER_SUPPLY_DP_DM_DP_PULSE;