aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeerthy <j-keerthy@ti.com>2014-06-18 05:58:54 -0400
committerMark Brown <broonie@linaro.org>2014-06-23 07:30:56 -0400
commit027d7c2a26ad637f14c72f401dd8da0bb6df20c8 (patch)
tree0b5f5e99c156ef2855705a75c9119a540255eac7
parent9b9fb42070bc6954f8e1cee5652fc0b35adae63c (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.h793
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
189enum 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 */
188enum { 211enum {
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
254enum 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
231struct palmas_pmic_platform_data { 272struct 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 */
394enum 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 */
353enum palmas_irqs { 436enum 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
2874static inline int palmas_read(struct palmas *palmas, unsigned int base, 3667static 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{