Commit 23a34f9d authored by Tero Kristo's avatar Tero Kristo Committed by Mark Brown

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: default avatarTero Kristo <t-kristo@ti.com>
Signed-off-by: default avatarDave Gerlach <d-gerlach@ti.com>
Signed-off-by: default avatarKeerthy <j-keerthy@ti.com>
Acked-by: default avatarLee Jones <lee.jones@linaro.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f11fa179
...@@ -180,6 +180,14 @@ static int tps65218_pmic_set_suspend_disable(struct regulator_dev *dev) ...@@ -180,6 +180,14 @@ static int tps65218_pmic_set_suspend_disable(struct regulator_dev *dev)
if (rid < TPS65218_DCDC_1 || rid > TPS65218_LDO_1) if (rid < TPS65218_DCDC_1 || rid > TPS65218_LDO_1)
return -EINVAL; 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 (!tps->info[rid]->strobe) {
if (rid == TPS65218_DCDC_3) if (rid == TPS65218_DCDC_3)
tps->info[rid]->strobe = 3; tps->info[rid]->strobe = 3;
......
...@@ -63,6 +63,11 @@ ...@@ -63,6 +63,11 @@
#define TPS65218_CHIPID_CHIP_MASK 0xF8 #define TPS65218_CHIPID_CHIP_MASK 0xF8
#define TPS65218_CHIPID_REV_MASK 0x07 #define TPS65218_CHIPID_REV_MASK 0x07
#define TPS65218_REV_1_0 0x0
#define TPS65218_REV_1_1 0x1
#define TPS65218_REV_2_0 0x2
#define TPS65218_REV_2_1 0x3
#define TPS65218_INT1_VPRG BIT(5) #define TPS65218_INT1_VPRG BIT(5)
#define TPS65218_INT1_AC BIT(4) #define TPS65218_INT1_AC BIT(4)
#define TPS65218_INT1_PB BIT(3) #define TPS65218_INT1_PB BIT(3)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment