diff --git a/drivers/power/mmi_parallel_charger/mmi_charger_core.c b/drivers/power/mmi_parallel_charger/mmi_charger_core.c index 7623ec03de74..090159e5e558 100644 --- a/drivers/power/mmi_parallel_charger/mmi_charger_core.c +++ b/drivers/power/mmi_parallel_charger/mmi_charger_core.c @@ -1782,11 +1782,10 @@ static int mmi_chrg_manager_parse_dt(struct mmi_charger_manager *chip) } } - rc = of_property_read_u32(node, + chip->afvc_volt_comp = 0; + of_property_read_u32(node, "mmi,afvc_enable_compensation_uv", &chip->afvc_volt_comp); - if (rc < 0) - chip->afvc_volt_comp = 0; return rc; thermal_failed: devm_kfree(chip->dev,chip->thermal_mitigation); diff --git a/drivers/power/mmi_parallel_charger/mmi_charger_pump_policy.c b/drivers/power/mmi_parallel_charger/mmi_charger_pump_policy.c index a3415ed5f46f..932e1e33328b 100644 --- a/drivers/power/mmi_parallel_charger/mmi_charger_pump_policy.c +++ b/drivers/power/mmi_parallel_charger/mmi_charger_pump_policy.c @@ -1364,7 +1364,14 @@ schedule: mmi_chrg_info(chip, "Thermal is the highest, level %d, " "Force enter into single pmic charging !\n", chip->system_thermal_level); - + if(chip->pd_sys_therm_volt == 0) + chip->pd_sys_therm_volt = SWITCH_CHARGER_PPS_VOLT; + if(chip->pd_sys_therm_curr == 0) + chip->pd_sys_therm_curr = TYPEC_HIGH_CURRENT_UA; + if(chip->pd_batt_therm_volt == 0) + chip->pd_batt_therm_volt = SWITCH_CHARGER_PPS_VOLT; + if(chip->pd_batt_therm_curr == 0) + chip->pd_batt_therm_curr = TYPEC_HIGH_CURRENT_UA; } else if (chip->system_thermal_level > 0 && (sm_state == PM_STATE_CP_CC_LOOP || sm_state == PM_STATE_CP_CV_LOOP)) {