mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
regulator: ab8500: Further populate initialisation registers
This patch supplies access to some extra settings provided by the AB8500 regulator device. We also update some of the existing initialisation values in accordance with internal ST-Ericsson code submissions. This single patch was originally a collection of updates which have been squashed together to aid with clarity. Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
a937536b86
commit
d79df329d0
@ -126,6 +126,7 @@ struct ab8500_regulator_reg_init
|
||||
ab8500_regulator_reg_init[AB8500_NUM_REGULATOR_REGISTERS] = {
|
||||
/*
|
||||
* VanaRequestCtrl = HP/LP depending on VxRequest
|
||||
* VpllRequestCtrl = HP/LP depending on VxRequest
|
||||
* VextSupply1RequestCtrl = HP/LP depending on VxRequest
|
||||
*/
|
||||
INIT_REGULATOR_REGISTER(AB8500_REGUREQUESTCTRL2, 0x00),
|
||||
@ -142,12 +143,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
|
||||
@ -233,6 +238,34 @@ ab8500_regulator_reg_init[AB8500_NUM_REGULATOR_REGISTERS] = {
|
||||
* Vamic2_dzout = high-Z when Vamic2 is disabled
|
||||
*/
|
||||
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),
|
||||
/*
|
||||
* 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),
|
||||
/*
|
||||
* VPll = Hw controlled
|
||||
* VanaRegu = force off
|
||||
@ -257,9 +290,10 @@ ab8500_regulator_reg_init[AB8500_NUM_REGULATOR_REGISTERS] = {
|
||||
*/
|
||||
INIT_REGULATOR_REGISTER(AB8500_VAUX12REGU, 0x01),
|
||||
/*
|
||||
* Vaux3regu = force off
|
||||
* Vrf1Regu = HW control
|
||||
* Vaux3Regu = force off
|
||||
*/
|
||||
INIT_REGULATOR_REGISTER(AB8500_VRF1VAUX3REGU, 0x00),
|
||||
INIT_REGULATOR_REGISTER(AB8500_VRF1VAUX3REGU, 0x08),
|
||||
/*
|
||||
* Vsmps1 = 1.15V
|
||||
*/
|
||||
|
@ -477,7 +477,7 @@ struct ab8500_reg_init {
|
||||
static struct ab8500_reg_init ab8500_reg_init[] = {
|
||||
/*
|
||||
* 0x30, VanaRequestCtrl
|
||||
* 0x0C, VpllRequestCtrl
|
||||
* 0x0c, VpllRequestCtrl
|
||||
* 0xc0, VextSupply1RequestCtrl
|
||||
*/
|
||||
REG_INIT(AB8500_REGUREQUESTCTRL2, 0x03, 0x04, 0xfc),
|
||||
@ -494,12 +494,16 @@ 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, 0xe8),
|
||||
REG_INIT(AB8500_REGUSYSCLKREQ1HPVALID1, 0x03, 0x07, 0xff),
|
||||
/*
|
||||
* 0x10, VextSupply1SysClkReq1HPValid
|
||||
* 0x20, VextSupply2SysClkReq1HPValid
|
||||
@ -577,6 +581,34 @@ static struct ab8500_reg_init ab8500_reg_init[] = {
|
||||
* 0x02, Vamic2_dzout
|
||||
*/
|
||||
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),
|
||||
/*
|
||||
* 0x03, Vsmps1Regu
|
||||
* 0x0c, Vsmps1SelCtrl
|
||||
*/
|
||||
REG_INIT(AB8500_VSMPS1REGU, 0x04, 0x03, 0x0f),
|
||||
/*
|
||||
* 0x03, Vsmps2Regu
|
||||
* 0x0c, Vsmps2SelCtrl
|
||||
*/
|
||||
REG_INIT(AB8500_VSMPS2REGU, 0x04, 0x04, 0x0f),
|
||||
/*
|
||||
* 0x0c, VanaRegu
|
||||
* 0x03, VpllRegu
|
||||
@ -601,9 +633,10 @@ 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, 0x03),
|
||||
REG_INIT(AB8500_VRF1VAUX3REGU, 0x04, 0x0a, 0x0f),
|
||||
/*
|
||||
* 0x3f, Vsmps1Sel1
|
||||
*/
|
||||
|
@ -86,7 +86,15 @@ 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_VSMPS1REGU,
|
||||
AB8500_VSMPS2REGU,
|
||||
AB8500_VSMPS3REGU, /* NOTE! PRCMU register */
|
||||
AB8500_VSMPS1SEL1,
|
||||
AB8500_VSMPS3SEL1, /* NOTE! PRCMU register */
|
||||
AB8500_VSMPS3SEL2, /* NOTE! PRCMU register */
|
||||
AB8500_NUM_REGULATOR_REGISTERS,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user