regulator: ab8500: Clean out SoC registers
[firefly-linux-kernel-4.4.55.git] / drivers / regulator / ab8500.c
index f1453a66a0fd8cd1f5204f524765eae8fb5aedfb..919d9fa9605e801aebc4c4b4373d08dc8b0e8084 100644 (file)
@@ -613,19 +613,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
@@ -639,91 +630,74 @@ static struct ab8500_reg_init ab8500_reg_init[] = {
         */
        REG_INIT(AB8500_REGUREQUESTCTRL4,       0x03, 0x06, 0x07),
        /*
-        * 0x01, Vsmps1SysClkReq1HPValid
-        * 0x02, Vsmps2SysClkReq1HPValid
-        * 0x04, Vsmps3SysClkReq1HPValid
         * 0x08, VanaSysClkReq1HPValid
-        * 0x10, VpllSysClkReq1HPValid
         * 0x20, Vaux1SysClkReq1HPValid
         * 0x40, Vaux2SysClkReq1HPValid
         * 0x80, Vaux3SysClkReq1HPValid
         */
-       REG_INIT(AB8500_REGUSYSCLKREQ1HPVALID1, 0x03, 0x07, 0xff),
+       REG_INIT(AB8500_REGUSYSCLKREQ1HPVALID1, 0x03, 0x07, 0xe8),
        /*
-        * 0x01, VapeSysClkReq1HPValid
-        * 0x02, VarmSysClkReq1HPValid
-        * 0x04, VbbSysClkReq1HPValid
-        * 0x08, VmodSysClkReq1HPValid
         * 0x10, VextSupply1SysClkReq1HPValid
         * 0x20, VextSupply2SysClkReq1HPValid
         * 0x40, VextSupply3SysClkReq1HPValid
         */
-       REG_INIT(AB8500_REGUSYSCLKREQ1HPVALID2, 0x03, 0x08, 0x7f),
+       REG_INIT(AB8500_REGUSYSCLKREQ1HPVALID2, 0x03, 0x08, 0x70),
        /*
-        * 0x01, Vsmps1HwHPReq1Valid
-        * 0x02, Vsmps2HwHPReq1Valid
-        * 0x04, Vsmps3HwHPReq1Valid
         * 0x08, VanaHwHPReq1Valid
-        * 0x10, VpllHwHPReq1Valid
         * 0x20, Vaux1HwHPReq1Valid
         * 0x40, Vaux2HwHPReq1Valid
         * 0x80, Vaux3HwHPReq1Valid
         */
-       REG_INIT(AB8500_REGUHWHPREQ1VALID1,     0x03, 0x09, 0xff),
+       REG_INIT(AB8500_REGUHWHPREQ1VALID1,     0x03, 0x09, 0xe8),
        /*
         * 0x01, VextSupply1HwHPReq1Valid
         * 0x02, VextSupply2HwHPReq1Valid
         * 0x04, VextSupply3HwHPReq1Valid
-        * 0x08, VmodHwHPReq1Valid
         */
-       REG_INIT(AB8500_REGUHWHPREQ1VALID2,     0x03, 0x0a, 0x0f),
+       REG_INIT(AB8500_REGUHWHPREQ1VALID2,     0x03, 0x0a, 0x07),
        /*
-        * 0x01, Vsmps1HwHPReq2Valid
-        * 0x02, Vsmps2HwHPReq2Valid
-        * 0x03, Vsmps3HwHPReq2Valid
         * 0x08, VanaHwHPReq2Valid
-        * 0x10, VpllHwHPReq2Valid
         * 0x20, Vaux1HwHPReq2Valid
         * 0x40, Vaux2HwHPReq2Valid
         * 0x80, Vaux3HwHPReq2Valid
         */
-       REG_INIT(AB8500_REGUHWHPREQ2VALID1,     0x03, 0x0b, 0xff),
+       REG_INIT(AB8500_REGUHWHPREQ2VALID1,     0x03, 0x0b, 0xe8),
        /*
         * 0x01, VextSupply1HwHPReq2Valid
         * 0x02, VextSupply2HwHPReq2Valid
         * 0x04, VextSupply3HwHPReq2Valid
-        * 0x08, VmodHwHPReq2Valid
         */
-       REG_INIT(AB8500_REGUHWHPREQ2VALID2,     0x03, 0x0c, 0x0f),
+       REG_INIT(AB8500_REGUHWHPREQ2VALID2,     0x03, 0x0c, 0x07),
        /*
-        * 0x01, VapeSwHPReqValid
-        * 0x02, VarmSwHPReqValid
-        * 0x04, Vsmps1SwHPReqValid
-        * 0x08, Vsmps2SwHPReqValid
-        * 0x10, Vsmps3SwHPReqValid
         * 0x20, VanaSwHPReqValid
-        * 0x40, VpllSwHPReqValid
         * 0x80, Vaux1SwHPReqValid
         */
-       REG_INIT(AB8500_REGUSWHPREQVALID1,      0x03, 0x0d, 0xff),
+       REG_INIT(AB8500_REGUSWHPREQVALID1,      0x03, 0x0d, 0xa0),
        /*
         * 0x01, Vaux2SwHPReqValid
         * 0x02, Vaux3SwHPReqValid
         * 0x04, VextSupply1SwHPReqValid
         * 0x08, VextSupply2SwHPReqValid
         * 0x10, VextSupply3SwHPReqValid
-        * 0x20, VmodSwHPReqValid
         */
-       REG_INIT(AB8500_REGUSWHPREQVALID2,      0x03, 0x0e, 0x3f),
+       REG_INIT(AB8500_REGUSWHPREQVALID2,      0x03, 0x0e, 0x1f),
        /*
         * 0x02, SysClkReq2Valid1
-        * ...
+        * 0x04, SysClkReq3Valid1
+        * 0x08, SysClkReq4Valid1
+        * 0x10, SysClkReq5Valid1
+        * 0x20, SysClkReq6Valid1
+        * 0x40, SysClkReq7Valid1
         * 0x80, SysClkReq8Valid1
         */
        REG_INIT(AB8500_REGUSYSCLKREQVALID1,    0x03, 0x0f, 0xfe),
        /*
         * 0x02, SysClkReq2Valid2
-        * ...
+        * 0x04, SysClkReq3Valid2
+        * 0x08, SysClkReq4Valid2
+        * 0x10, SysClkReq5Valid2
+        * 0x20, SysClkReq6Valid2
+        * 0x40, SysClkReq7Valid2
         * 0x80, SysClkReq8Valid2
         */
        REG_INIT(AB8500_REGUSYSCLKREQVALID2,    0x03, 0x10, 0xfe),
@@ -748,21 +722,7 @@ static struct ab8500_reg_init ab8500_reg_init[] = {
         */
        REG_INIT(AB8500_REGUCTRL1VAMIC,         0x03, 0x84, 0x03),
        /*
-        * 0x03, Vsmps1Regu
-        * 0x0c, Vsmps1SelCtrl
-        * 0x10, Vsmps1AutoMode
-        * 0x20, Vsmps1PWMMode
-        */
-       REG_INIT(AB8500_VSMPS1REGU,             0x04, 0x03, 0x3f),
-       /*
-        * 0x03, Vsmps2Regu
-        * 0x0c, Vsmps2SelCtrl
-        * 0x10, Vsmps2AutoMode
-        * 0x20, Vsmps2PWMMode
-        */
-       REG_INIT(AB8500_VSMPS2REGU,             0x04, 0x04, 0x3f),
-       /*
-        * 0x03, VpllRegu
+        * 0x03, VpllRegu (NOTE! PRCMU register bits)
         * 0x0c, VanaRegu
         */
        REG_INIT(AB8500_VPLLVANAREGU,           0x04, 0x06, 0x0f),
@@ -785,14 +745,9 @@ static struct ab8500_reg_init ab8500_reg_init[] = {
         */
        REG_INIT(AB8500_VAUX12REGU,             0x04, 0x09, 0x0f),
        /*
-        * 0x0c, Vrf1Regu
         * 0x03, Vaux3Regu
         */
-       REG_INIT(AB8500_VRF1VAUX3REGU,          0x04, 0x0a, 0x0f),
-       /*
-        * 0x3f, Vsmps1Sel1
-        */
-       REG_INIT(AB8500_VSMPS1SEL1,             0x04, 0x13, 0x3f),
+       REG_INIT(AB8500_VRF1VAUX3REGU,          0x04, 0x0a, 0x03),
        /*
         * 0x0f, Vaux1Sel
         */
@@ -803,16 +758,13 @@ static struct ab8500_reg_init ab8500_reg_init[] = {
        REG_INIT(AB8500_VAUX2SEL,               0x04, 0x20, 0x0f),
        /*
         * 0x07, Vaux3Sel
-        * 0x30, Vrf1Sel
         */
-       REG_INIT(AB8500_VRF1VAUX3SEL,           0x04, 0x21, 0x37),
+       REG_INIT(AB8500_VRF1VAUX3SEL,           0x04, 0x21, 0x07),
        /*
         * 0x01, VextSupply12LP
         */
        REG_INIT(AB8500_REGUCTRL2SPARE,         0x04, 0x22, 0x01),
        /*
-        * 0x01, VpllDisch
-        * 0x02, Vrf1Disch
         * 0x04, Vaux1Disch
         * 0x08, Vaux2Disch
         * 0x10, Vaux3Disch
@@ -820,15 +772,13 @@ static struct ab8500_reg_init ab8500_reg_init[] = {
         * 0x40, VTVoutDisch
         * 0x80, VaudioDisch
         */
-       REG_INIT(AB8500_REGUCTRLDISCH,          0x04, 0x43, 0xff),
+       REG_INIT(AB8500_REGUCTRLDISCH,          0x04, 0x43, 0xfc),
        /*
-        * 0x01, VsimDisch
         * 0x02, VanaDisch
         * 0x04, VdmicPullDownEna
-        * 0x08, VpllPullDownEna
         * 0x10, VdmicDisch
         */
-       REG_INIT(AB8500_REGUCTRLDISCH2,         0x04, 0x44, 0x1f),
+       REG_INIT(AB8500_REGUCTRLDISCH2,         0x04, 0x44, 0x16),
 };
 
 static int ab8500_regulator_init_registers(struct platform_device *pdev,