aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mfd/palmas.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/include/linux/mfd/palmas.h b/include/linux/mfd/palmas.h
index 1a8dd7afe084..d2fca1c6f7df 100644
--- a/include/linux/mfd/palmas.h
+++ b/include/linux/mfd/palmas.h
@@ -183,6 +183,50 @@ enum palmas_regulators {
183 PALMAS_NUM_REGS, 183 PALMAS_NUM_REGS,
184}; 184};
185 185
186/* External controll signal name */
187enum {
188 PALMAS_EXT_CONTROL_ENABLE1 = 0x1,
189 PALMAS_EXT_CONTROL_ENABLE2 = 0x2,
190 PALMAS_EXT_CONTROL_NSLEEP = 0x4,
191};
192
193/*
194 * Palmas device resources can be controlled externally for
195 * enabling/disabling it rather than register write through i2c.
196 * Add the external controlled requestor ID for different resources.
197 */
198enum palmas_external_requestor_id {
199 PALMAS_EXTERNAL_REQSTR_ID_REGEN1,
200 PALMAS_EXTERNAL_REQSTR_ID_REGEN2,
201 PALMAS_EXTERNAL_REQSTR_ID_SYSEN1,
202 PALMAS_EXTERNAL_REQSTR_ID_SYSEN2,
203 PALMAS_EXTERNAL_REQSTR_ID_CLK32KG,
204 PALMAS_EXTERNAL_REQSTR_ID_CLK32KGAUDIO,
205 PALMAS_EXTERNAL_REQSTR_ID_REGEN3,
206 PALMAS_EXTERNAL_REQSTR_ID_SMPS12,
207 PALMAS_EXTERNAL_REQSTR_ID_SMPS3,
208 PALMAS_EXTERNAL_REQSTR_ID_SMPS45,
209 PALMAS_EXTERNAL_REQSTR_ID_SMPS6,
210 PALMAS_EXTERNAL_REQSTR_ID_SMPS7,
211 PALMAS_EXTERNAL_REQSTR_ID_SMPS8,
212 PALMAS_EXTERNAL_REQSTR_ID_SMPS9,
213 PALMAS_EXTERNAL_REQSTR_ID_SMPS10,
214 PALMAS_EXTERNAL_REQSTR_ID_LDO1,
215 PALMAS_EXTERNAL_REQSTR_ID_LDO2,
216 PALMAS_EXTERNAL_REQSTR_ID_LDO3,
217 PALMAS_EXTERNAL_REQSTR_ID_LDO4,
218 PALMAS_EXTERNAL_REQSTR_ID_LDO5,
219 PALMAS_EXTERNAL_REQSTR_ID_LDO6,
220 PALMAS_EXTERNAL_REQSTR_ID_LDO7,
221 PALMAS_EXTERNAL_REQSTR_ID_LDO8,
222 PALMAS_EXTERNAL_REQSTR_ID_LDO9,
223 PALMAS_EXTERNAL_REQSTR_ID_LDOLN,
224 PALMAS_EXTERNAL_REQSTR_ID_LDOUSB,
225
226 /* Last entry */
227 PALMAS_EXTERNAL_REQSTR_ID_MAX,
228};
229
186struct palmas_pmic_platform_data { 230struct palmas_pmic_platform_data {
187 /* An array of pointers to regulator init data indexed by regulator 231 /* An array of pointers to regulator init data indexed by regulator
188 * ID 232 * ID
@@ -2866,4 +2910,9 @@ static inline int palmas_irq_get_virq(struct palmas *palmas, int irq)
2866 return regmap_irq_get_virq(palmas->irq_data, irq); 2910 return regmap_irq_get_virq(palmas->irq_data, irq);
2867} 2911}
2868 2912
2913
2914int palmas_ext_control_req_config(struct palmas *palmas,
2915 enum palmas_external_requestor_id ext_control_req_id,
2916 int ext_ctrl, bool enable);
2917
2869#endif /* __LINUX_MFD_PALMAS_H */ 2918#endif /* __LINUX_MFD_PALMAS_H */