Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 422d765d authored by Lee Jones's avatar Lee Jones Committed by Mark Brown
Browse files

ARM: ux500: Turn off external regulator #1 when early HREFs suspend



When older variants of the HREF (earlier than v22) development
platform enter suspend mode, power down EXT_SUPPLY1.

Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent a1d49480
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include <linux/kernel.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/ab8500.h>
#include <mach/id.h> /* to identify older boards for fixes */
#include "board-mop500-regulators.h"

static struct regulator_consumer_supply gpio_en_3v3_consumers[] = {
@@ -494,3 +495,19 @@ static void ab8500_modify_reg_init(int id, u8 mask, u8 value)

	BUG_ON(1);
}

void mop500_regulator_init(void)
{
	struct regulator_init_data *regulator;

	/*
	 * Handle VextSupply1 on older boards than HREFP_V22_V1x
	 * (turn off in suspend)
	 */
	if (cpu_is_u8500v20() || cpu_is_u8500v21()) {
		/* disable VextSupply1 in suspend */
		regulator = &ab8500_ext_regulators[AB8500_EXT_SUPPLY1];
		regulator->constraints.state_mem.disabled = 1;
		regulator->constraints.state_standby.disabled = 1;
	}
}
+2 −0
Original line number Diff line number Diff line
@@ -18,4 +18,6 @@ extern struct ab8500_regulator_platform_data ab8500_regulator_plat_data;
extern struct regulator_init_data tps61052_regulator;
extern struct regulator_init_data gpio_en_3v3_regulator;

void mop500_regulator_init(void);

#endif