From 07dda2d4753c07eeac67a115e1ac4a1ea9c63516 Mon Sep 17 00:00:00 2001 From: xuwt2 Date: Mon, 30 Jul 2018 11:21:46 +0800 Subject: [PATCH] power: change bq2597x ucp threshold from 500mA to 300mA change bq2597x ucp threshold from 500mA to 300mA Change-Id: Iad315858b3d7f88a3aacee69560b3cd00f98b9b2 Signed-off-by: xuwt2 Reviewed-on: https://gerrit.mot.com/1217350 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Jianqi Yang Submit-Approved: Jira Key --- drivers/power/bq2597x_mmi/bq2597x_mmi.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/drivers/power/bq2597x_mmi/bq2597x_mmi.c b/drivers/power/bq2597x_mmi/bq2597x_mmi.c index 748d19201642..1d9ddc1fc3b0 100644 --- a/drivers/power/bq2597x_mmi/bq2597x_mmi.c +++ b/drivers/power/bq2597x_mmi/bq2597x_mmi.c @@ -1122,6 +1122,26 @@ static int bq2597x_set_sense_resistor(struct bq2597x *bq, int r_mohm) return ret; } +static int bq2597x_set_ucp_threshold(struct bq2597x *bq, int curr_ma) +{ + int ret; + u8 val; + + if (curr_ma == 300) + val = BQ2597X_IBUS_UCP_RISE_300MA; + else if (curr_ma == 500) + val = BQ2597X_IBUS_UCP_RISE_500MA; + else + val = BQ2597X_IBUS_UCP_RISE_300MA; + + val <<= BQ2597X_IBUS_UCP_RISE_TH_SHIFT; + + ret = bq2597x_update_bits(bq, BQ2597X_REG_2B, + BQ2597X_IBUS_UCP_RISE_TH_MASK, + val); + return ret; +} + static int bq2597x_enable_regulation(struct bq2597x *bq, bool enable) { int ret; @@ -1609,8 +1629,9 @@ static int bq2597x_init_device(struct bq2597x *bq) { bq2597x_enable_wdt(bq, false); - bq2597x_set_ss_timeout(bq, 50); + bq2597x_set_ss_timeout(bq, 1500); bq2597x_set_sense_resistor(bq, bq->cfg->sense_r_mohm); + bq2597x_set_ucp_threshold(bq, 300); bq2597x_init_protection(bq); bq2597x_init_adc(bq);