mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 22:23:14 -04:00
regulator: ab8500: Add support for the ab8540
To obtain full AB8540 regulator support, the AB8500 regulator driver first needs to know its register layout and their initialisation values for each. That information is provided via a couple of large data structures which we provide here. Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
547f384f33
commit
ae0a9a3efc
2 changed files with 764 additions and 8 deletions
|
|
@ -68,6 +68,25 @@ enum ab9540_regulator_id {
|
|||
AB9540_NUM_REGULATORS,
|
||||
};
|
||||
|
||||
/* AB8540 regulators */
|
||||
enum ab8540_regulator_id {
|
||||
AB8540_LDO_AUX1,
|
||||
AB8540_LDO_AUX2,
|
||||
AB8540_LDO_AUX3,
|
||||
AB8540_LDO_AUX4,
|
||||
AB8540_LDO_INTCORE,
|
||||
AB8540_LDO_TVOUT,
|
||||
AB8540_LDO_AUDIO,
|
||||
AB8540_LDO_ANAMIC1,
|
||||
AB8540_LDO_ANAMIC2,
|
||||
AB8540_LDO_DMIC,
|
||||
AB8540_LDO_ANA,
|
||||
AB8540_LDO_SDIO,
|
||||
AB8540_SYSCLKREQ_2,
|
||||
AB8540_SYSCLKREQ_4,
|
||||
AB8540_NUM_REGULATORS,
|
||||
};
|
||||
|
||||
/* AB8500, AB8505, and AB9540 register initialization */
|
||||
struct ab8500_regulator_reg_init {
|
||||
int id;
|
||||
|
|
@ -212,6 +231,73 @@ enum ab9540_regulator_reg {
|
|||
AB9540_NUM_REGULATOR_REGISTERS,
|
||||
};
|
||||
|
||||
/* AB8540 registers */
|
||||
enum ab8540_regulator_reg {
|
||||
AB8540_REGUREQUESTCTRL1,
|
||||
AB8540_REGUREQUESTCTRL2,
|
||||
AB8540_REGUREQUESTCTRL3,
|
||||
AB8540_REGUREQUESTCTRL4,
|
||||
AB8540_REGUSYSCLKREQ1HPVALID1,
|
||||
AB8540_REGUSYSCLKREQ1HPVALID2,
|
||||
AB8540_REGUHWHPREQ1VALID1,
|
||||
AB8540_REGUHWHPREQ1VALID2,
|
||||
AB8540_REGUHWHPREQ2VALID1,
|
||||
AB8540_REGUHWHPREQ2VALID2,
|
||||
AB8540_REGUSWHPREQVALID1,
|
||||
AB8540_REGUSWHPREQVALID2,
|
||||
AB8540_REGUSYSCLKREQVALID1,
|
||||
AB8540_REGUSYSCLKREQVALID2,
|
||||
AB8540_REGUVAUX4REQVALID,
|
||||
AB8540_REGUVAUX5REQVALID,
|
||||
AB8540_REGUVAUX6REQVALID,
|
||||
AB8540_REGUVCLKBREQVALID,
|
||||
AB8540_REGUVRF1REQVALID,
|
||||
AB8540_REGUMISC1,
|
||||
AB8540_VAUDIOSUPPLY,
|
||||
AB8540_REGUCTRL1VAMIC,
|
||||
AB8540_VHSIC,
|
||||
AB8540_VSDIO,
|
||||
AB8540_VSMPS1REGU,
|
||||
AB8540_VSMPS2REGU,
|
||||
AB8540_VSMPS3REGU,
|
||||
AB8540_VPLLVANAREGU,
|
||||
AB8540_EXTSUPPLYREGU,
|
||||
AB8540_VAUX12REGU,
|
||||
AB8540_VRF1VAUX3REGU,
|
||||
AB8540_VSMPS1SEL1,
|
||||
AB8540_VSMPS1SEL2,
|
||||
AB8540_VSMPS1SEL3,
|
||||
AB8540_VSMPS2SEL1,
|
||||
AB8540_VSMPS2SEL2,
|
||||
AB8540_VSMPS2SEL3,
|
||||
AB8540_VSMPS3SEL1,
|
||||
AB8540_VSMPS3SEL2,
|
||||
AB8540_VAUX1SEL,
|
||||
AB8540_VAUX2SEL,
|
||||
AB8540_VRF1VAUX3SEL,
|
||||
AB8540_REGUCTRL2SPARE,
|
||||
AB8540_VAUX4REQCTRL,
|
||||
AB8540_VAUX4REGU,
|
||||
AB8540_VAUX4SEL,
|
||||
AB8540_VAUX5REQCTRL,
|
||||
AB8540_VAUX5REGU,
|
||||
AB8540_VAUX5SEL,
|
||||
AB8540_VAUX6REQCTRL,
|
||||
AB8540_VAUX6REGU,
|
||||
AB8540_VAUX6SEL,
|
||||
AB8540_VCLKBREQCTRL,
|
||||
AB8540_VCLKBREGU,
|
||||
AB8540_VCLKBSEL,
|
||||
AB8540_VRF1REQCTRL,
|
||||
AB8540_REGUCTRLDISCH,
|
||||
AB8540_REGUCTRLDISCH2,
|
||||
AB8540_REGUCTRLDISCH3,
|
||||
AB8540_REGUCTRLDISCH4,
|
||||
AB8540_VSIMSYSCLKCTRL,
|
||||
AB8540_VANAVPLLSEL,
|
||||
AB8540_NUM_REGULATOR_REGISTERS,
|
||||
};
|
||||
|
||||
/* AB8500 external regulators */
|
||||
struct ab8500_ext_regulator_cfg {
|
||||
bool hwreq; /* requires hw mode or high power mode */
|
||||
|
|
|
|||
Loading…
Reference in a new issue