summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBengt Jonsson <bengt.g.jonsson@stericsson.com>2011-09-19 14:56:34 +0200
committerRobert Marklund <robert.marklund@stericsson.com>2011-10-05 13:01:20 +0200
commit0fcb8ab9af1885093c7d78dc422b077aea48b641 (patch)
tree8f75274869b80a9de7ac683c69a11b6884be5fab
parent753c3c63a69d4cc5e366a8bee418664b791b2c26 (diff)
regulator: Do not disable Vext3 during suspend
Do not disable Vext3 during suspend because it is needed by 3 V SIM. This is a temporary change, to be changed so it takes into account if the SIM is 1.8 V or 3 V. ST-Ericsson ID: 351937 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: - Change-Id: I2c5d20282ff3b4a090553e3672825236a0db4d19 Signed-off-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31362 Reviewed-by: QABUILD Reviewed-by: QATEST Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32140 Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Tested-by: Jonas ABERG <jonas.aberg@stericsson.com>
-rw-r--r--drivers/regulator/ab8500-debug.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/drivers/regulator/ab8500-debug.c b/drivers/regulator/ab8500-debug.c
index 5463721d24e..661386890af 100644
--- a/drivers/regulator/ab8500-debug.c
+++ b/drivers/regulator/ab8500-debug.c
@@ -1736,17 +1736,35 @@ static int __devinit ab8500_regulator_debug_probe(struct platform_device *plf)
if ((abx500_get_chip_id(&pdev->dev) >= 0x30) && cpu_is_u8500v22()) {
/*
* find ExtSupplyRegu register (bank 0x04, addr 0x08)
- * and update value (Vext1 in low-power, Vext2 and Vext3
- * off).
+ * and update value (Vext1 in low-power, Vext2 off).
*/
for (i = 0; i < ARRAY_SIZE(ab8500_force_reg); i++) {
if (ab8500_force_reg[i].bank == 0x04 &&
ab8500_force_reg[i].addr == 0x08) {
- ab8500_force_reg[i].val = 0x03;
+ u8 val, val_mask = 0x0f;
+
+ val = ab8500_force_reg[i].val;
+ val = (val & ~val_mask) | (0x03 & val_mask);
+ ab8500_force_reg[i].val = val;
}
}
}
+ /*
+ * find ExtSupplyRegu register (bank 0x04, addr 0x08)
+ * and update value (Vext3 in high power).
+ */
+ for (i = 0; i < ARRAY_SIZE(ab8500_force_reg); i++) {
+ if (ab8500_force_reg[i].bank == 0x04 &&
+ ab8500_force_reg[i].addr == 0x08) {
+ u8 val, val_mask = 0x30;
+
+ val = ab8500_force_reg[i].val;
+ val = (val & ~val_mask) | (0x10 & val_mask);
+ ab8500_force_reg[i].val = val;
+ }
+ }
+
/* make suspend-force default if board profile is v5x-power */
boot_info_backupram = ioremap(BOOT_INFO_BACKUPRAM1, 0x4);