Commit a0c54d12cfc55a440603dc2bb7d85ba203525d22
Committed by
Dave Gerlach
1 parent
dc4dc39876
Exists in
smarc-ti-linux-3.14.y
and in
1 other branch
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>
Showing 2 changed files with 13 additions and 0 deletions Side-by-side Diff
drivers/regulator/tps65218-regulator.c
... | ... | @@ -175,6 +175,14 @@ |
175 | 175 | if (rid < TPS65218_DCDC_1 || rid > TPS65218_LDO_1) |
176 | 176 | return -EINVAL; |
177 | 177 | |
178 | + /* | |
179 | + * Certain revisions of TPS65218 will need to have DCDC3 regulator | |
180 | + * enabled always, otherwise an immediate system reboot will occur | |
181 | + * during poweroff. | |
182 | + */ | |
183 | + if (rid == TPS65218_DCDC_3 && tps->rev == TPS65218_REV_2_1) | |
184 | + return 0; | |
185 | + | |
178 | 186 | if (!tps->info[rid]->strobe) { |
179 | 187 | if (rid == TPS65218_DCDC_3) |
180 | 188 | tps->info[rid]->strobe = 3; |
include/linux/mfd/tps65218.h
... | ... | @@ -63,6 +63,11 @@ |
63 | 63 | #define TPS65218_CHIPID_CHIP_MASK 0xF8 |
64 | 64 | #define TPS65218_CHIPID_REV_MASK 0x07 |
65 | 65 | |
66 | +#define TPS65218_REV_1_0 0x0 | |
67 | +#define TPS65218_REV_1_1 0x1 | |
68 | +#define TPS65218_REV_2_0 0x2 | |
69 | +#define TPS65218_REV_2_1 0x3 | |
70 | + | |
66 | 71 | #define TPS65218_INT1_VPRG BIT(5) |
67 | 72 | #define TPS65218_INT1_AC BIT(4) |
68 | 73 | #define TPS65218_INT1_PB BIT(3) |