dlkm: no need rerun aicl for odessa

odessa don't need to rerun aicl for PMIC
when switch to PMIC charging

Change-Id: I87e74f3d64b7ecf163075Montana9fb056d20dc4583d
Signed-off-by: mahj8 <mahj8@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1536606
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Wentao Xu <xuwt2@motorola.com>
Reviewed-by: Lu Chai <chailu1@motorola.com>
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
Reviewed-on: https://gerrit.mot.com/1893605
Reviewed-by: Wei Xu <xuwei9@lenovo.com>
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
This commit is contained in:
mahj8 2020-04-17 17:31:30 +08:00 • committed by Wei Xu
commit 63deb0de3c
3 changed files with 16 additions and 8 deletions

View file

@ -1531,6 +1531,9 @@ static int mmi_chrg_manager_parse_dt(struct mmi_charger_manager *chip)
chip->extrn_sense = of_property_read_bool(node,
"mmi,extrn-sense");
chip->dont_rerun_aicl= of_property_read_bool(node,
"mmi,dont-rerun-aicl");
rc = of_property_read_u32(node,
"mmi,pps-volt-steps",
&chip->pps_volt_steps);

View file

@ -197,6 +197,7 @@ struct mmi_charger_manager {
const char *extrn_fg_name;
bool extrn_sense;
bool recovery_pmic_chrg;
bool dont_rerun_aicl;
bool sys_therm_cooling;
bool sys_therm_force_pmic_chrg;

View file

@ -615,10 +615,12 @@ static void mmi_chrg_sm_work_func(struct work_struct *work)
chrg_list->chrg_dev[PMIC_SW]->charger_limited = false;
}
mmi_chrg_info(chip, "Do an rerun usb AICL for PMIC-SW\n");
mmi_enable_charging(chrg_list->chrg_dev[PMIC_SW], false);
msleep(100);
mmi_enable_charging(chrg_list->chrg_dev[PMIC_SW], true);
if (!chip->dont_rerun_aicl) {
mmi_chrg_info(chip, "Do an rerun usb AICL for PMIC-SW\n");
mmi_enable_charging(chrg_list->chrg_dev[PMIC_SW], false);
msleep(100);
mmi_enable_charging(chrg_list->chrg_dev[PMIC_SW], true);
}
mmi_chrg_info(chip, "Check all effective pdo info again\n");
usbpd_get_pdo_info(chip->pd_handle, chip->mmi_pdo_info);
mmi_chrg_info(chip, "Select FIXED pdo for switch charging !\n");
@ -1183,10 +1185,12 @@ static void mmi_chrg_sm_work_func(struct work_struct *work)
DISABLE_CHRG_LIMIT);
chrg_list->chrg_dev[PMIC_SW]->charger_limited = false;
mmi_chrg_info(chip,"Do an rerun usb AICL for PMIC-SW\n");
mmi_enable_charging(chrg_list->chrg_dev[PMIC_SW], false);
msleep(100);
mmi_enable_charging(chrg_list->chrg_dev[PMIC_SW], true);
if (!chip->dont_rerun_aicl) {
mmi_chrg_info(chip,"Do an rerun usb AICL for PMIC-SW\n");
mmi_enable_charging(chrg_list->chrg_dev[PMIC_SW], false);
msleep(100);
mmi_enable_charging(chrg_list->chrg_dev[PMIC_SW], true);
}
chip->recovery_pmic_chrg = true;
chrg_cv_taper_tunning_cnt = 0;
}