aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/regulator
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2013-03-28 12:11:16 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-04-01 08:23:38 -0400
commitae0a9a3efce22e77b5f0f2b266646431f492f7ed (patch)
tree56582a891405e841c962c72b2a2b2c450775706e /include/linux/regulator
parent547f384f33dbd6171607f925ab246e25e315961e (diff)
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>
Diffstat (limited to 'include/linux/regulator')
-rw-r--r--include/linux/regulator/ab8500.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/include/linux/regulator/ab8500.h b/include/linux/regulator/ab8500.h
index 9a7cf97e5040..bb0140c9d4f4 100644
--- a/include/linux/regulator/ab8500.h
+++ b/include/linux/regulator/ab8500.h
@@ -68,6 +68,25 @@ enum ab9540_regulator_id {
68 AB9540_NUM_REGULATORS, 68 AB9540_NUM_REGULATORS,
69}; 69};
70 70
71/* AB8540 regulators */
72enum ab8540_regulator_id {
73 AB8540_LDO_AUX1,
74 AB8540_LDO_AUX2,
75 AB8540_LDO_AUX3,
76 AB8540_LDO_AUX4,
77 AB8540_LDO_INTCORE,
78 AB8540_LDO_TVOUT,
79 AB8540_LDO_AUDIO,
80 AB8540_LDO_ANAMIC1,
81 AB8540_LDO_ANAMIC2,
82 AB8540_LDO_DMIC,
83 AB8540_LDO_ANA,
84 AB8540_LDO_SDIO,
85 AB8540_SYSCLKREQ_2,
86 AB8540_SYSCLKREQ_4,
87 AB8540_NUM_REGULATORS,
88};
89
71/* AB8500, AB8505, and AB9540 register initialization */ 90/* AB8500, AB8505, and AB9540 register initialization */
72struct ab8500_regulator_reg_init { 91struct ab8500_regulator_reg_init {
73 int id; 92 int id;
@@ -212,6 +231,73 @@ enum ab9540_regulator_reg {
212 AB9540_NUM_REGULATOR_REGISTERS, 231 AB9540_NUM_REGULATOR_REGISTERS,
213}; 232};
214 233
234/* AB8540 registers */
235enum ab8540_regulator_reg {
236 AB8540_REGUREQUESTCTRL1,
237 AB8540_REGUREQUESTCTRL2,
238 AB8540_REGUREQUESTCTRL3,
239 AB8540_REGUREQUESTCTRL4,
240 AB8540_REGUSYSCLKREQ1HPVALID1,
241 AB8540_REGUSYSCLKREQ1HPVALID2,
242 AB8540_REGUHWHPREQ1VALID1,
243 AB8540_REGUHWHPREQ1VALID2,
244 AB8540_REGUHWHPREQ2VALID1,
245 AB8540_REGUHWHPREQ2VALID2,
246 AB8540_REGUSWHPREQVALID1,
247 AB8540_REGUSWHPREQVALID2,
248 AB8540_REGUSYSCLKREQVALID1,
249 AB8540_REGUSYSCLKREQVALID2,
250 AB8540_REGUVAUX4REQVALID,
251 AB8540_REGUVAUX5REQVALID,
252 AB8540_REGUVAUX6REQVALID,
253 AB8540_REGUVCLKBREQVALID,
254 AB8540_REGUVRF1REQVALID,
255 AB8540_REGUMISC1,
256 AB8540_VAUDIOSUPPLY,
257 AB8540_REGUCTRL1VAMIC,
258 AB8540_VHSIC,
259 AB8540_VSDIO,
260 AB8540_VSMPS1REGU,
261 AB8540_VSMPS2REGU,
262 AB8540_VSMPS3REGU,
263 AB8540_VPLLVANAREGU,
264 AB8540_EXTSUPPLYREGU,
265 AB8540_VAUX12REGU,
266 AB8540_VRF1VAUX3REGU,
267 AB8540_VSMPS1SEL1,
268 AB8540_VSMPS1SEL2,
269 AB8540_VSMPS1SEL3,
270 AB8540_VSMPS2SEL1,
271 AB8540_VSMPS2SEL2,
272 AB8540_VSMPS2SEL3,
273 AB8540_VSMPS3SEL1,
274 AB8540_VSMPS3SEL2,
275 AB8540_VAUX1SEL,
276 AB8540_VAUX2SEL,
277 AB8540_VRF1VAUX3SEL,
278 AB8540_REGUCTRL2SPARE,
279 AB8540_VAUX4REQCTRL,
280 AB8540_VAUX4REGU,
281 AB8540_VAUX4SEL,
282 AB8540_VAUX5REQCTRL,
283 AB8540_VAUX5REGU,
284 AB8540_VAUX5SEL,
285 AB8540_VAUX6REQCTRL,
286 AB8540_VAUX6REGU,
287 AB8540_VAUX6SEL,
288 AB8540_VCLKBREQCTRL,
289 AB8540_VCLKBREGU,
290 AB8540_VCLKBSEL,
291 AB8540_VRF1REQCTRL,
292 AB8540_REGUCTRLDISCH,
293 AB8540_REGUCTRLDISCH2,
294 AB8540_REGUCTRLDISCH3,
295 AB8540_REGUCTRLDISCH4,
296 AB8540_VSIMSYSCLKCTRL,
297 AB8540_VANAVPLLSEL,
298 AB8540_NUM_REGULATOR_REGISTERS,
299};
300
215/* AB8500 external regulators */ 301/* AB8500 external regulators */
216struct ab8500_ext_regulator_cfg { 302struct ab8500_ext_regulator_cfg {
217 bool hwreq; /* requires hw mode or high power mode */ 303 bool hwreq; /* requires hw mode or high power mode */