diff options
author | Keerthy <j-keerthy@ti.com> | 2014-06-18 05:58:54 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-06-23 07:30:56 -0400 |
commit | 027d7c2a26ad637f14c72f401dd8da0bb6df20c8 (patch) | |
tree | 0b5f5e99c156ef2855705a75c9119a540255eac7 | |
parent | 9b9fb42070bc6954f8e1cee5652fc0b35adae63c (diff) |
mfd: palmas: Add tps65917 specific definitions and enums
Add tps65917 specific definitions and enums.
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r-- | include/linux/mfd/palmas.h | 793 |
1 files changed, 793 insertions, 0 deletions
diff --git a/include/linux/mfd/palmas.h b/include/linux/mfd/palmas.h index 3420e09e2e20..f760a07ab76e 100644 --- a/include/linux/mfd/palmas.h +++ b/include/linux/mfd/palmas.h | |||
@@ -30,6 +30,8 @@ | |||
30 | #define PALMAS_CHIP_ID 0xC035 | 30 | #define PALMAS_CHIP_ID 0xC035 |
31 | #define PALMAS_CHIP_CHARGER_ID 0xC036 | 31 | #define PALMAS_CHIP_CHARGER_ID 0xC036 |
32 | 32 | ||
33 | #define TPS65917_RESERVED -1 | ||
34 | |||
33 | #define is_palmas(a) (((a) == PALMAS_CHIP_OLD_ID) || \ | 35 | #define is_palmas(a) (((a) == PALMAS_CHIP_OLD_ID) || \ |
34 | ((a) == PALMAS_CHIP_ID)) | 36 | ((a) == PALMAS_CHIP_ID)) |
35 | #define is_palmas_charger(a) ((a) == PALMAS_CHIP_CHARGER_ID) | 37 | #define is_palmas_charger(a) ((a) == PALMAS_CHIP_CHARGER_ID) |
@@ -184,6 +186,27 @@ enum palmas_regulators { | |||
184 | PALMAS_NUM_REGS, | 186 | PALMAS_NUM_REGS, |
185 | }; | 187 | }; |
186 | 188 | ||
189 | enum tps65917_regulators { | ||
190 | /* SMPS regulators */ | ||
191 | TPS65917_REG_SMPS1, | ||
192 | TPS65917_REG_SMPS2, | ||
193 | TPS65917_REG_SMPS3, | ||
194 | TPS65917_REG_SMPS4, | ||
195 | TPS65917_REG_SMPS5, | ||
196 | /* LDO regulators */ | ||
197 | TPS65917_REG_LDO1, | ||
198 | TPS65917_REG_LDO2, | ||
199 | TPS65917_REG_LDO3, | ||
200 | TPS65917_REG_LDO4, | ||
201 | TPS65917_REG_LDO5, | ||
202 | TPS65917_REG_REGEN1, | ||
203 | TPS65917_REG_REGEN2, | ||
204 | TPS65917_REG_REGEN3, | ||
205 | |||
206 | /* Total number of regulators */ | ||
207 | TPS65917_NUM_REGS, | ||
208 | }; | ||
209 | |||
187 | /* External controll signal name */ | 210 | /* External controll signal name */ |
188 | enum { | 211 | enum { |
189 | PALMAS_EXT_CONTROL_ENABLE1 = 0x1, | 212 | PALMAS_EXT_CONTROL_ENABLE1 = 0x1, |
@@ -228,6 +251,24 @@ enum palmas_external_requestor_id { | |||
228 | PALMAS_EXTERNAL_REQSTR_ID_MAX, | 251 | PALMAS_EXTERNAL_REQSTR_ID_MAX, |
229 | }; | 252 | }; |
230 | 253 | ||
254 | enum tps65917_external_requestor_id { | ||
255 | TPS65917_EXTERNAL_REQSTR_ID_REGEN1, | ||
256 | TPS65917_EXTERNAL_REQSTR_ID_REGEN2, | ||
257 | TPS65917_EXTERNAL_REQSTR_ID_REGEN3, | ||
258 | TPS65917_EXTERNAL_REQSTR_ID_SMPS1, | ||
259 | TPS65917_EXTERNAL_REQSTR_ID_SMPS2, | ||
260 | TPS65917_EXTERNAL_REQSTR_ID_SMPS3, | ||
261 | TPS65917_EXTERNAL_REQSTR_ID_SMPS4, | ||
262 | TPS65917_EXTERNAL_REQSTR_ID_SMPS5, | ||
263 | TPS65917_EXTERNAL_REQSTR_ID_LDO1, | ||
264 | TPS65917_EXTERNAL_REQSTR_ID_LDO2, | ||
265 | TPS65917_EXTERNAL_REQSTR_ID_LDO3, | ||
266 | TPS65917_EXTERNAL_REQSTR_ID_LDO4, | ||
267 | TPS65917_EXTERNAL_REQSTR_ID_LDO5, | ||
268 | /* Last entry */ | ||
269 | TPS65917_EXTERNAL_REQSTR_ID_MAX, | ||
270 | }; | ||
271 | |||
231 | struct palmas_pmic_platform_data { | 272 | struct palmas_pmic_platform_data { |
232 | /* An array of pointers to regulator init data indexed by regulator | 273 | /* An array of pointers to regulator init data indexed by regulator |
233 | * ID | 274 | * ID |
@@ -349,6 +390,48 @@ struct palmas_gpadc_result { | |||
349 | 390 | ||
350 | #define PALMAS_MAX_CHANNELS 16 | 391 | #define PALMAS_MAX_CHANNELS 16 |
351 | 392 | ||
393 | /* Define the tps65917 IRQ numbers */ | ||
394 | enum tps65917_irqs { | ||
395 | /* INT1 registers */ | ||
396 | TPS65917_RESERVED1, | ||
397 | TPS65917_PWRON_IRQ, | ||
398 | TPS65917_LONG_PRESS_KEY_IRQ, | ||
399 | TPS65917_RESERVED2, | ||
400 | TPS65917_PWRDOWN_IRQ, | ||
401 | TPS65917_HOTDIE_IRQ, | ||
402 | TPS65917_VSYS_MON_IRQ, | ||
403 | TPS65917_RESERVED3, | ||
404 | /* INT2 registers */ | ||
405 | TPS65917_RESERVED4, | ||
406 | TPS65917_OTP_ERROR_IRQ, | ||
407 | TPS65917_WDT_IRQ, | ||
408 | TPS65917_RESERVED5, | ||
409 | TPS65917_RESET_IN_IRQ, | ||
410 | TPS65917_FSD_IRQ, | ||
411 | TPS65917_SHORT_IRQ, | ||
412 | TPS65917_RESERVED6, | ||
413 | /* INT3 registers */ | ||
414 | TPS65917_GPADC_AUTO_0_IRQ, | ||
415 | TPS65917_GPADC_AUTO_1_IRQ, | ||
416 | TPS65917_GPADC_EOC_SW_IRQ, | ||
417 | TPS65917_RESREVED6, | ||
418 | TPS65917_RESERVED7, | ||
419 | TPS65917_RESERVED8, | ||
420 | TPS65917_RESERVED9, | ||
421 | TPS65917_VBUS_IRQ, | ||
422 | /* INT4 registers */ | ||
423 | TPS65917_GPIO_0_IRQ, | ||
424 | TPS65917_GPIO_1_IRQ, | ||
425 | TPS65917_GPIO_2_IRQ, | ||
426 | TPS65917_GPIO_3_IRQ, | ||
427 | TPS65917_GPIO_4_IRQ, | ||
428 | TPS65917_GPIO_5_IRQ, | ||
429 | TPS65917_GPIO_6_IRQ, | ||
430 | TPS65917_RESERVED10, | ||
431 | /* Total Number IRQs */ | ||
432 | TPS65917_NUM_IRQ, | ||
433 | }; | ||
434 | |||
352 | /* Define the palmas IRQ numbers */ | 435 | /* Define the palmas IRQ numbers */ |
353 | enum palmas_irqs { | 436 | enum palmas_irqs { |
354 | /* INT1 registers */ | 437 | /* INT1 registers */ |
@@ -400,6 +483,7 @@ struct palmas_pmic { | |||
400 | 483 | ||
401 | int smps123; | 484 | int smps123; |
402 | int smps457; | 485 | int smps457; |
486 | int smps12; | ||
403 | 487 | ||
404 | int range[PALMAS_REG_SMPS10_OUT1]; | 488 | int range[PALMAS_REG_SMPS10_OUT1]; |
405 | unsigned int ramp_delay[PALMAS_REG_SMPS10_OUT1]; | 489 | unsigned int ramp_delay[PALMAS_REG_SMPS10_OUT1]; |
@@ -2871,6 +2955,715 @@ enum usb_irq_events { | |||
2871 | #define PALMAS_GPADC_TRIM15 0x0E | 2955 | #define PALMAS_GPADC_TRIM15 0x0E |
2872 | #define PALMAS_GPADC_TRIM16 0x0F | 2956 | #define PALMAS_GPADC_TRIM16 0x0F |
2873 | 2957 | ||
2958 | /* TPS65917 Interrupt registers */ | ||
2959 | |||
2960 | /* Registers for function INTERRUPT */ | ||
2961 | #define TPS65917_INT1_STATUS 0x00 | ||
2962 | #define TPS65917_INT1_MASK 0x01 | ||
2963 | #define TPS65917_INT1_LINE_STATE 0x02 | ||
2964 | #define TPS65917_INT2_STATUS 0x05 | ||
2965 | #define TPS65917_INT2_MASK 0x06 | ||
2966 | #define TPS65917_INT2_LINE_STATE 0x07 | ||
2967 | #define TPS65917_INT3_STATUS 0x0A | ||
2968 | #define TPS65917_INT3_MASK 0x0B | ||
2969 | #define TPS65917_INT3_LINE_STATE 0x0C | ||
2970 | #define TPS65917_INT4_STATUS 0x0F | ||
2971 | #define TPS65917_INT4_MASK 0x10 | ||
2972 | #define TPS65917_INT4_LINE_STATE 0x11 | ||
2973 | #define TPS65917_INT4_EDGE_DETECT1 0x12 | ||
2974 | #define TPS65917_INT4_EDGE_DETECT2 0x13 | ||
2975 | #define TPS65917_INT_CTRL 0x14 | ||
2976 | |||
2977 | /* Bit definitions for INT1_STATUS */ | ||
2978 | #define TPS65917_INT1_STATUS_VSYS_MON 0x40 | ||
2979 | #define TPS65917_INT1_STATUS_VSYS_MON_SHIFT 0x06 | ||
2980 | #define TPS65917_INT1_STATUS_HOTDIE 0x20 | ||
2981 | #define TPS65917_INT1_STATUS_HOTDIE_SHIFT 0x05 | ||
2982 | #define TPS65917_INT1_STATUS_PWRDOWN 0x10 | ||
2983 | #define TPS65917_INT1_STATUS_PWRDOWN_SHIFT 0x04 | ||
2984 | #define TPS65917_INT1_STATUS_LONG_PRESS_KEY 0x04 | ||
2985 | #define TPS65917_INT1_STATUS_LONG_PRESS_KEY_SHIFT 0x02 | ||
2986 | #define TPS65917_INT1_STATUS_PWRON 0x02 | ||
2987 | #define TPS65917_INT1_STATUS_PWRON_SHIFT 0x01 | ||
2988 | |||
2989 | /* Bit definitions for INT1_MASK */ | ||
2990 | #define TPS65917_INT1_MASK_VSYS_MON 0x40 | ||
2991 | #define TPS65917_INT1_MASK_VSYS_MON_SHIFT 0x06 | ||
2992 | #define TPS65917_INT1_MASK_HOTDIE 0x20 | ||
2993 | #define TPS65917_INT1_MASK_HOTDIE_SHIFT 0x05 | ||
2994 | #define TPS65917_INT1_MASK_PWRDOWN 0x10 | ||
2995 | #define TPS65917_INT1_MASK_PWRDOWN_SHIFT 0x04 | ||
2996 | #define TPS65917_INT1_MASK_LONG_PRESS_KEY 0x04 | ||
2997 | #define TPS65917_INT1_MASK_LONG_PRESS_KEY_SHIFT 0x02 | ||
2998 | #define TPS65917_INT1_MASK_PWRON 0x02 | ||
2999 | #define TPS65917_INT1_MASK_PWRON_SHIFT 0x01 | ||
3000 | |||
3001 | /* Bit definitions for INT1_LINE_STATE */ | ||
3002 | #define TPS65917_INT1_LINE_STATE_VSYS_MON 0x40 | ||
3003 | #define TPS65917_INT1_LINE_STATE_VSYS_MON_SHIFT 0x06 | ||
3004 | #define TPS65917_INT1_LINE_STATE_HOTDIE 0x20 | ||
3005 | #define TPS65917_INT1_LINE_STATE_HOTDIE_SHIFT 0x05 | ||
3006 | #define TPS65917_INT1_LINE_STATE_PWRDOWN 0x10 | ||
3007 | #define TPS65917_INT1_LINE_STATE_PWRDOWN_SHIFT 0x04 | ||
3008 | #define TPS65917_INT1_LINE_STATE_LONG_PRESS_KEY 0x04 | ||
3009 | #define TPS65917_INT1_LINE_STATE_LONG_PRESS_KEY_SHIFT 0x02 | ||
3010 | #define TPS65917_INT1_LINE_STATE_PWRON 0x02 | ||
3011 | #define TPS65917_INT1_LINE_STATE_PWRON_SHIFT 0x01 | ||
3012 | |||
3013 | /* Bit definitions for INT2_STATUS */ | ||
3014 | #define TPS65917_INT2_STATUS_SHORT 0x40 | ||
3015 | #define TPS65917_INT2_STATUS_SHORT_SHIFT 0x06 | ||
3016 | #define TPS65917_INT2_STATUS_FSD 0x20 | ||
3017 | #define TPS65917_INT2_STATUS_FSD_SHIFT 0x05 | ||
3018 | #define TPS65917_INT2_STATUS_RESET_IN 0x10 | ||
3019 | #define TPS65917_INT2_STATUS_RESET_IN_SHIFT 0x04 | ||
3020 | #define TPS65917_INT2_STATUS_WDT 0x04 | ||
3021 | #define TPS65917_INT2_STATUS_WDT_SHIFT 0x02 | ||
3022 | #define TPS65917_INT2_STATUS_OTP_ERROR 0x02 | ||
3023 | #define TPS65917_INT2_STATUS_OTP_ERROR_SHIFT 0x01 | ||
3024 | |||
3025 | /* Bit definitions for INT2_MASK */ | ||
3026 | #define TPS65917_INT2_MASK_SHORT 0x40 | ||
3027 | #define TPS65917_INT2_MASK_SHORT_SHIFT 0x06 | ||
3028 | #define TPS65917_INT2_MASK_FSD 0x20 | ||
3029 | #define TPS65917_INT2_MASK_FSD_SHIFT 0x05 | ||
3030 | #define TPS65917_INT2_MASK_RESET_IN 0x10 | ||
3031 | #define TPS65917_INT2_MASK_RESET_IN_SHIFT 0x04 | ||
3032 | #define TPS65917_INT2_MASK_WDT 0x04 | ||
3033 | #define TPS65917_INT2_MASK_WDT_SHIFT 0x02 | ||
3034 | #define TPS65917_INT2_MASK_OTP_ERROR_TIMER 0x02 | ||
3035 | #define TPS65917_INT2_MASK_OTP_ERROR_SHIFT 0x01 | ||
3036 | |||
3037 | /* Bit definitions for INT2_LINE_STATE */ | ||
3038 | #define TPS65917_INT2_LINE_STATE_SHORT 0x40 | ||
3039 | #define TPS65917_INT2_LINE_STATE_SHORT_SHIFT 0x06 | ||
3040 | #define TPS65917_INT2_LINE_STATE_FSD 0x20 | ||
3041 | #define TPS65917_INT2_LINE_STATE_FSD_SHIFT 0x05 | ||
3042 | #define TPS65917_INT2_LINE_STATE_RESET_IN 0x10 | ||
3043 | #define TPS65917_INT2_LINE_STATE_RESET_IN_SHIFT 0x04 | ||
3044 | #define TPS65917_INT2_LINE_STATE_WDT 0x04 | ||
3045 | #define TPS65917_INT2_LINE_STATE_WDT_SHIFT 0x02 | ||
3046 | #define TPS65917_INT2_LINE_STATE_OTP_ERROR 0x02 | ||
3047 | #define TPS65917_INT2_LINE_STATE_OTP_ERROR_SHIFT 0x01 | ||
3048 | |||
3049 | /* Bit definitions for INT3_STATUS */ | ||
3050 | #define TPS65917_INT3_STATUS_VBUS 0x80 | ||
3051 | #define TPS65917_INT3_STATUS_VBUS_SHIFT 0x07 | ||
3052 | #define TPS65917_INT3_STATUS_GPADC_EOC_SW 0x04 | ||
3053 | #define TPS65917_INT3_STATUS_GPADC_EOC_SW_SHIFT 0x02 | ||
3054 | #define TPS65917_INT3_STATUS_GPADC_AUTO_1 0x02 | ||
3055 | #define TPS65917_INT3_STATUS_GPADC_AUTO_1_SHIFT 0x01 | ||
3056 | #define TPS65917_INT3_STATUS_GPADC_AUTO_0 0x01 | ||
3057 | #define TPS65917_INT3_STATUS_GPADC_AUTO_0_SHIFT 0x00 | ||
3058 | |||
3059 | /* Bit definitions for INT3_MASK */ | ||
3060 | #define TPS65917_INT3_MASK_VBUS 0x80 | ||
3061 | #define TPS65917_INT3_MASK_VBUS_SHIFT 0x07 | ||
3062 | #define TPS65917_INT3_MASK_GPADC_EOC_SW 0x04 | ||
3063 | #define TPS65917_INT3_MASK_GPADC_EOC_SW_SHIFT 0x02 | ||
3064 | #define TPS65917_INT3_MASK_GPADC_AUTO_1 0x02 | ||
3065 | #define TPS65917_INT3_MASK_GPADC_AUTO_1_SHIFT 0x01 | ||
3066 | #define TPS65917_INT3_MASK_GPADC_AUTO_0 0x01 | ||
3067 | #define TPS65917_INT3_MASK_GPADC_AUTO_0_SHIFT 0x00 | ||
3068 | |||
3069 | /* Bit definitions for INT3_LINE_STATE */ | ||
3070 | #define TPS65917_INT3_LINE_STATE_VBUS 0x80 | ||
3071 | #define TPS65917_INT3_LINE_STATE_VBUS_SHIFT 0x07 | ||
3072 | #define TPS65917_INT3_LINE_STATE_GPADC_EOC_SW 0x04 | ||
3073 | #define TPS65917_INT3_LINE_STATE_GPADC_EOC_SW_SHIFT 0x02 | ||
3074 | #define TPS65917_INT3_LINE_STATE_GPADC_AUTO_1 0x02 | ||
3075 | #define TPS65917_INT3_LINE_STATE_GPADC_AUTO_1_SHIFT 0x01 | ||
3076 | #define TPS65917_INT3_LINE_STATE_GPADC_AUTO_0 0x01 | ||
3077 | #define TPS65917_INT3_LINE_STATE_GPADC_AUTO_0_SHIFT 0x00 | ||
3078 | |||
3079 | /* Bit definitions for INT4_STATUS */ | ||
3080 | #define TPS65917_INT4_STATUS_GPIO_6 0x40 | ||
3081 | #define TPS65917_INT4_STATUS_GPIO_6_SHIFT 0x06 | ||
3082 | #define TPS65917_INT4_STATUS_GPIO_5 0x20 | ||
3083 | #define TPS65917_INT4_STATUS_GPIO_5_SHIFT 0x05 | ||
3084 | #define TPS65917_INT4_STATUS_GPIO_4 0x10 | ||
3085 | #define TPS65917_INT4_STATUS_GPIO_4_SHIFT 0x04 | ||
3086 | #define TPS65917_INT4_STATUS_GPIO_3 0x08 | ||
3087 | #define TPS65917_INT4_STATUS_GPIO_3_SHIFT 0x03 | ||
3088 | #define TPS65917_INT4_STATUS_GPIO_2 0x04 | ||
3089 | #define TPS65917_INT4_STATUS_GPIO_2_SHIFT 0x02 | ||
3090 | #define TPS65917_INT4_STATUS_GPIO_1 0x02 | ||
3091 | #define TPS65917_INT4_STATUS_GPIO_1_SHIFT 0x01 | ||
3092 | #define TPS65917_INT4_STATUS_GPIO_0 0x01 | ||
3093 | #define TPS65917_INT4_STATUS_GPIO_0_SHIFT 0x00 | ||
3094 | |||
3095 | /* Bit definitions for INT4_MASK */ | ||
3096 | #define TPS65917_INT4_MASK_GPIO_6 0x40 | ||
3097 | #define TPS65917_INT4_MASK_GPIO_6_SHIFT 0x06 | ||
3098 | #define TPS65917_INT4_MASK_GPIO_5 0x20 | ||
3099 | #define TPS65917_INT4_MASK_GPIO_5_SHIFT 0x05 | ||
3100 | #define TPS65917_INT4_MASK_GPIO_4 0x10 | ||
3101 | #define TPS65917_INT4_MASK_GPIO_4_SHIFT 0x04 | ||
3102 | #define TPS65917_INT4_MASK_GPIO_3 0x08 | ||
3103 | #define TPS65917_INT4_MASK_GPIO_3_SHIFT 0x03 | ||
3104 | #define TPS65917_INT4_MASK_GPIO_2 0x04 | ||
3105 | #define TPS65917_INT4_MASK_GPIO_2_SHIFT 0x02 | ||
3106 | #define TPS65917_INT4_MASK_GPIO_1 0x02 | ||
3107 | #define TPS65917_INT4_MASK_GPIO_1_SHIFT 0x01 | ||
3108 | #define TPS65917_INT4_MASK_GPIO_0 0x01 | ||
3109 | #define TPS65917_INT4_MASK_GPIO_0_SHIFT 0x00 | ||
3110 | |||
3111 | /* Bit definitions for INT4_LINE_STATE */ | ||
3112 | #define TPS65917_INT4_LINE_STATE_GPIO_6 0x40 | ||
3113 | #define TPS65917_INT4_LINE_STATE_GPIO_6_SHIFT 0x06 | ||
3114 | #define TPS65917_INT4_LINE_STATE_GPIO_5 0x20 | ||
3115 | #define TPS65917_INT4_LINE_STATE_GPIO_5_SHIFT 0x05 | ||
3116 | #define TPS65917_INT4_LINE_STATE_GPIO_4 0x10 | ||
3117 | #define TPS65917_INT4_LINE_STATE_GPIO_4_SHIFT 0x04 | ||
3118 | #define TPS65917_INT4_LINE_STATE_GPIO_3 0x08 | ||
3119 | #define TPS65917_INT4_LINE_STATE_GPIO_3_SHIFT 0x03 | ||
3120 | #define TPS65917_INT4_LINE_STATE_GPIO_2 0x04 | ||
3121 | #define TPS65917_INT4_LINE_STATE_GPIO_2_SHIFT 0x02 | ||
3122 | #define TPS65917_INT4_LINE_STATE_GPIO_1 0x02 | ||
3123 | #define TPS65917_INT4_LINE_STATE_GPIO_1_SHIFT 0x01 | ||
3124 | #define TPS65917_INT4_LINE_STATE_GPIO_0 0x01 | ||
3125 | #define TPS65917_INT4_LINE_STATE_GPIO_0_SHIFT 0x00 | ||
3126 | |||
3127 | /* Bit definitions for INT4_EDGE_DETECT1 */ | ||
3128 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_3_RISING 0x80 | ||
3129 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_3_RISING_SHIFT 0x07 | ||
3130 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_3_FALLING 0x40 | ||
3131 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_3_FALLING_SHIFT 0x06 | ||
3132 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_2_RISING 0x20 | ||
3133 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_2_RISING_SHIFT 0x05 | ||
3134 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_2_FALLING 0x10 | ||
3135 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_2_FALLING_SHIFT 0x04 | ||
3136 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_1_RISING 0x08 | ||
3137 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_1_RISING_SHIFT 0x03 | ||
3138 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_1_FALLING 0x04 | ||
3139 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_1_FALLING_SHIFT 0x02 | ||
3140 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_0_RISING 0x02 | ||
3141 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_0_RISING_SHIFT 0x01 | ||
3142 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_0_FALLING 0x01 | ||
3143 | #define TPS65917_INT4_EDGE_DETECT1_GPIO_0_FALLING_SHIFT 0x00 | ||
3144 | |||
3145 | /* Bit definitions for INT4_EDGE_DETECT2 */ | ||
3146 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_6_RISING 0x20 | ||
3147 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_6_RISING_SHIFT 0x05 | ||
3148 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_6_FALLING 0x10 | ||
3149 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_6_FALLING_SHIFT 0x04 | ||
3150 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_5_RISING 0x08 | ||
3151 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_5_RISING_SHIFT 0x03 | ||
3152 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_5_FALLING 0x04 | ||
3153 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_5_FALLING_SHIFT 0x02 | ||
3154 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_4_RISING 0x02 | ||
3155 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_4_RISING_SHIFT 0x01 | ||
3156 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_4_FALLING 0x01 | ||
3157 | #define TPS65917_INT4_EDGE_DETECT2_GPIO_4_FALLING_SHIFT 0x00 | ||
3158 | |||
3159 | /* Bit definitions for INT_CTRL */ | ||
3160 | #define TPS65917_INT_CTRL_INT_PENDING 0x04 | ||
3161 | #define TPS65917_INT_CTRL_INT_PENDING_SHIFT 0x02 | ||
3162 | #define TPS65917_INT_CTRL_INT_CLEAR 0x01 | ||
3163 | #define TPS65917_INT_CTRL_INT_CLEAR_SHIFT 0x00 | ||
3164 | |||
3165 | /* TPS65917 SMPS Registers */ | ||
3166 | |||
3167 | /* Registers for function SMPS */ | ||
3168 | #define TPS65917_SMPS1_CTRL 0x00 | ||
3169 | #define TPS65917_SMPS1_FORCE 0x02 | ||
3170 | #define TPS65917_SMPS1_VOLTAGE 0x03 | ||
3171 | #define TPS65917_SMPS2_CTRL 0x04 | ||
3172 | #define TPS65917_SMPS2_FORCE 0x06 | ||
3173 | #define TPS65917_SMPS2_VOLTAGE 0x07 | ||
3174 | #define TPS65917_SMPS3_CTRL 0x0C | ||
3175 | #define TPS65917_SMPS3_FORCE 0x0E | ||
3176 | #define TPS65917_SMPS3_VOLTAGE 0x0F | ||
3177 | #define TPS65917_SMPS4_CTRL 0x10 | ||
3178 | #define TPS65917_SMPS4_VOLTAGE 0x13 | ||
3179 | #define TPS65917_SMPS5_CTRL 0x18 | ||
3180 | #define TPS65917_SMPS5_VOLTAGE 0x1B | ||
3181 | #define TPS65917_SMPS_CTRL 0x24 | ||
3182 | #define TPS65917_SMPS_PD_CTRL 0x25 | ||
3183 | #define TPS65917_SMPS_THERMAL_EN 0x27 | ||
3184 | #define TPS65917_SMPS_THERMAL_STATUS 0x28 | ||
3185 | #define TPS65917_SMPS_SHORT_STATUS 0x29 | ||
3186 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN 0x2A | ||
3187 | #define TPS65917_SMPS_POWERGOOD_MASK1 0x2B | ||
3188 | #define TPS65917_SMPS_POWERGOOD_MASK2 0x2C | ||
3189 | |||
3190 | /* Bit definitions for SMPS1_CTRL */ | ||
3191 | #define TPS65917_SMPS1_CTRL_WR_S 0x80 | ||
3192 | #define TPS65917_SMPS1_CTRL_WR_S_SHIFT 0x07 | ||
3193 | #define TPS65917_SMPS1_CTRL_ROOF_FLOOR_EN 0x40 | ||
3194 | #define TPS65917_SMPS1_CTRL_ROOF_FLOOR_EN_SHIFT 0x06 | ||
3195 | #define TPS65917_SMPS1_CTRL_STATUS_MASK 0x30 | ||
3196 | #define TPS65917_SMPS1_CTRL_STATUS_SHIFT 0x04 | ||
3197 | #define TPS65917_SMPS1_CTRL_MODE_SLEEP_MASK 0x0C | ||
3198 | #define TPS65917_SMPS1_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3199 | #define TPS65917_SMPS1_CTRL_MODE_ACTIVE_MASK 0x03 | ||
3200 | #define TPS65917_SMPS1_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3201 | |||
3202 | /* Bit definitions for SMPS1_FORCE */ | ||
3203 | #define TPS65917_SMPS1_FORCE_CMD 0x80 | ||
3204 | #define TPS65917_SMPS1_FORCE_CMD_SHIFT 0x07 | ||
3205 | #define TPS65917_SMPS1_FORCE_VSEL_MASK 0x7F | ||
3206 | #define TPS65917_SMPS1_FORCE_VSEL_SHIFT 0x00 | ||
3207 | |||
3208 | /* Bit definitions for SMPS1_VOLTAGE */ | ||
3209 | #define TPS65917_SMPS1_VOLTAGE_RANGE 0x80 | ||
3210 | #define TPS65917_SMPS1_VOLTAGE_RANGE_SHIFT 0x07 | ||
3211 | #define TPS65917_SMPS1_VOLTAGE_VSEL_MASK 0x7F | ||
3212 | #define TPS65917_SMPS1_VOLTAGE_VSEL_SHIFT 0x00 | ||
3213 | |||
3214 | /* Bit definitions for SMPS2_CTRL */ | ||
3215 | #define TPS65917_SMPS2_CTRL_WR_S 0x80 | ||
3216 | #define TPS65917_SMPS2_CTRL_WR_S_SHIFT 0x07 | ||
3217 | #define TPS65917_SMPS2_CTRL_ROOF_FLOOR_EN 0x40 | ||
3218 | #define TPS65917_SMPS2_CTRL_ROOF_FLOOR_EN_SHIFT 0x06 | ||
3219 | #define TPS65917_SMPS2_CTRL_STATUS_MASK 0x30 | ||
3220 | #define TPS65917_SMPS2_CTRL_STATUS_SHIFT 0x04 | ||
3221 | #define TPS65917_SMPS2_CTRL_MODE_SLEEP_MASK 0x0C | ||
3222 | #define TPS65917_SMPS2_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3223 | #define TPS65917_SMPS2_CTRL_MODE_ACTIVE_MASK 0x03 | ||
3224 | #define TPS65917_SMPS2_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3225 | |||
3226 | /* Bit definitions for SMPS2_FORCE */ | ||
3227 | #define TPS65917_SMPS2_FORCE_CMD 0x80 | ||
3228 | #define TPS65917_SMPS2_FORCE_CMD_SHIFT 0x07 | ||
3229 | #define TPS65917_SMPS2_FORCE_VSEL_MASK 0x7F | ||
3230 | #define TPS65917_SMPS2_FORCE_VSEL_SHIFT 0x00 | ||
3231 | |||
3232 | /* Bit definitions for SMPS2_VOLTAGE */ | ||
3233 | #define TPS65917_SMPS2_VOLTAGE_RANGE 0x80 | ||
3234 | #define TPS65917_SMPS2_VOLTAGE_RANGE_SHIFT 0x07 | ||
3235 | #define TPS65917_SMPS2_VOLTAGE_VSEL_MASK 0x7F | ||
3236 | #define TPS65917_SMPS2_VOLTAGE_VSEL_SHIFT 0x00 | ||
3237 | |||
3238 | /* Bit definitions for SMPS3_CTRL */ | ||
3239 | #define TPS65917_SMPS3_CTRL_WR_S 0x80 | ||
3240 | #define TPS65917_SMPS3_CTRL_WR_S_SHIFT 0x07 | ||
3241 | #define TPS65917_SMPS3_CTRL_ROOF_FLOOR_EN 0x40 | ||
3242 | #define TPS65917_SMPS3_CTRL_ROOF_FLOOR_EN_SHIFT 0x06 | ||
3243 | #define TPS65917_SMPS3_CTRL_STATUS_MASK 0x30 | ||
3244 | #define TPS65917_SMPS3_CTRL_STATUS_SHIFT 0x04 | ||
3245 | #define TPS65917_SMPS3_CTRL_MODE_SLEEP_MASK 0x0C | ||
3246 | #define TPS65917_SMPS3_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3247 | #define TPS65917_SMPS3_CTRL_MODE_ACTIVE_MASK 0x03 | ||
3248 | #define TPS65917_SMPS3_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3249 | |||
3250 | /* Bit definitions for SMPS3_FORCE */ | ||
3251 | #define TPS65917_SMPS3_FORCE_CMD 0x80 | ||
3252 | #define TPS65917_SMPS3_FORCE_CMD_SHIFT 0x07 | ||
3253 | #define TPS65917_SMPS3_FORCE_VSEL_MASK 0x7F | ||
3254 | #define TPS65917_SMPS3_FORCE_VSEL_SHIFT 0x00 | ||
3255 | |||
3256 | /* Bit definitions for SMPS3_VOLTAGE */ | ||
3257 | #define TPS65917_SMPS3_VOLTAGE_RANGE 0x80 | ||
3258 | #define TPS65917_SMPS3_VOLTAGE_RANGE_SHIFT 0x07 | ||
3259 | #define TPS65917_SMPS3_VOLTAGE_VSEL_MASK 0x7F | ||
3260 | #define TPS65917_SMPS3_VOLTAGE_VSEL_SHIFT 0x00 | ||
3261 | |||
3262 | /* Bit definitions for SMPS4_CTRL */ | ||
3263 | #define TPS65917_SMPS4_CTRL_WR_S 0x80 | ||
3264 | #define TPS65917_SMPS4_CTRL_WR_S_SHIFT 0x07 | ||
3265 | #define TPS65917_SMPS4_CTRL_ROOF_FLOOR_EN 0x40 | ||
3266 | #define TPS65917_SMPS4_CTRL_ROOF_FLOOR_EN_SHIFT 0x06 | ||
3267 | #define TPS65917_SMPS4_CTRL_STATUS_MASK 0x30 | ||
3268 | #define TPS65917_SMPS4_CTRL_STATUS_SHIFT 0x04 | ||
3269 | #define TPS65917_SMPS4_CTRL_MODE_SLEEP_MASK 0x0C | ||
3270 | #define TPS65917_SMPS4_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3271 | #define TPS65917_SMPS4_CTRL_MODE_ACTIVE_MASK 0x03 | ||
3272 | #define TPS65917_SMPS4_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3273 | |||
3274 | /* Bit definitions for SMPS4_VOLTAGE */ | ||
3275 | #define TPS65917_SMPS4_VOLTAGE_RANGE 0x80 | ||
3276 | #define TPS65917_SMPS4_VOLTAGE_RANGE_SHIFT 0x07 | ||
3277 | #define TPS65917_SMPS4_VOLTAGE_VSEL_MASK 0x7F | ||
3278 | #define TPS65917_SMPS4_VOLTAGE_VSEL_SHIFT 0x00 | ||
3279 | |||
3280 | /* Bit definitions for SMPS5_CTRL */ | ||
3281 | #define TPS65917_SMPS5_CTRL_WR_S 0x80 | ||
3282 | #define TPS65917_SMPS5_CTRL_WR_S_SHIFT 0x07 | ||
3283 | #define TPS65917_SMPS5_CTRL_ROOF_FLOOR_EN 0x40 | ||
3284 | #define TPS65917_SMPS5_CTRL_ROOF_FLOOR_EN_SHIFT 0x06 | ||
3285 | #define TPS65917_SMPS5_CTRL_STATUS_MASK 0x30 | ||
3286 | #define TPS65917_SMPS5_CTRL_STATUS_SHIFT 0x04 | ||
3287 | #define TPS65917_SMPS5_CTRL_MODE_SLEEP_MASK 0x0C | ||
3288 | #define TPS65917_SMPS5_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3289 | #define TPS65917_SMPS5_CTRL_MODE_ACTIVE_MASK 0x03 | ||
3290 | #define TPS65917_SMPS5_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3291 | |||
3292 | /* Bit definitions for SMPS5_VOLTAGE */ | ||
3293 | #define TPS65917_SMPS5_VOLTAGE_RANGE 0x80 | ||
3294 | #define TPS65917_SMPS5_VOLTAGE_RANGE_SHIFT 0x07 | ||
3295 | #define TPS65917_SMPS5_VOLTAGE_VSEL_MASK 0x7F | ||
3296 | #define TPS65917_SMPS5_VOLTAGE_VSEL_SHIFT 0x00 | ||
3297 | |||
3298 | /* Bit definitions for SMPS_CTRL */ | ||
3299 | #define TPS65917_SMPS_CTRL_SMPS1_SMPS12_EN 0x10 | ||
3300 | #define TPS65917_SMPS_CTRL_SMPS1_SMPS12_EN_SHIFT 0x04 | ||
3301 | #define TPS65917_SMPS_CTRL_SMPS12_PHASE_CTRL 0x03 | ||
3302 | #define TPS65917_SMPS_CTRL_SMPS12_PHASE_CTRL_SHIFT 0x00 | ||
3303 | |||
3304 | /* Bit definitions for SMPS_PD_CTRL */ | ||
3305 | #define TPS65917_SMPS_PD_CTRL_SMPS5 0x40 | ||
3306 | #define TPS65917_SMPS_PD_CTRL_SMPS5_SHIFT 0x06 | ||
3307 | #define TPS65917_SMPS_PD_CTRL_SMPS4 0x10 | ||
3308 | #define TPS65917_SMPS_PD_CTRL_SMPS4_SHIFT 0x04 | ||
3309 | #define TPS65917_SMPS_PD_CTRL_SMPS3 0x08 | ||
3310 | #define TPS65917_SMPS_PD_CTRL_SMPS3_SHIFT 0x03 | ||
3311 | #define TPS65917_SMPS_PD_CTRL_SMPS2 0x02 | ||
3312 | #define TPS65917_SMPS_PD_CTRL_SMPS2_SHIFT 0x01 | ||
3313 | #define TPS65917_SMPS_PD_CTRL_SMPS1 0x01 | ||
3314 | #define TPS65917_SMPS_PD_CTRL_SMPS1_SHIFT 0x00 | ||
3315 | |||
3316 | /* Bit definitions for SMPS_THERMAL_EN */ | ||
3317 | #define TPS65917_SMPS_THERMAL_EN_SMPS5 0x40 | ||
3318 | #define TPS65917_SMPS_THERMAL_EN_SMPS5_SHIFT 0x06 | ||
3319 | #define TPS65917_SMPS_THERMAL_EN_SMPS3 0x08 | ||
3320 | #define TPS65917_SMPS_THERMAL_EN_SMPS3_SHIFT 0x03 | ||
3321 | #define TPS65917_SMPS_THERMAL_EN_SMPS12 0x01 | ||
3322 | #define TPS65917_SMPS_THERMAL_EN_SMPS12_SHIFT 0x00 | ||
3323 | |||
3324 | /* Bit definitions for SMPS_THERMAL_STATUS */ | ||
3325 | #define TPS65917_SMPS_THERMAL_STATUS_SMPS5 0x40 | ||
3326 | #define TPS65917_SMPS_THERMAL_STATUS_SMPS5_SHIFT 0x06 | ||
3327 | #define TPS65917_SMPS_THERMAL_STATUS_SMPS3 0x08 | ||
3328 | #define TPS65917_SMPS_THERMAL_STATUS_SMPS3_SHIFT 0x03 | ||
3329 | #define TPS65917_SMPS_THERMAL_STATUS_SMPS12 0x01 | ||
3330 | #define TPS65917_SMPS_THERMAL_STATUS_SMPS12_SHIFT 0x00 | ||
3331 | |||
3332 | /* Bit definitions for SMPS_SHORT_STATUS */ | ||
3333 | #define TPS65917_SMPS_SHORT_STATUS_SMPS5 0x40 | ||
3334 | #define TPS65917_SMPS_SHORT_STATUS_SMPS5_SHIFT 0x06 | ||
3335 | #define TPS65917_SMPS_SHORT_STATUS_SMPS4 0x10 | ||
3336 | #define TPS65917_SMPS_SHORT_STATUS_SMPS4_SHIFT 0x04 | ||
3337 | #define TPS65917_SMPS_SHORT_STATUS_SMPS3 0x08 | ||
3338 | #define TPS65917_SMPS_SHORT_STATUS_SMPS3_SHIFT 0x03 | ||
3339 | #define TPS65917_SMPS_SHORT_STATUS_SMPS2 0x02 | ||
3340 | #define TPS65917_SMPS_SHORT_STATUS_SMPS2_SHIFT 0x01 | ||
3341 | #define TPS65917_SMPS_SHORT_STATUS_SMPS1 0x01 | ||
3342 | #define TPS65917_SMPS_SHORT_STATUS_SMPS1_SHIFT 0x00 | ||
3343 | |||
3344 | /* Bit definitions for SMPS_NEGATIVE_CURRENT_LIMIT_EN */ | ||
3345 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS5 0x40 | ||
3346 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS5_SHIFT 0x06 | ||
3347 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS4 0x10 | ||
3348 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS4_SHIFT 0x04 | ||
3349 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS3 0x08 | ||
3350 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS3_SHIFT 0x03 | ||
3351 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS2 0x02 | ||
3352 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS2_SHIFT 0x01 | ||
3353 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS1 0x01 | ||
3354 | #define TPS65917_SMPS_NEGATIVE_CURRENT_LIMIT_EN_SMPS1_SHIFT 0x00 | ||
3355 | |||
3356 | /* Bit definitions for SMPS_POWERGOOD_MASK1 */ | ||
3357 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS5 0x40 | ||
3358 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS5_SHIFT 0x06 | ||
3359 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS4 0x10 | ||
3360 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS4_SHIFT 0x04 | ||
3361 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS3 0x08 | ||
3362 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS3_SHIFT 0x03 | ||
3363 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS2 0x02 | ||
3364 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS2_SHIFT 0x01 | ||
3365 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS1 0x01 | ||
3366 | #define TPS65917_SMPS_POWERGOOD_MASK1_SMPS1_SHIFT 0x00 | ||
3367 | |||
3368 | /* Bit definitions for SMPS_POWERGOOD_MASK2 */ | ||
3369 | #define TPS65917_SMPS_POWERGOOD_MASK2_POWERGOOD_TYPE_SELECT 0x80 | ||
3370 | #define TPS65917_SMPS_POWERGOOD_MASK2_POWERGOOD_TYPE_SELECT_SHIFT 0x07 | ||
3371 | #define TPS65917_SMPS_POWERGOOD_MASK2_OVC_ALARM_SHIFT 0x10 | ||
3372 | #define TPS65917_SMPS_POWERGOOD_MASK2_OVC_ALARM 0x04 | ||
3373 | |||
3374 | /* Bit definitions for SMPS_PLL_CTRL */ | ||
3375 | |||
3376 | #define TPS65917_SMPS_PLL_CTRL_PLL_EN_PLL_BYPASS_SHIFT 0x08 | ||
3377 | #define TPS65917_SMPS_PLL_CTRL_PLL_PLL_EN_BYPASS 0x03 | ||
3378 | #define TPS65917_SMPS_PLL_CTRL_PLL_PLL_BYPASS_CLK_SHIFT 0x04 | ||
3379 | #define TPS65917_SMPS_PLL_CTRL_PLL_PLL_BYPASS_CLK 0x02 | ||
3380 | |||
3381 | /* Registers for function LDO */ | ||
3382 | #define TPS65917_LDO1_CTRL 0x00 | ||
3383 | #define TPS65917_LDO1_VOLTAGE 0x01 | ||
3384 | #define TPS65917_LDO2_CTRL 0x02 | ||
3385 | #define TPS65917_LDO2_VOLTAGE 0x03 | ||
3386 | #define TPS65917_LDO3_CTRL 0x04 | ||
3387 | #define TPS65917_LDO3_VOLTAGE 0x05 | ||
3388 | #define TPS65917_LDO4_CTRL 0x0E | ||
3389 | #define TPS65917_LDO4_VOLTAGE 0x0F | ||
3390 | #define TPS65917_LDO5_CTRL 0x12 | ||
3391 | #define TPS65917_LDO5_VOLTAGE 0x13 | ||
3392 | #define TPS65917_LDO_PD_CTRL1 0x1B | ||
3393 | #define TPS65917_LDO_PD_CTRL2 0x1C | ||
3394 | #define TPS65917_LDO_SHORT_STATUS1 0x1D | ||
3395 | #define TPS65917_LDO_SHORT_STATUS2 0x1E | ||
3396 | #define TPS65917_LDO_PD_CTRL3 0x2D | ||
3397 | #define TPS65917_LDO_SHORT_STATUS3 0x2E | ||
3398 | |||
3399 | /* Bit definitions for LDO1_CTRL */ | ||
3400 | #define TPS65917_LDO1_CTRL_WR_S 0x80 | ||
3401 | #define TPS65917_LDO1_CTRL_WR_S_SHIFT 0x07 | ||
3402 | #define TPS65917_LDO1_CTRL_BYPASS_EN 0x40 | ||
3403 | #define TPS65917_LDO1_CTRL_BYPASS_EN_SHIFT 0x06 | ||
3404 | #define TPS65917_LDO1_CTRL_STATUS 0x10 | ||
3405 | #define TPS65917_LDO1_CTRL_STATUS_SHIFT 0x04 | ||
3406 | #define TPS65917_LDO1_CTRL_MODE_SLEEP 0x04 | ||
3407 | #define TPS65917_LDO1_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3408 | #define TPS65917_LDO1_CTRL_MODE_ACTIVE 0x01 | ||
3409 | #define TPS65917_LDO1_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3410 | |||
3411 | /* Bit definitions for LDO1_VOLTAGE */ | ||
3412 | #define TPS65917_LDO1_VOLTAGE_VSEL_MASK 0x2F | ||
3413 | #define TPS65917_LDO1_VOLTAGE_VSEL_SHIFT 0x00 | ||
3414 | |||
3415 | /* Bit definitions for LDO2_CTRL */ | ||
3416 | #define TPS65917_LDO2_CTRL_WR_S 0x80 | ||
3417 | #define TPS65917_LDO2_CTRL_WR_S_SHIFT 0x07 | ||
3418 | #define TPS65917_LDO2_CTRL_BYPASS_EN 0x40 | ||
3419 | #define TPS65917_LDO2_CTRL_BYPASS_EN_SHIFT 0x06 | ||
3420 | #define TPS65917_LDO2_CTRL_STATUS 0x10 | ||
3421 | #define TPS65917_LDO2_CTRL_STATUS_SHIFT 0x04 | ||
3422 | #define TPS65917_LDO2_CTRL_MODE_SLEEP 0x04 | ||
3423 | #define TPS65917_LDO2_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3424 | #define TPS65917_LDO2_CTRL_MODE_ACTIVE 0x01 | ||
3425 | #define TPS65917_LDO2_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3426 | |||
3427 | /* Bit definitions for LDO2_VOLTAGE */ | ||
3428 | #define TPS65917_LDO2_VOLTAGE_VSEL_MASK 0x2F | ||
3429 | #define TPS65917_LDO2_VOLTAGE_VSEL_SHIFT 0x00 | ||
3430 | |||
3431 | /* Bit definitions for LDO3_CTRL */ | ||
3432 | #define TPS65917_LDO3_CTRL_WR_S 0x80 | ||
3433 | #define TPS65917_LDO3_CTRL_WR_S_SHIFT 0x07 | ||
3434 | #define TPS65917_LDO3_CTRL_STATUS 0x10 | ||
3435 | #define TPS65917_LDO3_CTRL_STATUS_SHIFT 0x04 | ||
3436 | #define TPS65917_LDO3_CTRL_MODE_SLEEP 0x04 | ||
3437 | #define TPS65917_LDO3_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3438 | #define TPS65917_LDO3_CTRL_MODE_ACTIVE 0x01 | ||
3439 | #define TPS65917_LDO3_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3440 | |||
3441 | /* Bit definitions for LDO3_VOLTAGE */ | ||
3442 | #define TPS65917_LDO3_VOLTAGE_VSEL_MASK 0x2F | ||
3443 | #define TPS65917_LDO3_VOLTAGE_VSEL_SHIFT 0x00 | ||
3444 | |||
3445 | /* Bit definitions for LDO4_CTRL */ | ||
3446 | #define TPS65917_LDO4_CTRL_WR_S 0x80 | ||
3447 | #define TPS65917_LDO4_CTRL_WR_S_SHIFT 0x07 | ||
3448 | #define TPS65917_LDO4_CTRL_STATUS 0x10 | ||
3449 | #define TPS65917_LDO4_CTRL_STATUS_SHIFT 0x04 | ||
3450 | #define TPS65917_LDO4_CTRL_MODE_SLEEP 0x04 | ||
3451 | #define TPS65917_LDO4_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3452 | #define TPS65917_LDO4_CTRL_MODE_ACTIVE 0x01 | ||
3453 | #define TPS65917_LDO4_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3454 | |||
3455 | /* Bit definitions for LDO4_VOLTAGE */ | ||
3456 | #define TPS65917_LDO4_VOLTAGE_VSEL_MASK 0x2F | ||
3457 | #define TPS65917_LDO4_VOLTAGE_VSEL_SHIFT 0x00 | ||
3458 | |||
3459 | /* Bit definitions for LDO5_CTRL */ | ||
3460 | #define TPS65917_LDO5_CTRL_WR_S 0x80 | ||
3461 | #define TPS65917_LDO5_CTRL_WR_S_SHIFT 0x07 | ||
3462 | #define TPS65917_LDO5_CTRL_STATUS 0x10 | ||
3463 | #define TPS65917_LDO5_CTRL_STATUS_SHIFT 0x04 | ||
3464 | #define TPS65917_LDO5_CTRL_MODE_SLEEP 0x04 | ||
3465 | #define TPS65917_LDO5_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3466 | #define TPS65917_LDO5_CTRL_MODE_ACTIVE 0x01 | ||
3467 | #define TPS65917_LDO5_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3468 | |||
3469 | /* Bit definitions for LDO5_VOLTAGE */ | ||
3470 | #define TPS65917_LDO5_VOLTAGE_VSEL_MASK 0x2F | ||
3471 | #define TPS65917_LDO5_VOLTAGE_VSEL_SHIFT 0x00 | ||
3472 | |||
3473 | /* Bit definitions for LDO_PD_CTRL1 */ | ||
3474 | #define TPS65917_LDO_PD_CTRL1_LDO4 0x80 | ||
3475 | #define TPS65917_LDO_PD_CTRL1_LDO4_SHIFT 0x07 | ||
3476 | #define TPS65917_LDO_PD_CTRL1_LDO2 0x02 | ||
3477 | #define TPS65917_LDO_PD_CTRL1_LDO2_SHIFT 0x01 | ||
3478 | #define TPS65917_LDO_PD_CTRL1_LDO1 0x01 | ||
3479 | #define TPS65917_LDO_PD_CTRL1_LDO1_SHIFT 0x00 | ||
3480 | |||
3481 | /* Bit definitions for LDO_PD_CTRL2 */ | ||
3482 | #define TPS65917_LDO_PD_CTRL2_LDO3 0x04 | ||
3483 | #define TPS65917_LDO_PD_CTRL2_LDO3_SHIFT 0x02 | ||
3484 | #define TPS65917_LDO_PD_CTRL2_LDO5 0x02 | ||
3485 | #define TPS65917_LDO_PD_CTRL2_LDO5_SHIFT 0x01 | ||
3486 | |||
3487 | /* Bit definitions for LDO_PD_CTRL3 */ | ||
3488 | #define TPS65917_LDO_PD_CTRL2_LDOVANA 0x80 | ||
3489 | #define TPS65917_LDO_PD_CTRL2_LDOVANA_SHIFT 0x07 | ||
3490 | |||
3491 | /* Bit definitions for LDO_SHORT_STATUS1 */ | ||
3492 | #define TPS65917_LDO_SHORT_STATUS1_LDO4 0x80 | ||
3493 | #define TPS65917_LDO_SHORT_STATUS1_LDO4_SHIFT 0x07 | ||
3494 | #define TPS65917_LDO_SHORT_STATUS1_LDO2 0x02 | ||
3495 | #define TPS65917_LDO_SHORT_STATUS1_LDO2_SHIFT 0x01 | ||
3496 | #define TPS65917_LDO_SHORT_STATUS1_LDO1 0x01 | ||
3497 | #define TPS65917_LDO_SHORT_STATUS1_LDO1_SHIFT 0x00 | ||
3498 | |||
3499 | /* Bit definitions for LDO_SHORT_STATUS2 */ | ||
3500 | #define TPS65917_LDO_SHORT_STATUS2_LDO3 0x04 | ||
3501 | #define TPS65917_LDO_SHORT_STATUS2_LDO3_SHIFT 0x02 | ||
3502 | #define TPS65917_LDO_SHORT_STATUS2_LDO5 0x02 | ||
3503 | #define TPS65917_LDO_SHORT_STATUS2_LDO5_SHIFT 0x01 | ||
3504 | |||
3505 | /* Bit definitions for LDO_SHORT_STATUS2 */ | ||
3506 | #define TPS65917_LDO_SHORT_STATUS2_LDOVANA 0x80 | ||
3507 | #define TPS65917_LDO_SHORT_STATUS2_LDOVANA_SHIFT 0x07 | ||
3508 | |||
3509 | /* Bit definitions for REGEN1_CTRL */ | ||
3510 | #define TPS65917_REGEN1_CTRL_STATUS 0x10 | ||
3511 | #define TPS65917_REGEN1_CTRL_STATUS_SHIFT 0x04 | ||
3512 | #define TPS65917_REGEN1_CTRL_MODE_SLEEP 0x04 | ||
3513 | #define TPS65917_REGEN1_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3514 | #define TPS65917_REGEN1_CTRL_MODE_ACTIVE 0x01 | ||
3515 | #define TPS65917_REGEN1_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3516 | |||
3517 | /* Bit definitions for PLLEN_CTRL */ | ||
3518 | #define TPS65917_PLLEN_CTRL_STATUS 0x10 | ||
3519 | #define TPS65917_PLLEN_CTRL_STATUS_SHIFT 0x04 | ||
3520 | #define TPS65917_PLLEN_CTRL_MODE_SLEEP 0x04 | ||
3521 | #define TPS65917_PLLEN_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3522 | #define TPS65917_PLLEN_CTRL_MODE_ACTIVE 0x01 | ||
3523 | #define TPS65917_PLLEN_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3524 | |||
3525 | /* Bit definitions for REGEN2_CTRL */ | ||
3526 | #define TPS65917_REGEN2_CTRL_STATUS 0x10 | ||
3527 | #define TPS65917_REGEN2_CTRL_STATUS_SHIFT 0x04 | ||
3528 | #define TPS65917_REGEN2_CTRL_MODE_SLEEP 0x04 | ||
3529 | #define TPS65917_REGEN2_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3530 | #define TPS65917_REGEN2_CTRL_MODE_ACTIVE 0x01 | ||
3531 | #define TPS65917_REGEN2_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3532 | |||
3533 | /* Bit definitions for NSLEEP_RES_ASSIGN */ | ||
3534 | #define TPS65917_NSLEEP_RES_ASSIGN_PLL_EN 0x08 | ||
3535 | #define TPS65917_NSLEEP_RES_ASSIGN_PLL_EN_SHIFT 0x03 | ||
3536 | #define TPS65917_NSLEEP_RES_ASSIGN_REGEN3 0x04 | ||
3537 | #define TPS65917_NSLEEP_RES_ASSIGN_REGEN3_SHIFT 0x02 | ||
3538 | #define TPS65917_NSLEEP_RES_ASSIGN_REGEN2 0x02 | ||
3539 | #define TPS65917_NSLEEP_RES_ASSIGN_REGEN2_SHIFT 0x01 | ||
3540 | #define TPS65917_NSLEEP_RES_ASSIGN_REGEN1 0x01 | ||
3541 | #define TPS65917_NSLEEP_RES_ASSIGN_REGEN1_SHIFT 0x00 | ||
3542 | |||
3543 | /* Bit definitions for NSLEEP_SMPS_ASSIGN */ | ||
3544 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS5 0x40 | ||
3545 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS5_SHIFT 0x06 | ||
3546 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS4 0x10 | ||
3547 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS4_SHIFT 0x04 | ||
3548 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS3 0x08 | ||
3549 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS3_SHIFT 0x03 | ||
3550 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS2 0x02 | ||
3551 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS2_SHIFT 0x01 | ||
3552 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS1 0x01 | ||
3553 | #define TPS65917_NSLEEP_SMPS_ASSIGN_SMPS1_SHIFT 0x00 | ||
3554 | |||
3555 | /* Bit definitions for NSLEEP_LDO_ASSIGN1 */ | ||
3556 | #define TPS65917_NSLEEP_LDO_ASSIGN1_LDO4 0x80 | ||
3557 | #define TPS65917_NSLEEP_LDO_ASSIGN1_LDO4_SHIFT 0x07 | ||
3558 | #define TPS65917_NSLEEP_LDO_ASSIGN1_LDO2 0x02 | ||
3559 | #define TPS65917_NSLEEP_LDO_ASSIGN1_LDO2_SHIFT 0x01 | ||
3560 | #define TPS65917_NSLEEP_LDO_ASSIGN1_LDO1 0x01 | ||
3561 | #define TPS65917_NSLEEP_LDO_ASSIGN1_LDO1_SHIFT 0x00 | ||
3562 | |||
3563 | /* Bit definitions for NSLEEP_LDO_ASSIGN2 */ | ||
3564 | #define TPS65917_NSLEEP_LDO_ASSIGN2_LDO3 0x04 | ||
3565 | #define TPS65917_NSLEEP_LDO_ASSIGN2_LDO3_SHIFT 0x02 | ||
3566 | #define TPS65917_NSLEEP_LDO_ASSIGN2_LDO5 0x02 | ||
3567 | #define TPS65917_NSLEEP_LDO_ASSIGN2_LDO5_SHIFT 0x01 | ||
3568 | |||
3569 | /* Bit definitions for ENABLE1_RES_ASSIGN */ | ||
3570 | #define TPS65917_ENABLE1_RES_ASSIGN_PLLEN 0x08 | ||
3571 | #define TPS65917_ENABLE1_RES_ASSIGN_PLLEN_SHIFT 0x03 | ||
3572 | #define TPS65917_ENABLE1_RES_ASSIGN_REGEN3 0x04 | ||
3573 | #define TPS65917_ENABLE1_RES_ASSIGN_REGEN3_SHIFT 0x02 | ||
3574 | #define TPS65917_ENABLE1_RES_ASSIGN_REGEN2 0x02 | ||
3575 | #define TPS65917_ENABLE1_RES_ASSIGN_REGEN2_SHIFT 0x01 | ||
3576 | #define TPS65917_ENABLE1_RES_ASSIGN_REGEN1 0x01 | ||
3577 | #define TPS65917_ENABLE1_RES_ASSIGN_REGEN1_SHIFT 0x00 | ||
3578 | |||
3579 | /* Bit definitions for ENABLE1_SMPS_ASSIGN */ | ||
3580 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS5 0x40 | ||
3581 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS5_SHIFT 0x06 | ||
3582 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS4 0x10 | ||
3583 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS4_SHIFT 0x04 | ||
3584 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS3 0x08 | ||
3585 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS3_SHIFT 0x03 | ||
3586 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS2 0x02 | ||
3587 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS2_SHIFT 0x01 | ||
3588 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS1 0x01 | ||
3589 | #define TPS65917_ENABLE1_SMPS_ASSIGN_SMPS1_SHIFT 0x00 | ||
3590 | |||
3591 | /* Bit definitions for ENABLE1_LDO_ASSIGN1 */ | ||
3592 | #define TPS65917_ENABLE1_LDO_ASSIGN1_LDO4 0x80 | ||
3593 | #define TPS65917_ENABLE1_LDO_ASSIGN1_LDO4_SHIFT 0x07 | ||
3594 | #define TPS65917_ENABLE1_LDO_ASSIGN1_LDO2 0x02 | ||
3595 | #define TPS65917_ENABLE1_LDO_ASSIGN1_LDO2_SHIFT 0x01 | ||
3596 | #define TPS65917_ENABLE1_LDO_ASSIGN1_LDO1 0x01 | ||
3597 | #define TPS65917_ENABLE1_LDO_ASSIGN1_LDO1_SHIFT 0x00 | ||
3598 | |||
3599 | /* Bit definitions for ENABLE1_LDO_ASSIGN2 */ | ||
3600 | #define TPS65917_ENABLE1_LDO_ASSIGN2_LDO3 0x04 | ||
3601 | #define TPS65917_ENABLE1_LDO_ASSIGN2_LDO3_SHIFT 0x02 | ||
3602 | #define TPS65917_ENABLE1_LDO_ASSIGN2_LDO5 0x02 | ||
3603 | #define TPS65917_ENABLE1_LDO_ASSIGN2_LDO5_SHIFT 0x01 | ||
3604 | |||
3605 | /* Bit definitions for ENABLE2_RES_ASSIGN */ | ||
3606 | #define TPS65917_ENABLE2_RES_ASSIGN_PLLEN 0x08 | ||
3607 | #define TPS65917_ENABLE2_RES_ASSIGN_PLLEN_SHIFT 0x03 | ||
3608 | #define TPS65917_ENABLE2_RES_ASSIGN_REGEN3 0x04 | ||
3609 | #define TPS65917_ENABLE2_RES_ASSIGN_REGEN3_SHIFT 0x02 | ||
3610 | #define TPS65917_ENABLE2_RES_ASSIGN_REGEN2 0x02 | ||
3611 | #define TPS65917_ENABLE2_RES_ASSIGN_REGEN2_SHIFT 0x01 | ||
3612 | #define TPS65917_ENABLE2_RES_ASSIGN_REGEN1 0x01 | ||
3613 | #define TPS65917_ENABLE2_RES_ASSIGN_REGEN1_SHIFT 0x00 | ||
3614 | |||
3615 | /* Bit definitions for ENABLE2_SMPS_ASSIGN */ | ||
3616 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS5 0x40 | ||
3617 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS5_SHIFT 0x06 | ||
3618 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS4 0x10 | ||
3619 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS4_SHIFT 0x04 | ||
3620 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS3 0x08 | ||
3621 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS3_SHIFT 0x03 | ||
3622 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS2 0x02 | ||
3623 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS2_SHIFT 0x01 | ||
3624 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS1 0x01 | ||
3625 | #define TPS65917_ENABLE2_SMPS_ASSIGN_SMPS1_SHIFT 0x00 | ||
3626 | |||
3627 | /* Bit definitions for ENABLE2_LDO_ASSIGN1 */ | ||
3628 | #define TPS65917_ENABLE2_LDO_ASSIGN1_LDO4 0x80 | ||
3629 | #define TPS65917_ENABLE2_LDO_ASSIGN1_LDO4_SHIFT 0x07 | ||
3630 | #define TPS65917_ENABLE2_LDO_ASSIGN1_LDO2 0x02 | ||
3631 | #define TPS65917_ENABLE2_LDO_ASSIGN1_LDO2_SHIFT 0x01 | ||
3632 | #define TPS65917_ENABLE2_LDO_ASSIGN1_LDO1 0x01 | ||
3633 | #define TPS65917_ENABLE2_LDO_ASSIGN1_LDO1_SHIFT 0x00 | ||
3634 | |||
3635 | /* Bit definitions for ENABLE2_LDO_ASSIGN2 */ | ||
3636 | #define TPS65917_ENABLE2_LDO_ASSIGN2_LDO3 0x04 | ||
3637 | #define TPS65917_ENABLE2_LDO_ASSIGN2_LDO3_SHIFT 0x02 | ||
3638 | #define TPS65917_ENABLE2_LDO_ASSIGN2_LDO5 0x02 | ||
3639 | #define TPS65917_ENABLE2_LDO_ASSIGN2_LDO5_SHIFT 0x01 | ||
3640 | |||
3641 | /* Bit definitions for REGEN3_CTRL */ | ||
3642 | #define TPS65917_REGEN3_CTRL_STATUS 0x10 | ||
3643 | #define TPS65917_REGEN3_CTRL_STATUS_SHIFT 0x04 | ||
3644 | #define TPS65917_REGEN3_CTRL_MODE_SLEEP 0x04 | ||
3645 | #define TPS65917_REGEN3_CTRL_MODE_SLEEP_SHIFT 0x02 | ||
3646 | #define TPS65917_REGEN3_CTRL_MODE_ACTIVE 0x01 | ||
3647 | #define TPS65917_REGEN3_CTRL_MODE_ACTIVE_SHIFT 0x00 | ||
3648 | |||
3649 | /* Registers for function RESOURCE */ | ||
3650 | #define TPS65917_REGEN1_CTRL 0x2 | ||
3651 | #define TPS65917_PLLEN_CTRL 0x3 | ||
3652 | #define TPS65917_NSLEEP_RES_ASSIGN 0x6 | ||
3653 | #define TPS65917_NSLEEP_SMPS_ASSIGN 0x7 | ||
3654 | #define TPS65917_NSLEEP_LDO_ASSIGN1 0x8 | ||
3655 | #define TPS65917_NSLEEP_LDO_ASSIGN2 0x9 | ||
3656 | #define TPS65917_ENABLE1_RES_ASSIGN 0xA | ||
3657 | #define TPS65917_ENABLE1_SMPS_ASSIGN 0xB | ||
3658 | #define TPS65917_ENABLE1_LDO_ASSIGN1 0xC | ||
3659 | #define TPS65917_ENABLE1_LDO_ASSIGN2 0xD | ||
3660 | #define TPS65917_ENABLE2_RES_ASSIGN 0xE | ||
3661 | #define TPS65917_ENABLE2_SMPS_ASSIGN 0xF | ||
3662 | #define TPS65917_ENABLE2_LDO_ASSIGN1 0x10 | ||
3663 | #define TPS65917_ENABLE2_LDO_ASSIGN2 0x11 | ||
3664 | #define TPS65917_REGEN2_CTRL 0x12 | ||
3665 | #define TPS65917_REGEN3_CTRL 0x13 | ||
3666 | |||
2874 | static inline int palmas_read(struct palmas *palmas, unsigned int base, | 3667 | static inline int palmas_read(struct palmas *palmas, unsigned int base, |
2875 | unsigned int reg, unsigned int *val) | 3668 | unsigned int reg, unsigned int *val) |
2876 | { | 3669 | { |