summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Persson <martin.persson@stericsson.com>2011-03-08 10:17:22 +0100
committerUlf Hansson <ulf.hansson@stericsson.com>2011-09-19 15:14:56 +0200
commit84110570a80022197d4a58027f164ac4cdb37837 (patch)
treeb1b71b76c9f9231a2c0dafc06664c07e0438df4f
parent7759b67fc24f43ba99140d8eeccc905f12d1445c (diff)
regulators: remove VBB from suspend hack
remove VBB from suspend hack and add correct init values Change-Id: Iff1ef8c77077f07e60667aed68f348b89014db71 Signed-off-by: Martin Persson <martin.persson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/17802 Reviewed-by: Bengt JONSSON <bengt.g.jonsson@stericsson.com>
-rw-r--r--arch/arm/mach-ux500/board-mop500-regulators.c18
-rw-r--r--drivers/regulator/ab8500-debug.c26
-rw-r--r--drivers/regulator/ab8500.c18
-rw-r--r--include/linux/regulator/ab8500.h3
4 files changed, 39 insertions, 26 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-regulators.c b/arch/arm/mach-ux500/board-mop500-regulators.c
index 28eaae0d9e6..13e8a85c317 100644
--- a/arch/arm/mach-ux500/board-mop500-regulators.c
+++ b/arch/arm/mach-ux500/board-mop500-regulators.c
@@ -241,6 +241,24 @@ ab8500_regulator_reg_init[AB8500_NUM_REGULATOR_REGISTERS] = {
*/
INIT_REGULATOR_REGISTER(AB8500_REGUCTRL1VAMIC, 0x00),
/*
+ * VBBN = force OFF
+ * VBBP = force OFF
+ * NOTE! PRCMU register
+ */
+ INIT_REGULATOR_REGISTER(AB8500_ARMREGU2, 0x00),
+ /*
+ * VBBNSel1 = VBBP = VBBPFB
+ * VBBPSel1 = 0 V
+ * NOTE! PRCMU register
+ */
+ INIT_REGULATOR_REGISTER(AB8500_VBBSEL1, 0x00),
+ /*
+ * VBBNSel2 = VBBP = VBBPFB
+ * VBBPSel2 = 0 V
+ * NOTE! PRCMU register
+ */
+ INIT_REGULATOR_REGISTER(AB8500_VBBSEL2, 0x00),
+ /*
* VPll = Hw controlled
* VanaRegu = force off
*/
diff --git a/drivers/regulator/ab8500-debug.c b/drivers/regulator/ab8500-debug.c
index 251b95f6a6a..97430928789 100644
--- a/drivers/regulator/ab8500-debug.c
+++ b/drivers/regulator/ab8500-debug.c
@@ -1648,32 +1648,6 @@ static struct ab8500_force_reg ab8500_force_reg[] = {
},
{
/*
- * VBBSel1
- * OTP: 0x00, HSI: 0xdb, suspend: 0x00/0xff (value/mask)
- * [7:4] VBBPSel1[3:0] = [VBBP = VBBPFB]
- * [3:0] VBBNSel1[3:0] = [VBBN = 0 V]
- */
- .name = "VBBSel1",
- .bank = 0x04,
- .addr = 0x11,
- .mask = 0xff,
- .val = 0x00,
- },
- {
- /*
- * VBBSel2
- * OTP: 0x00, HSI: N/A, suspend: 0x28/0xff (value/mask)
- * [7:4] VBBPSel2[3:0] = [VBBP = VBBPFB]
- * [3:0] VBBNSel2[3:0] = [VBBN = 0 V]
- */
- .name = "VBBSel2",
- .bank = 0x04,
- .addr = 0x12,
- .mask = 0xff,
- .val = 0x28,
- },
- {
- /*
* TVoutCtrl
* OTP: N/A, HSI: N/A, suspend: 0x00/0x03 (value/mask)
* [ 2] PlugTvOn = plug/unplug detection disabled
diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
index 02f3c2333c8..e95a654d56a 100644
--- a/drivers/regulator/ab8500.c
+++ b/drivers/regulator/ab8500.c
@@ -673,6 +673,24 @@ static struct ab8500_reg_init ab8500_reg_init[] = {
*/
REG_INIT(AB8500_REGUCTRL1VAMIC, 0x03, 0x84, 0x03),
/*
+ * 0x0c, VBBNRegu
+ * 0x03, VBBPRegu
+ * NOTE! PRCMU register
+ */
+ REG_INIT(AB8500_ARMREGU2, 0x04, 0x01, 0x0f),
+ /*
+ * 0x0c, VBBPSel1
+ * 0x03, VBBNSel1
+ * NOTE! PRCMU register
+ */
+ REG_INIT(AB8500_VBBSEL1, 0x04, 0x11, 0x0f),
+ /*
+ * 0x0c, VBBNSel2
+ * 0x03, VBBPSel2
+ * NOTE! PRCMU register
+ */
+ REG_INIT(AB8500_VBBSEL2, 0x04, 0x12, 0x0f),
+ /*
* 0x0c, VanaRegu
* 0x03, VpllRegu
*/
diff --git a/include/linux/regulator/ab8500.h b/include/linux/regulator/ab8500.h
index 76579f964a2..4b53341c61a 100644
--- a/include/linux/regulator/ab8500.h
+++ b/include/linux/regulator/ab8500.h
@@ -67,6 +67,9 @@ enum ab8500_regulator_reg {
AB8500_REGUCTRL2SPARE,
AB8500_REGUCTRLDISCH,
AB8500_REGUCTRLDISCH2,
+ AB8500_ARMREGU2, /* NOTE! PRCMU register */
+ AB8500_VBBSEL1, /* NOTE! PRCMU register */
+ AB8500_VBBSEL2, /* NOTE! PRCMU register */
AB8500_VSMPS1SEL1,
AB8500_NUM_REGULATOR_REGISTERS,
};