summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>2011-09-15 11:48:30 +0200
committerJonas ABERG <jonas.aberg@stericsson.com>2011-09-29 08:59:06 +0200
commit51a34e9668f7e9f693a21780cdb5500787496a2a (patch)
tree3e5cbe1115e31ccac3c4263c5b6e7547ede8ac74 /arch
parent2a7b377ce3f93c29b76478fcfd9286825e6673de (diff)
regulator: ab8500: add initialization of vsmps regulators
Add initialization of Vsmps 1 2 and 3 regulators. Also update vsmps1 voltage level and high-power/low-power control through sysclk-request. Vpll high-power/low-power control through sysclk-request is updated as well. Please note that all vsmps3 related registers that is AB8500_VSMPS3SEL1 AB8500_VSMPS3SEL2 AB8500_VSMPS3SEL3 AB8500_VSMPS3REGU are PRCMU register and not supposed to be updated directly. Please remove them once soc-settings is fully mature. Change-Id: I746d4a8928d724e5e5922df8704ede9cb2ceac21 Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32095 Reviewed-by: Bengt JONSSON <bengt.g.jonsson@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Tested-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-ux500/board-mop500-regulators.c36
1 files changed, 33 insertions, 3 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-regulators.c b/arch/arm/mach-ux500/board-mop500-regulators.c
index 2735d03996c..f1375e092b4 100644
--- a/arch/arm/mach-ux500/board-mop500-regulators.c
+++ b/arch/arm/mach-ux500/board-mop500-regulators.c
@@ -107,12 +107,16 @@ ab8500_regulator_reg_init[AB8500_NUM_REGULATOR_REGISTERS] = {
*/
INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL4, 0x00),
/*
+ * Vsmps1SysClkReq1HPValid = enabled
+ * Vsmps2SysClkReq1HPValid = enabled
+ * Vsmps3SysClkReq1HPValid = enabled
* VanaSysClkReq1HPValid = disabled
+ * VpllSysClkReq1HPValid = enabled
* Vaux1SysClkReq1HPValid = disabled
* Vaux2SysClkReq1HPValid = disabled
* Vaux3SysClkReq1HPValid = disabled
*/
- INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQ1HPVALID1, 0x00),
+ INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQ1HPVALID1, 0x17),
/*
* VextSupply1SysClkReq1HPValid = disabled
* VextSupply2SysClkReq1HPValid = disabled
@@ -199,6 +203,32 @@ ab8500_regulator_reg_init[AB8500_NUM_REGULATOR_REGISTERS] = {
*/
INIT_REGULATOR_REGISTER(AB8500_REGUCTRL1VAMIC, 0x00),
/*
+ * Vsmps1Regu = HW control
+ * Vsmps1SelCtrl = Vsmps1 voltage defined by Vsmsp1Sel2
+ */
+ INIT_REGULATOR_REGISTER(AB8500_VSMPS1REGU, 0x06),
+ /*
+ * Vsmps2Regu = HW control
+ * Vsmps2SelCtrl = Vsmps2 voltage defined by Vsmsp2Sel2
+ */
+ INIT_REGULATOR_REGISTER(AB8500_VSMPS2REGU, 0x06),
+ /*
+ * Vsmps3Sel2 = 1.2125 V
+ * NOTE! PRCMU register
+ */
+ INIT_REGULATOR_REGISTER(AB8500_VSMPS3SEL2, 0x29),
+ /*
+ * Vsmps3Regu = HW control
+ * Vsmps3SelCtrl = Vsmps3 voltage defined by Vsmps3Sel2
+ * NOTE! PRCMU register
+ */
+ INIT_REGULATOR_REGISTER(AB8500_VSMPS3REGU, 0x06),
+ /*
+ * Vsmps3Sel1 = 0.925V
+ * NOTE! PRCMU register
+ */
+ INIT_REGULATOR_REGISTER(AB8500_VSMPS3SEL1, 0x12),
+ /*
* VPll = Hw controlled
* VanaRegu = force off
*/
@@ -226,9 +256,9 @@ ab8500_regulator_reg_init[AB8500_NUM_REGULATOR_REGISTERS] = {
*/
INIT_REGULATOR_REGISTER(AB8500_VRF1VAUX3REGU, 0x00),
/*
- * Vsmps1 = 1.15V
+ * Vsmps1Sel1 = 1.2 V
*/
- INIT_REGULATOR_REGISTER(AB8500_VSMPS1SEL1, 0x24),
+ INIT_REGULATOR_REGISTER(AB8500_VSMPS1SEL1, 0x28),
/*
* Vaux1Sel = 2.5 V
*/