aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/regulator
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2013-03-28 12:11:14 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-04-01 08:23:38 -0400
commit547f384f33dbd6171607f925ab246e25e315961e (patch)
tree95ce40b8ffd846948718b980b58a13ac66e09031 /include/linux/regulator
parenta6324709ab4e8a06cb61aa4f7aa3374679d5f426 (diff)
regulator: ab8500: add support for ab8505
To obtain full AB8505 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.h75
1 files changed, 73 insertions, 2 deletions
diff --git a/include/linux/regulator/ab8500.h b/include/linux/regulator/ab8500.h
index 592a3f3994c0..9a7cf97e5040 100644
--- a/include/linux/regulator/ab8500.h
+++ b/include/linux/regulator/ab8500.h
@@ -5,6 +5,7 @@
5 * 5 *
6 * Authors: Sundar Iyer <sundar.iyer@stericsson.com> for ST-Ericsson 6 * Authors: Sundar Iyer <sundar.iyer@stericsson.com> for ST-Ericsson
7 * Bengt Jonsson <bengt.g.jonsson@stericsson.com> for ST-Ericsson 7 * Bengt Jonsson <bengt.g.jonsson@stericsson.com> for ST-Ericsson
8 * Daniel Willerud <daniel.willerud@stericsson.com> for ST-Ericsson
8 */ 9 */
9 10
10#ifndef __LINUX_MFD_AB8500_REGULATOR_H 11#ifndef __LINUX_MFD_AB8500_REGULATOR_H
@@ -27,7 +28,28 @@ enum ab8500_regulator_id {
27 AB8500_NUM_REGULATORS, 28 AB8500_NUM_REGULATORS,
28}; 29};
29 30
30/* AB9450 regulators */ 31/* AB8505 regulators */
32enum ab8505_regulator_id {
33 AB8505_LDO_AUX1,
34 AB8505_LDO_AUX2,
35 AB8505_LDO_AUX3,
36 AB8505_LDO_AUX4,
37 AB8505_LDO_AUX5,
38 AB8505_LDO_AUX6,
39 AB8505_LDO_INTCORE,
40 AB8505_LDO_ADC,
41 AB8505_LDO_USB,
42 AB8505_LDO_AUDIO,
43 AB8505_LDO_ANAMIC1,
44 AB8505_LDO_ANAMIC2,
45 AB8505_LDO_AUX8,
46 AB8505_LDO_ANA,
47 AB8505_SYSCLKREQ_2,
48 AB8505_SYSCLKREQ_4,
49 AB8505_NUM_REGULATORS,
50};
51
52/* AB9540 regulators */
31enum ab9540_regulator_id { 53enum ab9540_regulator_id {
32 AB9540_LDO_AUX1, 54 AB9540_LDO_AUX1,
33 AB9540_LDO_AUX2, 55 AB9540_LDO_AUX2,
@@ -46,7 +68,7 @@ enum ab9540_regulator_id {
46 AB9540_NUM_REGULATORS, 68 AB9540_NUM_REGULATORS,
47}; 69};
48 70
49/* AB8500 and AB9540 register initialization */ 71/* AB8500, AB8505, and AB9540 register initialization */
50struct ab8500_regulator_reg_init { 72struct ab8500_regulator_reg_init {
51 int id; 73 int id;
52 u8 mask; 74 u8 mask;
@@ -92,6 +114,55 @@ enum ab8500_regulator_reg {
92 AB8500_NUM_REGULATOR_REGISTERS, 114 AB8500_NUM_REGULATOR_REGISTERS,
93}; 115};
94 116
117/* AB8505 registers */
118enum ab8505_regulator_reg {
119 AB8505_REGUREQUESTCTRL1,
120 AB8505_REGUREQUESTCTRL2,
121 AB8505_REGUREQUESTCTRL3,
122 AB8505_REGUREQUESTCTRL4,
123 AB8505_REGUSYSCLKREQ1HPVALID1,
124 AB8505_REGUSYSCLKREQ1HPVALID2,
125 AB8505_REGUHWHPREQ1VALID1,
126 AB8505_REGUHWHPREQ1VALID2,
127 AB8505_REGUHWHPREQ2VALID1,
128 AB8505_REGUHWHPREQ2VALID2,
129 AB8505_REGUSWHPREQVALID1,
130 AB8505_REGUSWHPREQVALID2,
131 AB8505_REGUSYSCLKREQVALID1,
132 AB8505_REGUSYSCLKREQVALID2,
133 AB8505_REGUVAUX4REQVALID,
134 AB8505_REGUMISC1,
135 AB8505_VAUDIOSUPPLY,
136 AB8505_REGUCTRL1VAMIC,
137 AB8505_VSMPSAREGU,
138 AB8505_VSMPSBREGU,
139 AB8505_VSAFEREGU, /* NOTE! PRCMU register */
140 AB8505_VPLLVANAREGU,
141 AB8505_EXTSUPPLYREGU,
142 AB8505_VAUX12REGU,
143 AB8505_VRF1VAUX3REGU,
144 AB8505_VSMPSASEL1,
145 AB8505_VSMPSASEL2,
146 AB8505_VSMPSASEL3,
147 AB8505_VSMPSBSEL1,
148 AB8505_VSMPSBSEL2,
149 AB8505_VSMPSBSEL3,
150 AB8505_VSAFESEL1, /* NOTE! PRCMU register */
151 AB8505_VSAFESEL2, /* NOTE! PRCMU register */
152 AB8505_VSAFESEL3, /* NOTE! PRCMU register */
153 AB8505_VAUX1SEL,
154 AB8505_VAUX2SEL,
155 AB8505_VRF1VAUX3SEL,
156 AB8505_VAUX4REQCTRL,
157 AB8505_VAUX4REGU,
158 AB8505_VAUX4SEL,
159 AB8505_REGUCTRLDISCH,
160 AB8505_REGUCTRLDISCH2,
161 AB8505_REGUCTRLDISCH3,
162 AB8505_CTRLVAUX5,
163 AB8505_CTRLVAUX6,
164 AB8505_NUM_REGULATOR_REGISTERS,
165};
95 166
96/* AB9540 registers */ 167/* AB9540 registers */
97enum ab9540_regulator_reg { 168enum ab9540_regulator_reg {