summaryrefslogtreecommitdiffstats
path: root/drivers/regulator/tps65218-regulator.c
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2016-06-24 13:58:09 +0530
committerMark Brown <broonie@kernel.org>2016-06-27 17:56:43 +0100
commit3fb2ef111d6f799f3da8860c1a90ef3d9c36ea55 (patch)
treea49d515019d9724b0df8522ae050d091b6271111 /drivers/regulator/tps65218-regulator.c
parentb9a0d359413d7f4e078d81cd59f9d851a6febb7a (diff)
downloadtalos-obmc-linux-3fb2ef111d6f799f3da8860c1a90ef3d9c36ea55.tar.gz
talos-obmc-linux-3fb2ef111d6f799f3da8860c1a90ef3d9c36ea55.zip
regulator: tps65218: force set power-up/down strobe to 3 for dcdc3
The reset value for this register seems broken on certain versions of tps65218 chip, so make sure the dcdc3 settings is proper. Needed for proper functionality of rtc+ddr / rtc-only modes. 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> 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, 6 insertions, 2 deletions
diff --git a/drivers/regulator/tps65218-regulator.c b/drivers/regulator/tps65218-regulator.c
index 8eca1eb4f219..d1e631d64a20 100644
--- a/drivers/regulator/tps65218-regulator.c
+++ b/drivers/regulator/tps65218-regulator.c
@@ -180,8 +180,12 @@ static int tps65218_pmic_set_suspend_disable(struct regulator_dev *dev)
if (rid < TPS65218_DCDC_1 || rid > TPS65218_LDO_1)
return -EINVAL;
- if (!tps->info[rid]->strobe)
- return -EINVAL;
+ if (!tps->info[rid]->strobe) {
+ if (rid == TPS65218_DCDC_3)
+ tps->info[rid]->strobe = 3;
+ else
+ return -EINVAL;
+ }
return tps65218_set_bits(tps, dev->desc->bypass_reg,
dev->desc->bypass_mask,
OpenPOWER on IntegriCloud