diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/mfd/palmas.h | 49 |
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 */ | ||
| 187 | enum { | ||
| 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 | */ | ||
| 198 | enum 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 | |||
| 186 | struct palmas_pmic_platform_data { | 230 | struct 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 | |||
| 2914 | int 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 */ |
