diff options
author | Vijaya Kumar Kilari <vijay.kilari@stericsson.com> | 2011-09-13 11:30:37 +0530 |
---|---|---|
committer | Rabin Vincent <rabin.vincent@stericsson.com> | 2011-09-22 15:41:30 +0530 |
commit | b0bfaac433203e2270bb56070bf560f6e7d48b6f (patch) | |
tree | c5fcc6c099bf8a560191097054f6c8d2d3415ac9 | |
parent | 24326825e3f6ef9ed74c39240276b16416f5c1d1 (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: Ieba7c30fff4d29c3c47373c8e4f55ea502ad9efa
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>
-rw-r--r-- | arch/arm/mach-ux500/board-u5500-regulators.c | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/arch/arm/mach-ux500/board-u5500-regulators.c b/arch/arm/mach-ux500/board-u5500-regulators.c index a5d3e585e48..e3fd4efcb1e 100644 --- a/arch/arm/mach-ux500/board-u5500-regulators.c +++ b/arch/arm/mach-ux500/board-u5500-regulators.c @@ -179,15 +179,31 @@ static struct regulator_consumer_supply u5500_esram12_consumers[] = { REGULATOR_SUPPLY("esram12", "hva"), }; -#define U5500_REGULATOR_SWITCH(lower, upper) \ -[U5500_REGULATOR_SWITCH_##upper] = (struct regulator_init_data []) { \ -{ \ +#define U5500_REGULATOR_SWITCH(lower, upper) \ +[U5500_REGULATOR_SWITCH_##upper] = (struct regulator_init_data []) { \ +{ \ .constraints = { \ .valid_ops_mask = REGULATOR_CHANGE_STATUS, \ }, \ .consumer_supplies = u5500_##lower##_consumers, \ .num_consumer_supplies = ARRAY_SIZE(u5500_##lower##_consumers),\ -} \ +} \ +} + +/* + * EPODs that require VAPE as supply regulator + */ + +#define U5500_REGULATOR_SWITCH_WITH_SUPPLY(lower, upper) \ +[U5500_REGULATOR_SWITCH_##upper] = (struct regulator_init_data []) { \ +{ \ + .supply_regulator = "u5500-vape", \ + .constraints = { \ + .valid_ops_mask = REGULATOR_CHANGE_STATUS, \ + }, \ + .consumer_supplies = u5500_##lower##_consumers, \ + .num_consumer_supplies = ARRAY_SIZE(u5500_##lower##_consumers),\ +} \ } static struct regulator_init_data * @@ -201,10 +217,14 @@ u5500_regulator_init_data[U5500_NUM_REGULATORS] __initdata = { .num_consumer_supplies = ARRAY_SIZE(u5500_vape_consumers), } }, - U5500_REGULATOR_SWITCH(sga, SGA), - U5500_REGULATOR_SWITCH(hva, HVA), - U5500_REGULATOR_SWITCH(sia, SIA), - U5500_REGULATOR_SWITCH(disp, DISP), + U5500_REGULATOR_SWITCH_WITH_SUPPLY(sga, SGA), + U5500_REGULATOR_SWITCH_WITH_SUPPLY(hva, HVA), + U5500_REGULATOR_SWITCH_WITH_SUPPLY(sia, SIA), + U5500_REGULATOR_SWITCH_WITH_SUPPLY(disp, DISP), + /* + * ESRAM12 is put in rentention by FW on VAPE off + * no need to hold VAPE + */ U5500_REGULATOR_SWITCH(esram12, ESRAM12), }; |