charger/bq25890: force D+/D- detection for APSD

Improve BC1.2:
add force D+/D- detection in the end of rerun
autonomous power source detection.

Change-Id: I97a5666bf3354d19d70f106dac41b239b8d4d119
Reviewed-on: https://gerrit.mot.com/2075617
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
gongsc1 2021-09-24 16:20:33 +08:00 • committed by Shicheng Gong
commit e813af9664

View file

@ -1122,12 +1122,12 @@ static bq2589x_reuqest_dpdm(struct bq2589x *bq, bool enable)
void bq2589x_enable_ilim(struct bq2589x *bq)
{
int ret;
dev_info(bq->dev, "%s:re-eable ILIM pin\n", __func__);
dev_info(bq->dev, "%s:re-enable ILIM pin\n", __func__);
ret = bq2589x_update_bits(bq, BQ2589X_REG_00, BQ2589X_ENILIM_MASK,
BQ2589X_ENILIM_ENABLE << BQ2589X_ENILIM_SHIFT);
if (ret < 0)
dev_err(bq->dev, "cannot enable ILIM pin ret=%d\n", ret);
dev_err(bq->dev, "fail enable ILIM pin ret=%d\n", ret);
else
bq->real_charger_type = POWER_SUPPLY_TYPE_UNKNOWN;
}
@ -1147,7 +1147,7 @@ static int bq2589x_rerun_adsp_if_required(struct bq2589x *bq)
dev_err(bq->dev,"%s:cannot enable DPDM rc=%d\n",__func__, ret);
bq->typec_apsd_rerun_done = true;
bq2589x_enable_ilim(bq);
bq2589x_force_dpdm(bq);
return 0;
}