diff mbox

[1/1] Activate VDD1, VDD2 and VPLL1 at startup

Message ID 1240414529-16258-1-git-send-email-peter.de-schrijver@nokia.com (mailing list archive)
State Awaiting Upstream, archived
Headers show

Commit Message

Peter 'p2' De Schrijver April 22, 2009, 3:35 p.m. UTC
This patch activates VDD1, VDD2 and VPLL1 when booting. This is necessary
because these resources are in warm reset state after a reboot. This means
their voltage levels cannot be modified so DVFS and smartreflex don't work.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
---
 drivers/regulator/twl4030-regulator.c |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

Comments

Mark Brown April 23, 2009, 10:17 a.m. UTC | #1
On Wed, Apr 22, 2009 at 06:35:29PM +0300, Peter 'p2' De Schrijver wrote:

> This patch activates VDD1, VDD2 and VPLL1 when booting. This is necessary
> because these resources are in warm reset state after a reboot. This means
> their voltage levels cannot be modified so DVFS and smartreflex don't work.

> Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>

Since TWL4030 is in mainline now you really ought to submit this and
the other patches you posted immediately before this one to mainline.
It'd be best to CC David Brownell (added here) on TWL4030 regulator
changes too, he's the expert on the regulator features of the chip.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren April 23, 2009, 6:54 p.m. UTC | #2
* Mark Brown <broonie@sirena.org.uk> [090423 03:17]:
> On Wed, Apr 22, 2009 at 06:35:29PM +0300, Peter 'p2' De Schrijver wrote:
> 
> > This patch activates VDD1, VDD2 and VPLL1 when booting. This is necessary
> > because these resources are in warm reset state after a reboot. This means
> > their voltage levels cannot be modified so DVFS and smartreflex don't work.
> 
> > Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
> 
> Since TWL4030 is in mainline now you really ought to submit this and
> the other patches you posted immediately before this one to mainline.
> It'd be best to CC David Brownell (added here) on TWL4030 regulator
> changes too, he's the expert on the regulator features of the chip.

Agreed.

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Brownell April 23, 2009, 8:31 p.m. UTC | #3
On Thursday 23 April 2009, Mark Brown wrote:
> Since TWL4030 is in mainline now you really ought to submit this and
> the other patches you posted immediately before this one to mainline.
> It'd be best to CC David Brownell (added here) on TWL4030 regulator
> changes too, he's the expert on the regulator features of the chip.

Just for the record ... I'm pretty sure the Nokia crew is
now exploring more of the funky corners of those features
than me!  Example:  these recent patches.

Agreed that I'm a good person to keep in the loop though;
there aren't enough active non-Nokia folk (there are TI'ers
but most of them don't frequent Linux circles) with enough
relevant knowledge to help check such patches.  :)

- Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/regulator/twl4030-regulator.c b/drivers/regulator/twl4030-regulator.c
index 80a4e10..ab2a726 100644
--- a/drivers/regulator/twl4030-regulator.c
+++ b/drivers/regulator/twl4030-regulator.c
@@ -506,6 +506,22 @@  static int twl4030reg_probe(struct platform_device *pdev)
 	}
 	platform_set_drvdata(pdev, rdev);
 
+	/* VDD1, VDD2 and VPLL1 are left in warm reset state after a reboot.
+	 * We need to put them back to active state for DVFS and smartreflex.
+	 */
+
+	if (twl4030_send_pb_msg(MSG_SINGULAR(DEV_GRP_P1, RES_VDD1,
+		RES_STATE_ACTIVE)) < 0)
+		pr_err("Unable to activate VDD1\n");
+
+	if (twl4030_send_pb_msg(MSG_SINGULAR(DEV_GRP_P1, RES_VDD2,
+		RES_STATE_ACTIVE)) < 0)
+		pr_err("Unable to activate VDD2\n");
+
+	if (twl4030_send_pb_msg(MSG_SINGULAR(DEV_GRP_P1, RES_VPLL1,
+		RES_STATE_ACTIVE)) < 0)
+		pr_err("Unable to activate VPLL1\n");
+
 	/* NOTE:  many regulators support short-circuit IRQs (presentable
 	 * as REGULATOR_OVER_CURRENT notifications?) configured via:
 	 *  - SC_CONFIG