diff options
Diffstat (limited to 'include/linux/mfd/palmas.h')
-rw-r--r-- | include/linux/mfd/palmas.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/include/linux/mfd/palmas.h b/include/linux/mfd/palmas.h index 37e48c957791..9974e387e483 100644 --- a/include/linux/mfd/palmas.h +++ b/include/linux/mfd/palmas.h | |||
@@ -184,6 +184,50 @@ enum palmas_regulators { | |||
184 | PALMAS_NUM_REGS, | 184 | PALMAS_NUM_REGS, |
185 | }; | 185 | }; |
186 | 186 | ||
187 | /* External controll signal name */ | ||
188 | enum { | ||
189 | PALMAS_EXT_CONTROL_ENABLE1 = 0x1, | ||
190 | PALMAS_EXT_CONTROL_ENABLE2 = 0x2, | ||
191 | PALMAS_EXT_CONTROL_NSLEEP = 0x4, | ||
192 | }; | ||
193 | |||
194 | /* | ||
195 | * Palmas device resources can be controlled externally for | ||
196 | * enabling/disabling it rather than register write through i2c. | ||
197 | * Add the external controlled requestor ID for different resources. | ||
198 | */ | ||
199 | enum palmas_external_requestor_id { | ||
200 | PALMAS_EXTERNAL_REQSTR_ID_REGEN1, | ||
201 | PALMAS_EXTERNAL_REQSTR_ID_REGEN2, | ||
202 | PALMAS_EXTERNAL_REQSTR_ID_SYSEN1, | ||
203 | PALMAS_EXTERNAL_REQSTR_ID_SYSEN2, | ||
204 | PALMAS_EXTERNAL_REQSTR_ID_CLK32KG, | ||
205 | PALMAS_EXTERNAL_REQSTR_ID_CLK32KGAUDIO, | ||
206 | PALMAS_EXTERNAL_REQSTR_ID_REGEN3, | ||
207 | PALMAS_EXTERNAL_REQSTR_ID_SMPS12, | ||
208 | PALMAS_EXTERNAL_REQSTR_ID_SMPS3, | ||
209 | PALMAS_EXTERNAL_REQSTR_ID_SMPS45, | ||
210 | PALMAS_EXTERNAL_REQSTR_ID_SMPS6, | ||
211 | PALMAS_EXTERNAL_REQSTR_ID_SMPS7, | ||
212 | PALMAS_EXTERNAL_REQSTR_ID_SMPS8, | ||
213 | PALMAS_EXTERNAL_REQSTR_ID_SMPS9, | ||
214 | PALMAS_EXTERNAL_REQSTR_ID_SMPS10, | ||
215 | PALMAS_EXTERNAL_REQSTR_ID_LDO1, | ||
216 | PALMAS_EXTERNAL_REQSTR_ID_LDO2, | ||
217 | PALMAS_EXTERNAL_REQSTR_ID_LDO3, | ||
218 | PALMAS_EXTERNAL_REQSTR_ID_LDO4, | ||
219 | PALMAS_EXTERNAL_REQSTR_ID_LDO5, | ||
220 | PALMAS_EXTERNAL_REQSTR_ID_LDO6, | ||
221 | PALMAS_EXTERNAL_REQSTR_ID_LDO7, | ||
222 | PALMAS_EXTERNAL_REQSTR_ID_LDO8, | ||
223 | PALMAS_EXTERNAL_REQSTR_ID_LDO9, | ||
224 | PALMAS_EXTERNAL_REQSTR_ID_LDOLN, | ||
225 | PALMAS_EXTERNAL_REQSTR_ID_LDOUSB, | ||
226 | |||
227 | /* Last entry */ | ||
228 | PALMAS_EXTERNAL_REQSTR_ID_MAX, | ||
229 | }; | ||
230 | |||
187 | struct palmas_pmic_platform_data { | 231 | struct palmas_pmic_platform_data { |
188 | /* An array of pointers to regulator init data indexed by regulator | 232 | /* An array of pointers to regulator init data indexed by regulator |
189 | * ID | 233 | * ID |
@@ -259,6 +303,7 @@ struct palmas_platform_data { | |||
259 | */ | 303 | */ |
260 | int mux_from_pdata; | 304 | int mux_from_pdata; |
261 | u8 pad1, pad2; | 305 | u8 pad1, pad2; |
306 | bool pm_off; | ||
262 | 307 | ||
263 | struct palmas_pmic_platform_data *pmic_pdata; | 308 | struct palmas_pmic_platform_data *pmic_pdata; |
264 | struct palmas_gpadc_platform_data *gpadc_pdata; | 309 | struct palmas_gpadc_platform_data *gpadc_pdata; |
@@ -2878,4 +2923,9 @@ static inline int palmas_irq_get_virq(struct palmas *palmas, int irq) | |||
2878 | return regmap_irq_get_virq(palmas->irq_data, irq); | 2923 | return regmap_irq_get_virq(palmas->irq_data, irq); |
2879 | } | 2924 | } |
2880 | 2925 | ||
2926 | |||
2927 | int palmas_ext_control_req_config(struct palmas *palmas, | ||
2928 | enum palmas_external_requestor_id ext_control_req_id, | ||
2929 | int ext_ctrl, bool enable); | ||
2930 | |||
2881 | #endif /* __LINUX_MFD_PALMAS_H */ | 2931 | #endif /* __LINUX_MFD_PALMAS_H */ |