summaryrefslogtreecommitdiff
path: root/drivers/mfd
diff options
context:
space:
mode:
authorVijaya Kumar Kilari <vijay.kilari@stericsson.com>2011-09-13 11:30:37 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 10:59:15 +0200
commita68f4be898c38ad653403f1f42bf87d8c2165530 (patch)
treefdb667d07c27f90a75a75e2559f9acf9a02a6cf1 /drivers/mfd
parent244cbcf37ec5c6c9e8c1583c33940106988237c4 (diff)
U5500: Add VAPE as supply regulator for EPODS
Added VAPE as supply regulator for MM EPODS. Avoids ApSleep when EPOD regulators are ON ST-Ericsson Linux next: - ST-Ericsson ID: 356729 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I283f99f4174bc316fd7b81d81b654112ecec3f3d Signed-off-by: Vijaya Kumar Kilari <vijay.kilari@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30723 Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/35851 Tested-by: Rabin VINCENT <rabin.vincent@stericsson.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/db5500-prcmu.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/drivers/mfd/db5500-prcmu.c b/drivers/mfd/db5500-prcmu.c
index 55560abe001..2633b728ada 100644
--- a/drivers/mfd/db5500-prcmu.c
+++ b/drivers/mfd/db5500-prcmu.c
@@ -1995,6 +1995,16 @@ static struct regulator_consumer_supply db5500_esram12_consumers[] = {
.num_consumer_supplies = ARRAY_SIZE(db5500_##lower##_consumers),\
}
+#define DB5500_REGULATOR_SWITCH_VAPE(lower, upper) \
+[DB5500_REGULATOR_SWITCH_##upper] = { \
+ .supply_regulator = "db5500-vape", \
+ .constraints = { \
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS, \
+ }, \
+ .consumer_supplies = db5500_##lower##_consumers, \
+ .num_consumer_supplies = ARRAY_SIZE(db5500_##lower##_consumers),\
+} \
+
static struct regulator_init_data db5500_regulators[DB5500_NUM_REGULATORS] = {
[DB5500_REGULATOR_VAPE] = {
.constraints = {
@@ -2003,10 +2013,14 @@ static struct regulator_init_data db5500_regulators[DB5500_NUM_REGULATORS] = {
.consumer_supplies = db5500_vape_consumers,
.num_consumer_supplies = ARRAY_SIZE(db5500_vape_consumers),
},
- DB5500_REGULATOR_SWITCH(sga, SGA),
- DB5500_REGULATOR_SWITCH(hva, HVA),
- DB5500_REGULATOR_SWITCH(sia, SIA),
- DB5500_REGULATOR_SWITCH(disp, DISP),
+ DB5500_REGULATOR_SWITCH_VAPE(sga, SGA),
+ DB5500_REGULATOR_SWITCH_VAPE(hva, HVA),
+ DB5500_REGULATOR_SWITCH_VAPE(sia, SIA),
+ DB5500_REGULATOR_SWITCH_VAPE(disp, DISP),
+ /*
+ * ESRAM12 is put in retention by the firmware when VAPE is
+ * turned off so there's no need to hold VAPE.
+ */
DB5500_REGULATOR_SWITCH(esram12, ESRAM12),
};