mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 14:12:06 +00:00
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>
This commit is contained in:
parent
f11fa1796a
commit
23a34f9d03
@ -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;
|
||||
|
@ -63,6 +63,11 @@
|
||||
#define TPS65218_CHIPID_CHIP_MASK 0xF8
|
||||
#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_AC BIT(4)
|
||||
#define TPS65218_INT1_PB BIT(3)
|
||||
|
Loading…
Reference in New Issue
Block a user