mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
Merge "power: smb1398: Add ILIM offset due to inaccuracy"
This commit is contained in:
commit
daefa85d2d
@ -212,6 +212,7 @@
|
||||
/* Need to define max ILIM for smb1398 */
|
||||
#define DIV2_MAX_ILIM_UA 3200000
|
||||
#define DIV2_MAX_ILIM_DUAL_CP_UA 6400000
|
||||
#define DIV2_ILIM_CFG_PCT 105
|
||||
|
||||
#define TAPER_STEPPER_UA_DEFAULT 100000
|
||||
#define TAPER_STEPPER_UA_IN_CC_MODE 200000
|
||||
@ -960,7 +961,8 @@ static int div2_cp_master_get_prop(struct power_supply *psy,
|
||||
} else {
|
||||
rc = smb1398_get_iin_ma(chip, &ilim_ma);
|
||||
if (!rc)
|
||||
val->intval = ilim_ma * 1000;
|
||||
val->intval = (ilim_ma * 1000 * 100)
|
||||
/ DIV2_ILIM_CFG_PCT;
|
||||
}
|
||||
chip->cp_ilim = val->intval;
|
||||
break;
|
||||
@ -1253,6 +1255,9 @@ static int smb1398_div2_cp_slave_disable_vote_cb(struct votable *votable,
|
||||
if (disable && (chip->div2_cp_ilim_votable)) {
|
||||
ilim_ua = get_effective_result_locked(
|
||||
chip->div2_cp_ilim_votable);
|
||||
|
||||
ilim_ua = (ilim_ua * DIV2_ILIM_CFG_PCT) / 100;
|
||||
|
||||
if (ilim_ua > DIV2_MAX_ILIM_UA)
|
||||
ilim_ua = DIV2_MAX_ILIM_UA;
|
||||
|
||||
@ -1283,6 +1288,8 @@ static int smb1398_div2_cp_ilim_vote_cb(struct votable *votable,
|
||||
if (!client)
|
||||
return -EINVAL;
|
||||
|
||||
ilim_ua = (ilim_ua * DIV2_ILIM_CFG_PCT) / 100;
|
||||
|
||||
max_ilim_ua = is_cps_available(chip) ?
|
||||
DIV2_MAX_ILIM_DUAL_CP_UA : DIV2_MAX_ILIM_UA;
|
||||
ilim_ua = min(ilim_ua, max_ilim_ua);
|
||||
|
Loading…
x
Reference in New Issue
Block a user