aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-ux500/board-mop500-regulators.c7
-rw-r--r--arch/arm/mach-ux500/clock-db8500.c6
-rw-r--r--drivers/regulator/ab8500.c2
3 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-regulators.c b/arch/arm/mach-ux500/board-mop500-regulators.c
index 1408bd50dbb..06262bd6b2d 100644
--- a/arch/arm/mach-ux500/board-mop500-regulators.c
+++ b/arch/arm/mach-ux500/board-mop500-regulators.c
@@ -504,8 +504,13 @@ struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = {
.name = "V-INTCORE",
.min_uV = 1250000,
.max_uV = 1350000,
+ .input_uV = 1800000,
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE |
- REGULATOR_CHANGE_STATUS,
+ REGULATOR_CHANGE_STATUS |
+ REGULATOR_CHANGE_MODE |
+ REGULATOR_CHANGE_DRMS,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL |
+ REGULATOR_MODE_IDLE,
},
.num_consumer_supplies = ARRAY_SIZE(ab8500_vintcore_consumers),
.consumer_supplies = ab8500_vintcore_consumers,
diff --git a/arch/arm/mach-ux500/clock-db8500.c b/arch/arm/mach-ux500/clock-db8500.c
index 5434fef0d3f..19a549fbcc6 100644
--- a/arch/arm/mach-ux500/clock-db8500.c
+++ b/arch/arm/mach-ux500/clock-db8500.c
@@ -139,6 +139,9 @@ static int ab_ulpclk_enable(struct clk *clk)
return PTR_ERR(reg);
clk->regulator = reg;
}
+ err = regulator_set_optimum_mode(clk->regulator, 1500);
+ if (unlikely(err < 0))
+ goto regulator_enable_error;
err = regulator_enable(clk->regulator);
if (unlikely(err))
goto regulator_enable_error;
@@ -168,6 +171,9 @@ static void ab_ulpclk_disable(struct clk *clk)
AB8500_SYSULPCLKCTRL1_ULPCLKREQ);
if (unlikely(regulator_disable(clk->regulator) || err))
goto out_err;
+
+ regulator_set_optimum_mode(clk->regulator, 0);
+
return;
out_err:
diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
index db9a93d513c..c96a0910d6e 100644
--- a/drivers/regulator/ab8500.c
+++ b/drivers/regulator/ab8500.c
@@ -651,7 +651,7 @@ static struct ab8500_regulator_info
.update_bank = 0x03,
.update_reg = 0x80,
.update_mask = 0x44,
- .update_val = 0x04,
+ .update_val = 0x44,
.update_val_idle = 0x44,
.update_val_normal = 0x04,
.voltage_bank = 0x03,