summaryrefslogtreecommitdiff
path: root/drivers/regulator/tps65218-regulator.c
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2016-08-10 17:53:55 +0530
committerMark Brown <broonie@kernel.org>2016-08-10 18:21:55 +0100
commit23a34f9d03a5d40a6234855bc069da370708cc9e (patch)
tree5cfb55dab22dcf39278c0194ba85c5930be33e61 /drivers/regulator/tps65218-regulator.c
parentf11fa1796a4b4f8c6d4ced37e8824276ec57057d (diff)
regulator: tps65218: do not disable DCDC3 during poweroff on broken PMICs
Some versions of tps65218 do not seem to support poweroff modes properly if DCDC3 regulator is shut-down. Thus, keep it enabled even during poweroff if the version info matches the broken silicon revision. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Keerthy <j-keerthy@ti.com> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator/tps65218-regulator.c')
-rw-r--r--drivers/regulator/tps65218-regulator.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/regulator/tps65218-regulator.c b/drivers/regulator/tps65218-regulator.c
index d1e631d64a20..eb0f5b13841a 100644
--- a/drivers/regulator/tps65218-regulator.c
+++ b/drivers/regulator/tps65218-regulator.c
@@ -180,6 +180,14 @@ static int tps65218_pmic_set_suspend_disable(struct regulator_dev *dev)
if (rid < TPS65218_DCDC_1 || rid > TPS65218_LDO_1)
return -EINVAL;
+ /*
+ * Certain revisions of TPS65218 will need to have DCDC3 regulator
+ * enabled always, otherwise an immediate system reboot will occur
+ * during poweroff.
+ */
+ if (rid == TPS65218_DCDC_3 && tps->rev == TPS65218_REV_2_1)
+ return 0;
+
if (!tps->info[rid]->strobe) {
if (rid == TPS65218_DCDC_3)
tps->info[rid]->strobe = 3;