Re: [PATCH 18/46] regulator: ab8500: Clean out SoC registers

2013-03-27 Thread Mark Brown
On Thu, Mar 21, 2013 at 03:59:15PM +, Lee Jones wrote:
> Clean out initialisation that is handled by SoC. Regulator
> settings for Vpll (partly), Vsmps1, Vsmps2, Vsmps3 (partly),
> Vrf1, Varm, Vape, Vbb, Vmod are cleaned out. They should not
> be touched by the kernel.

Applied, thanks.


signature.asc
Description: Digital signature


Re: [PATCH 18/46] regulator: ab8500: Clean out SoC registers

2013-03-27 Thread Mark Brown
On Thu, Mar 21, 2013 at 03:59:15PM +, Lee Jones wrote:
 Clean out initialisation that is handled by SoC. Regulator
 settings for Vpll (partly), Vsmps1, Vsmps2, Vsmps3 (partly),
 Vrf1, Varm, Vape, Vbb, Vmod are cleaned out. They should not
 be touched by the kernel.

Applied, thanks.


signature.asc
Description: Digital signature


[PATCH 18/46] regulator: ab8500: Clean out SoC registers

2013-03-21 Thread Lee Jones
Clean out initialisation that is handled by SoC. Regulator
settings for Vpll (partly), Vsmps1, Vsmps2, Vsmps3 (partly),
Vrf1, Varm, Vape, Vbb, Vmod are cleaned out. They should not
be touched by the kernel.

We also update many of the initialisation values to be more
in-line with the current development efforts of ST-Ericsson
internal engineers.

Signed-off-by: Lee Jones 
---
 arch/arm/mach-ux500/board-mop500-regulators.c |   28 +--
 drivers/regulator/ab8500.c|   98 ++---
 include/linux/regulator/ab8500.h  |   12 ---
 3 files changed, 28 insertions(+), 110 deletions(-)

diff --git a/arch/arm/mach-ux500/board-mop500-regulators.c 
b/arch/arm/mach-ux500/board-mop500-regulators.c
index b08c8c8..12d0ab0 100644
--- a/arch/arm/mach-ux500/board-mop500-regulators.c
+++ b/arch/arm/mach-ux500/board-mop500-regulators.c
@@ -140,10 +140,9 @@ static struct regulator_consumer_supply 
ab8500_vana_consumers[] = {
 static struct ab8500_regulator_reg_init ab8500_reg_init[] = {
/*
 * VanaRequestCtrl  = HP/LP depending on VxRequest
-* VpllRequestCtrl  = HP/LP depending on VxRequest
 * VextSupply1RequestCtrl   = HP/LP depending on VxRequest
 */
-   INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL2,   0xfc, 0x00),
+   INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL2,   0xf0, 0x00),
/*
 * VextSupply2RequestCtrl   = HP/LP depending on VxRequest
 * VextSupply3RequestCtrl   = HP/LP depending on VxRequest
@@ -157,16 +156,12 @@ static struct ab8500_regulator_reg_init ab8500_reg_init[] 
= {
 */
INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL4,   0x07, 0x00),
/*
-* Vsmps1SysClkReq1HPValid  = enabled
-* Vsmps2SysClkReq1HPValid  = enabled
-* Vsmps3SysClkReq1HPValid  = enabled
 * VanaSysClkReq1HPValid= disabled
-* VpllSysClkReq1HPValid= enabled
 * Vaux1SysClkReq1HPValid   = disabled
 * Vaux2SysClkReq1HPValid   = disabled
 * Vaux3SysClkReq1HPValid   = disabled
 */
-   INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQ1HPVALID1, 0xff, 0x17),
+   INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQ1HPVALID1, 0xe8, 0x00),
/*
 * VextSupply1SysClkReq1HPValid = disabled
 * VextSupply2SysClkReq1HPValid = disabled
@@ -253,17 +248,7 @@ static struct ab8500_regulator_reg_init ab8500_reg_init[] 
= {
 */
INIT_REGULATOR_REGISTER(AB8500_REGUCTRL1VAMIC, 0x03, 0x00),
/*
-* Vsmps1Regu   = HW control
-* Vsmps1SelCtrl= Vsmps1 voltage defined by Vsmsp1Sel2
-*/
-   INIT_REGULATOR_REGISTER(AB8500_VSMPS1REGU, 0x0f, 0x06),
-   /*
-* Vsmps2Regu   = HW control
-* Vsmps2SelCtrl= Vsmps2 voltage defined by Vsmsp2Sel2
-*/
-   INIT_REGULATOR_REGISTER(AB8500_VSMPS2REGU, 0x0f, 0x06),
-   /*
-* VPll = Hw controlled
+* VPll = Hw controlled (NOTE! PRCMU bits)
 * VanaRegu = force off
 */
INIT_REGULATOR_REGISTER(AB8500_VPLLVANAREGU,   0x0f, 0x02),
@@ -286,14 +271,9 @@ static struct ab8500_regulator_reg_init ab8500_reg_init[] 
= {
 */
INIT_REGULATOR_REGISTER(AB8500_VAUX12REGU, 0x0f, 0x01),
/*
-* Vrf1Regu = HW control
 * Vaux3Regu= force off
 */
-   INIT_REGULATOR_REGISTER(AB8500_VRF1VAUX3REGU,  0x0f, 0x08),
-   /*
-* Vsmps1   = 1.15V
-*/
-   INIT_REGULATOR_REGISTER(AB8500_VSMPS1SEL1, 0x3f, 0x24),
+   INIT_REGULATOR_REGISTER(AB8500_VRF1VAUX3REGU,  0x03, 0x00),
/*
 * Vaux1Sel = 2.5 V
 */
diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
index 74620cc..8c5276d 100644
--- a/drivers/regulator/ab8500.c
+++ b/drivers/regulator/ab8500.c
@@ -595,19 +595,10 @@ struct ab8500_reg_init {
 
 static struct ab8500_reg_init ab8500_reg_init[] = {
/*
-* 0x03, VarmRequestCtrl
-* 0x0c, VapeRequestCtrl
-* 0x30, Vsmps1RequestCtrl
-* 0xc0, Vsmps2RequestCtrl
-*/
-   REG_INIT(AB8500_REGUREQUESTCTRL1,   0x03, 0x03, 0xff),
-   /*
-* 0x03, Vsmps3RequestCtrl
-* 0x0c, VpllRequestCtrl
 * 0x30, VanaRequestCtrl
 * 0xc0, VextSupply1RequestCtrl
 */
-   REG_INIT(AB8500_REGUREQUESTCTRL2,   0x03, 0x04, 0xff),
+   REG_INIT(AB8500_REGUREQUESTCTRL2,   0x03, 0x04, 0xf0),
/*
 * 0x03, VextSupply2RequestCtrl
 * 0x0c, VextSupply3RequestCtrl
@@ -621,91 +612,74 @@ static struct ab8500_reg_init ab8500_reg_init[] = {
 */
REG_INIT(AB8500_REGUREQUESTCTRL4,   0x03, 0x06, 0x07),
/*
-* 0x01, 

[PATCH 18/46] regulator: ab8500: Clean out SoC registers

2013-03-21 Thread Lee Jones
Clean out initialisation that is handled by SoC. Regulator
settings for Vpll (partly), Vsmps1, Vsmps2, Vsmps3 (partly),
Vrf1, Varm, Vape, Vbb, Vmod are cleaned out. They should not
be touched by the kernel.

We also update many of the initialisation values to be more
in-line with the current development efforts of ST-Ericsson
internal engineers.

Signed-off-by: Lee Jones lee.jo...@linaro.org
---
 arch/arm/mach-ux500/board-mop500-regulators.c |   28 +--
 drivers/regulator/ab8500.c|   98 ++---
 include/linux/regulator/ab8500.h  |   12 ---
 3 files changed, 28 insertions(+), 110 deletions(-)

diff --git a/arch/arm/mach-ux500/board-mop500-regulators.c 
b/arch/arm/mach-ux500/board-mop500-regulators.c
index b08c8c8..12d0ab0 100644
--- a/arch/arm/mach-ux500/board-mop500-regulators.c
+++ b/arch/arm/mach-ux500/board-mop500-regulators.c
@@ -140,10 +140,9 @@ static struct regulator_consumer_supply 
ab8500_vana_consumers[] = {
 static struct ab8500_regulator_reg_init ab8500_reg_init[] = {
/*
 * VanaRequestCtrl  = HP/LP depending on VxRequest
-* VpllRequestCtrl  = HP/LP depending on VxRequest
 * VextSupply1RequestCtrl   = HP/LP depending on VxRequest
 */
-   INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL2,   0xfc, 0x00),
+   INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL2,   0xf0, 0x00),
/*
 * VextSupply2RequestCtrl   = HP/LP depending on VxRequest
 * VextSupply3RequestCtrl   = HP/LP depending on VxRequest
@@ -157,16 +156,12 @@ static struct ab8500_regulator_reg_init ab8500_reg_init[] 
= {
 */
INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL4,   0x07, 0x00),
/*
-* Vsmps1SysClkReq1HPValid  = enabled
-* Vsmps2SysClkReq1HPValid  = enabled
-* Vsmps3SysClkReq1HPValid  = enabled
 * VanaSysClkReq1HPValid= disabled
-* VpllSysClkReq1HPValid= enabled
 * Vaux1SysClkReq1HPValid   = disabled
 * Vaux2SysClkReq1HPValid   = disabled
 * Vaux3SysClkReq1HPValid   = disabled
 */
-   INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQ1HPVALID1, 0xff, 0x17),
+   INIT_REGULATOR_REGISTER(AB8500_REGUSYSCLKREQ1HPVALID1, 0xe8, 0x00),
/*
 * VextSupply1SysClkReq1HPValid = disabled
 * VextSupply2SysClkReq1HPValid = disabled
@@ -253,17 +248,7 @@ static struct ab8500_regulator_reg_init ab8500_reg_init[] 
= {
 */
INIT_REGULATOR_REGISTER(AB8500_REGUCTRL1VAMIC, 0x03, 0x00),
/*
-* Vsmps1Regu   = HW control
-* Vsmps1SelCtrl= Vsmps1 voltage defined by Vsmsp1Sel2
-*/
-   INIT_REGULATOR_REGISTER(AB8500_VSMPS1REGU, 0x0f, 0x06),
-   /*
-* Vsmps2Regu   = HW control
-* Vsmps2SelCtrl= Vsmps2 voltage defined by Vsmsp2Sel2
-*/
-   INIT_REGULATOR_REGISTER(AB8500_VSMPS2REGU, 0x0f, 0x06),
-   /*
-* VPll = Hw controlled
+* VPll = Hw controlled (NOTE! PRCMU bits)
 * VanaRegu = force off
 */
INIT_REGULATOR_REGISTER(AB8500_VPLLVANAREGU,   0x0f, 0x02),
@@ -286,14 +271,9 @@ static struct ab8500_regulator_reg_init ab8500_reg_init[] 
= {
 */
INIT_REGULATOR_REGISTER(AB8500_VAUX12REGU, 0x0f, 0x01),
/*
-* Vrf1Regu = HW control
 * Vaux3Regu= force off
 */
-   INIT_REGULATOR_REGISTER(AB8500_VRF1VAUX3REGU,  0x0f, 0x08),
-   /*
-* Vsmps1   = 1.15V
-*/
-   INIT_REGULATOR_REGISTER(AB8500_VSMPS1SEL1, 0x3f, 0x24),
+   INIT_REGULATOR_REGISTER(AB8500_VRF1VAUX3REGU,  0x03, 0x00),
/*
 * Vaux1Sel = 2.5 V
 */
diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
index 74620cc..8c5276d 100644
--- a/drivers/regulator/ab8500.c
+++ b/drivers/regulator/ab8500.c
@@ -595,19 +595,10 @@ struct ab8500_reg_init {
 
 static struct ab8500_reg_init ab8500_reg_init[] = {
/*
-* 0x03, VarmRequestCtrl
-* 0x0c, VapeRequestCtrl
-* 0x30, Vsmps1RequestCtrl
-* 0xc0, Vsmps2RequestCtrl
-*/
-   REG_INIT(AB8500_REGUREQUESTCTRL1,   0x03, 0x03, 0xff),
-   /*
-* 0x03, Vsmps3RequestCtrl
-* 0x0c, VpllRequestCtrl
 * 0x30, VanaRequestCtrl
 * 0xc0, VextSupply1RequestCtrl
 */
-   REG_INIT(AB8500_REGUREQUESTCTRL2,   0x03, 0x04, 0xff),
+   REG_INIT(AB8500_REGUREQUESTCTRL2,   0x03, 0x04, 0xf0),
/*
 * 0x03, VextSupply2RequestCtrl
 * 0x0c, VextSupply3RequestCtrl
@@ -621,91 +612,74 @@ static struct ab8500_reg_init ab8500_reg_init[] = {
 */
REG_INIT(AB8500_REGUREQUESTCTRL4,   0x03, 0x06, 0x07),
/*
-