summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-01-30 07:04:58 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-01-30 07:04:57 -0800
commit91db9ff3ff237e790e930cbd5dc21d84812a4231 (patch)
treea9a8ef144b4a0498406bcd62257f6438866f8e13 /drivers/power
parent94de58ac69820d16089fd6d86125bc69d9e7bdb3 (diff)
parent5a3b006e3e01ed40bf07205cabee73648f382a28 (diff)
Merge "smb138x-charger: enable stacked diode"
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/supply/qcom/smb138x-charger.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/power/supply/qcom/smb138x-charger.c b/drivers/power/supply/qcom/smb138x-charger.c
index ed76a585ed03..c836e780fc86 100644
--- a/drivers/power/supply/qcom/smb138x-charger.c
+++ b/drivers/power/supply/qcom/smb138x-charger.c
@@ -39,6 +39,9 @@
#define DEAD_TIME_MASK GENMASK(7, 4)
#define HIGH_DEAD_TIME_MASK GENMASK(7, 4)
+#define SMB2CHG_DC_TM_SREFGEN (DCIN_BASE + 0xE2)
+#define STACKED_DIODE_EN_BIT BIT(2)
+
enum {
OOB_COMP_WA_BIT = BIT(0),
};
@@ -1216,6 +1219,13 @@ static int smb138x_slave_probe(struct smb138x *chip)
goto cleanup;
}
+ /* enable stacked diode */
+ rc = smblib_write(chg, SMB2CHG_DC_TM_SREFGEN, STACKED_DIODE_EN_BIT);
+ if (rc < 0) {
+ pr_err("Couldn't enable stacked diode rc=%d\n", rc);
+ return rc;
+ }
+
rc = smb138x_init_parallel_psy(chip);
if (rc < 0) {
pr_err("Couldn't initialize parallel psy rc=%d\n", rc);