summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/power/qcom-charger/smb138x-charger.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/drivers/power/qcom-charger/smb138x-charger.c b/drivers/power/qcom-charger/smb138x-charger.c
index 54cd5c158411..c77204482553 100644
--- a/drivers/power/qcom-charger/smb138x-charger.c
+++ b/drivers/power/qcom-charger/smb138x-charger.c
@@ -32,7 +32,11 @@
/* Registers that are not common to be mentioned in smb-reg.h */
#define SMB2CHG_MISC_ENG_SDCDC_CFG2 (MISC_BASE + 0xC1)
-#define ENG_SDCDC_SEL_OOB_VTH_BIT BIT(0)
+#define ENG_SDCDC_SEL_OOB_VTH_BIT BIT(0)
+
+#define SMB2CHG_MISC_ENG_SDCDC_CFG6 (MISC_BASE + 0xC5)
+#define DEAD_TIME_MASK GENMASK(7, 4)
+#define HIGH_DEAD_TIME_MASK GENMASK(7, 4)
enum {
OOB_COMP_WA_BIT = BIT(0),
@@ -648,6 +652,14 @@ static int smb138x_init_hw(struct smb138x *chip)
"Couldn't configure the oob comp threh rc = %d\n", rc);
return rc;
}
+
+ rc = smblib_masked_write(chg, SMB2CHG_MISC_ENG_SDCDC_CFG6,
+ DEAD_TIME_MASK, HIGH_DEAD_TIME_MASK);
+ if (rc < 0) {
+ dev_err(chg->dev,
+ "Couldn't configure the sdcdc cfg 6 reg rc = %d\n", rc);
+ return rc;
+ }
}
return rc;
@@ -927,6 +939,14 @@ static int smb138x_slave_probe(struct smb138x *chip)
"Couldn't configure the oob comp threh rc = %d\n", rc);
return rc;
}
+
+ rc = smblib_masked_write(chg, SMB2CHG_MISC_ENG_SDCDC_CFG6,
+ DEAD_TIME_MASK, HIGH_DEAD_TIME_MASK);
+ if (rc < 0) {
+ dev_err(chg->dev,
+ "Couldn't configure the sdcdc cfg 6 reg rc = %d\n", rc);
+ return rc;
+ }
}
/* suspend usb input */