Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * tps65910.h  --  TI TPS6591x
0004  *
0005  * Copyright 2010-2011 Texas Instruments Inc.
0006  *
0007  * Author: Graeme Gregory <gg@slimlogic.co.uk>
0008  * Author: Jorge Eduardo Candelaria <jedu@slimlogic.co.uk>
0009  * Author: Arnaud Deconinck <a-deconinck@ti.com>
0010  */
0011 
0012 #ifndef __LINUX_MFD_TPS65910_H
0013 #define __LINUX_MFD_TPS65910_H
0014 
0015 #include <linux/gpio.h>
0016 #include <linux/regmap.h>
0017 
0018 /* TPS chip id list */
0019 #define TPS65910            0
0020 #define TPS65911            1
0021 
0022 /* TPS regulator type list */
0023 #define REGULATOR_LDO           0
0024 #define REGULATOR_DCDC          1
0025 
0026 /*
0027  * List of registers for component TPS65910
0028  *
0029  */
0030 
0031 #define TPS65910_SECONDS                0x0
0032 #define TPS65910_MINUTES                0x1
0033 #define TPS65910_HOURS                  0x2
0034 #define TPS65910_DAYS                   0x3
0035 #define TPS65910_MONTHS                 0x4
0036 #define TPS65910_YEARS                  0x5
0037 #define TPS65910_WEEKS                  0x6
0038 #define TPS65910_ALARM_SECONDS              0x8
0039 #define TPS65910_ALARM_MINUTES              0x9
0040 #define TPS65910_ALARM_HOURS                0xA
0041 #define TPS65910_ALARM_DAYS             0xB
0042 #define TPS65910_ALARM_MONTHS               0xC
0043 #define TPS65910_ALARM_YEARS                0xD
0044 #define TPS65910_RTC_CTRL               0x10
0045 #define TPS65910_RTC_STATUS             0x11
0046 #define TPS65910_RTC_INTERRUPTS             0x12
0047 #define TPS65910_RTC_COMP_LSB               0x13
0048 #define TPS65910_RTC_COMP_MSB               0x14
0049 #define TPS65910_RTC_RES_PROG               0x15
0050 #define TPS65910_RTC_RESET_STATUS           0x16
0051 #define TPS65910_BCK1                   0x17
0052 #define TPS65910_BCK2                   0x18
0053 #define TPS65910_BCK3                   0x19
0054 #define TPS65910_BCK4                   0x1A
0055 #define TPS65910_BCK5                   0x1B
0056 #define TPS65910_PUADEN                 0x1C
0057 #define TPS65910_REF                    0x1D
0058 #define TPS65910_VRTC                   0x1E
0059 #define TPS65910_VIO                    0x20
0060 #define TPS65910_VDD1                   0x21
0061 #define TPS65910_VDD1_OP                0x22
0062 #define TPS65910_VDD1_SR                0x23
0063 #define TPS65910_VDD2                   0x24
0064 #define TPS65910_VDD2_OP                0x25
0065 #define TPS65910_VDD2_SR                0x26
0066 #define TPS65910_VDD3                   0x27
0067 #define TPS65910_VDIG1                  0x30
0068 #define TPS65910_VDIG2                  0x31
0069 #define TPS65910_VAUX1                  0x32
0070 #define TPS65910_VAUX2                  0x33
0071 #define TPS65910_VAUX33                 0x34
0072 #define TPS65910_VMMC                   0x35
0073 #define TPS65910_VPLL                   0x36
0074 #define TPS65910_VDAC                   0x37
0075 #define TPS65910_THERM                  0x38
0076 #define TPS65910_BBCH                   0x39
0077 #define TPS65910_DCDCCTRL               0x3E
0078 #define TPS65910_DEVCTRL                0x3F
0079 #define TPS65910_DEVCTRL2               0x40
0080 #define TPS65910_SLEEP_KEEP_LDO_ON          0x41
0081 #define TPS65910_SLEEP_KEEP_RES_ON          0x42
0082 #define TPS65910_SLEEP_SET_LDO_OFF          0x43
0083 #define TPS65910_SLEEP_SET_RES_OFF          0x44
0084 #define TPS65910_EN1_LDO_ASS                0x45
0085 #define TPS65910_EN1_SMPS_ASS               0x46
0086 #define TPS65910_EN2_LDO_ASS                0x47
0087 #define TPS65910_EN2_SMPS_ASS               0x48
0088 #define TPS65910_EN3_LDO_ASS                0x49
0089 #define TPS65910_SPARE                  0x4A
0090 #define TPS65910_INT_STS                0x50
0091 #define TPS65910_INT_MSK                0x51
0092 #define TPS65910_INT_STS2               0x52
0093 #define TPS65910_INT_MSK2               0x53
0094 #define TPS65910_INT_STS3               0x54
0095 #define TPS65910_INT_MSK3               0x55
0096 #define TPS65910_GPIO0                  0x60
0097 #define TPS65910_GPIO1                  0x61
0098 #define TPS65910_GPIO2                  0x62
0099 #define TPS65910_GPIO3                  0x63
0100 #define TPS65910_GPIO4                  0x64
0101 #define TPS65910_GPIO5                  0x65
0102 #define TPS65910_GPIO6                  0x66
0103 #define TPS65910_GPIO7                  0x67
0104 #define TPS65910_GPIO8                  0x68
0105 #define TPS65910_JTAGVERNUM             0x80
0106 #define TPS65910_MAX_REGISTER               0x80
0107 
0108 /*
0109  * List of registers specific to TPS65911
0110  */
0111 #define TPS65911_VDDCTRL                0x27
0112 #define TPS65911_VDDCTRL_OP             0x28
0113 #define TPS65911_VDDCTRL_SR             0x29
0114 #define TPS65911_LDO1                   0x30
0115 #define TPS65911_LDO2                   0x31
0116 #define TPS65911_LDO5                   0x32
0117 #define TPS65911_LDO8                   0x33
0118 #define TPS65911_LDO7                   0x34
0119 #define TPS65911_LDO6                   0x35
0120 #define TPS65911_LDO4                   0x36
0121 #define TPS65911_LDO3                   0x37
0122 #define TPS65911_VMBCH                  0x6A
0123 #define TPS65911_VMBCH2                 0x6B
0124 
0125 /*
0126  * List of register bitfields for component TPS65910
0127  *
0128  */
0129 
0130 /* RTC_CTRL_REG bitfields */
0131 #define TPS65910_RTC_CTRL_STOP_RTC          0x01 /*0=stop, 1=run */
0132 #define TPS65910_RTC_CTRL_AUTO_COMP         0x04
0133 #define TPS65910_RTC_CTRL_GET_TIME          0x40
0134 
0135 /* RTC_STATUS_REG bitfields */
0136 #define TPS65910_RTC_STATUS_ALARM               0x40
0137 
0138 /* RTC_INTERRUPTS_REG bitfields */
0139 #define TPS65910_RTC_INTERRUPTS_EVERY           0x03
0140 #define TPS65910_RTC_INTERRUPTS_IT_ALARM        0x08
0141 
0142 /*Register BCK1  (0x80) register.RegisterDescription */
0143 #define BCK1_BCKUP_MASK                 0xFF
0144 #define BCK1_BCKUP_SHIFT                0
0145 
0146 
0147 /*Register BCK2  (0x80) register.RegisterDescription */
0148 #define BCK2_BCKUP_MASK                 0xFF
0149 #define BCK2_BCKUP_SHIFT                0
0150 
0151 
0152 /*Register BCK3  (0x80) register.RegisterDescription */
0153 #define BCK3_BCKUP_MASK                 0xFF
0154 #define BCK3_BCKUP_SHIFT                0
0155 
0156 
0157 /*Register BCK4  (0x80) register.RegisterDescription */
0158 #define BCK4_BCKUP_MASK                 0xFF
0159 #define BCK4_BCKUP_SHIFT                0
0160 
0161 
0162 /*Register BCK5  (0x80) register.RegisterDescription */
0163 #define BCK5_BCKUP_MASK                 0xFF
0164 #define BCK5_BCKUP_SHIFT                0
0165 
0166 
0167 /*Register PUADEN  (0x80) register.RegisterDescription */
0168 #define PUADEN_EN3P_MASK                0x80
0169 #define PUADEN_EN3P_SHIFT               7
0170 #define PUADEN_I2CCTLP_MASK             0x40
0171 #define PUADEN_I2CCTLP_SHIFT                6
0172 #define PUADEN_I2CSRP_MASK              0x20
0173 #define PUADEN_I2CSRP_SHIFT             5
0174 #define PUADEN_PWRONP_MASK              0x10
0175 #define PUADEN_PWRONP_SHIFT             4
0176 #define PUADEN_SLEEPP_MASK              0x08
0177 #define PUADEN_SLEEPP_SHIFT             3
0178 #define PUADEN_PWRHOLDP_MASK                0x04
0179 #define PUADEN_PWRHOLDP_SHIFT               2
0180 #define PUADEN_BOOT1P_MASK              0x02
0181 #define PUADEN_BOOT1P_SHIFT             1
0182 #define PUADEN_BOOT0P_MASK              0x01
0183 #define PUADEN_BOOT0P_SHIFT             0
0184 
0185 
0186 /*Register REF  (0x80) register.RegisterDescription */
0187 #define REF_VMBCH_SEL_MASK              0x0C
0188 #define REF_VMBCH_SEL_SHIFT             2
0189 #define REF_ST_MASK                 0x03
0190 #define REF_ST_SHIFT                    0
0191 
0192 
0193 /*Register VRTC  (0x80) register.RegisterDescription */
0194 #define VRTC_VRTC_OFFMASK_MASK              0x08
0195 #define VRTC_VRTC_OFFMASK_SHIFT             3
0196 #define VRTC_ST_MASK                    0x03
0197 #define VRTC_ST_SHIFT                   0
0198 
0199 
0200 /*Register VIO  (0x80) register.RegisterDescription */
0201 #define VIO_ILMAX_MASK                  0xC0
0202 #define VIO_ILMAX_SHIFT                 6
0203 #define VIO_SEL_MASK                    0x0C
0204 #define VIO_SEL_SHIFT                   2
0205 #define VIO_ST_MASK                 0x03
0206 #define VIO_ST_SHIFT                    0
0207 
0208 
0209 /*Register VDD1  (0x80) register.RegisterDescription */
0210 #define VDD1_VGAIN_SEL_MASK             0xC0
0211 #define VDD1_VGAIN_SEL_SHIFT                6
0212 #define VDD1_ILMAX_MASK                 0x20
0213 #define VDD1_ILMAX_SHIFT                5
0214 #define VDD1_TSTEP_MASK                 0x1C
0215 #define VDD1_TSTEP_SHIFT                2
0216 #define VDD1_ST_MASK                    0x03
0217 #define VDD1_ST_SHIFT                   0
0218 
0219 
0220 /*Register VDD1_OP  (0x80) register.RegisterDescription */
0221 #define VDD1_OP_CMD_MASK                0x80
0222 #define VDD1_OP_CMD_SHIFT               7
0223 #define VDD1_OP_SEL_MASK                0x7F
0224 #define VDD1_OP_SEL_SHIFT               0
0225 
0226 
0227 /*Register VDD1_SR  (0x80) register.RegisterDescription */
0228 #define VDD1_SR_SEL_MASK                0x7F
0229 #define VDD1_SR_SEL_SHIFT               0
0230 
0231 
0232 /*Register VDD2  (0x80) register.RegisterDescription */
0233 #define VDD2_VGAIN_SEL_MASK             0xC0
0234 #define VDD2_VGAIN_SEL_SHIFT                6
0235 #define VDD2_ILMAX_MASK                 0x20
0236 #define VDD2_ILMAX_SHIFT                5
0237 #define VDD2_TSTEP_MASK                 0x1C
0238 #define VDD2_TSTEP_SHIFT                2
0239 #define VDD2_ST_MASK                    0x03
0240 #define VDD2_ST_SHIFT                   0
0241 
0242 
0243 /*Register VDD2_OP  (0x80) register.RegisterDescription */
0244 #define VDD2_OP_CMD_MASK                0x80
0245 #define VDD2_OP_CMD_SHIFT               7
0246 #define VDD2_OP_SEL_MASK                0x7F
0247 #define VDD2_OP_SEL_SHIFT               0
0248 
0249 /*Register VDD2_SR  (0x80) register.RegisterDescription */
0250 #define VDD2_SR_SEL_MASK                0x7F
0251 #define VDD2_SR_SEL_SHIFT               0
0252 
0253 
0254 /*Registers VDD1, VDD2 voltage values definitions */
0255 #define VDD1_2_NUM_VOLT_FINE                73
0256 #define VDD1_2_NUM_VOLT_COARSE              3
0257 #define VDD1_2_MIN_VOLT                 6000
0258 #define VDD1_2_OFFSET                   125
0259 
0260 
0261 /*Register VDD3  (0x80) register.RegisterDescription */
0262 #define VDD3_CKINEN_MASK                0x04
0263 #define VDD3_CKINEN_SHIFT               2
0264 #define VDD3_ST_MASK                    0x03
0265 #define VDD3_ST_SHIFT                   0
0266 #define VDDCTRL_MIN_VOLT                6000
0267 #define VDDCTRL_OFFSET                  125
0268 
0269 /*Registers VDIG (0x80) to VDAC register.RegisterDescription */
0270 #define LDO_SEL_MASK                    0x0C
0271 #define LDO_SEL_SHIFT                   2
0272 #define LDO_ST_MASK                 0x03
0273 #define LDO_ST_SHIFT                    0
0274 #define LDO_ST_ON_BIT                   0x01
0275 #define LDO_ST_MODE_BIT                 0x02    
0276 
0277 
0278 /* Registers LDO1 to LDO8 in tps65910 */
0279 #define LDO1_SEL_MASK                   0xFC
0280 #define LDO3_SEL_MASK                   0x7C
0281 #define LDO_MIN_VOLT                    1000
0282 #define LDO_MAX_VOLT                    3300
0283 
0284 
0285 /*Register VDIG1  (0x80) register.RegisterDescription */
0286 #define VDIG1_SEL_MASK                  0x0C
0287 #define VDIG1_SEL_SHIFT                 2
0288 #define VDIG1_ST_MASK                   0x03
0289 #define VDIG1_ST_SHIFT                  0
0290 
0291 
0292 /*Register VDIG2  (0x80) register.RegisterDescription */
0293 #define VDIG2_SEL_MASK                  0x0C
0294 #define VDIG2_SEL_SHIFT                 2
0295 #define VDIG2_ST_MASK                   0x03
0296 #define VDIG2_ST_SHIFT                  0
0297 
0298 
0299 /*Register VAUX1  (0x80) register.RegisterDescription */
0300 #define VAUX1_SEL_MASK                  0x0C
0301 #define VAUX1_SEL_SHIFT                 2
0302 #define VAUX1_ST_MASK                   0x03
0303 #define VAUX1_ST_SHIFT                  0
0304 
0305 
0306 /*Register VAUX2  (0x80) register.RegisterDescription */
0307 #define VAUX2_SEL_MASK                  0x0C
0308 #define VAUX2_SEL_SHIFT                 2
0309 #define VAUX2_ST_MASK                   0x03
0310 #define VAUX2_ST_SHIFT                  0
0311 
0312 
0313 /*Register VAUX33  (0x80) register.RegisterDescription */
0314 #define VAUX33_SEL_MASK                 0x0C
0315 #define VAUX33_SEL_SHIFT                2
0316 #define VAUX33_ST_MASK                  0x03
0317 #define VAUX33_ST_SHIFT                 0
0318 
0319 
0320 /*Register VMMC  (0x80) register.RegisterDescription */
0321 #define VMMC_SEL_MASK                   0x0C
0322 #define VMMC_SEL_SHIFT                  2
0323 #define VMMC_ST_MASK                    0x03
0324 #define VMMC_ST_SHIFT                   0
0325 
0326 
0327 /*Register VPLL  (0x80) register.RegisterDescription */
0328 #define VPLL_SEL_MASK                   0x0C
0329 #define VPLL_SEL_SHIFT                  2
0330 #define VPLL_ST_MASK                    0x03
0331 #define VPLL_ST_SHIFT                   0
0332 
0333 
0334 /*Register VDAC  (0x80) register.RegisterDescription */
0335 #define VDAC_SEL_MASK                   0x0C
0336 #define VDAC_SEL_SHIFT                  2
0337 #define VDAC_ST_MASK                    0x03
0338 #define VDAC_ST_SHIFT                   0
0339 
0340 
0341 /*Register THERM  (0x80) register.RegisterDescription */
0342 #define THERM_THERM_HD_MASK             0x20
0343 #define THERM_THERM_HD_SHIFT                5
0344 #define THERM_THERM_TS_MASK             0x10
0345 #define THERM_THERM_TS_SHIFT                4
0346 #define THERM_THERM_HDSEL_MASK              0x0C
0347 #define THERM_THERM_HDSEL_SHIFT             2
0348 #define THERM_RSVD1_MASK                0x02
0349 #define THERM_RSVD1_SHIFT               1
0350 #define THERM_THERM_STATE_MASK              0x01
0351 #define THERM_THERM_STATE_SHIFT             0
0352 
0353 
0354 /*Register BBCH  (0x80) register.RegisterDescription */
0355 #define BBCH_BBSEL_MASK                 0x06
0356 #define BBCH_BBSEL_SHIFT                1
0357 
0358 
0359 /*Register DCDCCTRL  (0x80) register.RegisterDescription */
0360 #define DCDCCTRL_VDD2_PSKIP_MASK            0x20
0361 #define DCDCCTRL_VDD2_PSKIP_SHIFT           5
0362 #define DCDCCTRL_VDD1_PSKIP_MASK            0x10
0363 #define DCDCCTRL_VDD1_PSKIP_SHIFT           4
0364 #define DCDCCTRL_VIO_PSKIP_MASK             0x08
0365 #define DCDCCTRL_VIO_PSKIP_SHIFT            3
0366 #define DCDCCTRL_DCDCCKEXT_MASK             0x04
0367 #define DCDCCTRL_DCDCCKEXT_SHIFT            2
0368 #define DCDCCTRL_DCDCCKSYNC_MASK            0x03
0369 #define DCDCCTRL_DCDCCKSYNC_SHIFT           0
0370 
0371 
0372 /*Register DEVCTRL  (0x80) register.RegisterDescription */
0373 #define DEVCTRL_PWR_OFF_MASK                0x80
0374 #define DEVCTRL_PWR_OFF_SHIFT               7
0375 #define DEVCTRL_RTC_PWDN_MASK               0x40
0376 #define DEVCTRL_RTC_PWDN_SHIFT              6
0377 #define DEVCTRL_CK32K_CTRL_MASK             0x20
0378 #define DEVCTRL_CK32K_CTRL_SHIFT            5
0379 #define DEVCTRL_SR_CTL_I2C_SEL_MASK         0x10
0380 #define DEVCTRL_SR_CTL_I2C_SEL_SHIFT            4
0381 #define DEVCTRL_DEV_OFF_RST_MASK            0x08
0382 #define DEVCTRL_DEV_OFF_RST_SHIFT           3
0383 #define DEVCTRL_DEV_ON_MASK             0x04
0384 #define DEVCTRL_DEV_ON_SHIFT                2
0385 #define DEVCTRL_DEV_SLP_MASK                0x02
0386 #define DEVCTRL_DEV_SLP_SHIFT               1
0387 #define DEVCTRL_DEV_OFF_MASK                0x01
0388 #define DEVCTRL_DEV_OFF_SHIFT               0
0389 
0390 
0391 /*Register DEVCTRL2  (0x80) register.RegisterDescription */
0392 #define DEVCTRL2_TSLOT_LENGTH_MASK          0x30
0393 #define DEVCTRL2_TSLOT_LENGTH_SHIFT         4
0394 #define DEVCTRL2_SLEEPSIG_POL_MASK          0x08
0395 #define DEVCTRL2_SLEEPSIG_POL_SHIFT         3
0396 #define DEVCTRL2_PWON_LP_OFF_MASK           0x04
0397 #define DEVCTRL2_PWON_LP_OFF_SHIFT          2
0398 #define DEVCTRL2_PWON_LP_RST_MASK           0x02
0399 #define DEVCTRL2_PWON_LP_RST_SHIFT          1
0400 #define DEVCTRL2_IT_POL_MASK                0x01
0401 #define DEVCTRL2_IT_POL_SHIFT               0
0402 
0403 
0404 /*Register SLEEP_KEEP_LDO_ON  (0x80) register.RegisterDescription */
0405 #define SLEEP_KEEP_LDO_ON_VDAC_KEEPON_MASK      0x80
0406 #define SLEEP_KEEP_LDO_ON_VDAC_KEEPON_SHIFT     7
0407 #define SLEEP_KEEP_LDO_ON_VPLL_KEEPON_MASK      0x40
0408 #define SLEEP_KEEP_LDO_ON_VPLL_KEEPON_SHIFT     6
0409 #define SLEEP_KEEP_LDO_ON_VAUX33_KEEPON_MASK        0x20
0410 #define SLEEP_KEEP_LDO_ON_VAUX33_KEEPON_SHIFT       5
0411 #define SLEEP_KEEP_LDO_ON_VAUX2_KEEPON_MASK     0x10
0412 #define SLEEP_KEEP_LDO_ON_VAUX2_KEEPON_SHIFT        4
0413 #define SLEEP_KEEP_LDO_ON_VAUX1_KEEPON_MASK     0x08
0414 #define SLEEP_KEEP_LDO_ON_VAUX1_KEEPON_SHIFT        3
0415 #define SLEEP_KEEP_LDO_ON_VDIG2_KEEPON_MASK     0x04
0416 #define SLEEP_KEEP_LDO_ON_VDIG2_KEEPON_SHIFT        2
0417 #define SLEEP_KEEP_LDO_ON_VDIG1_KEEPON_MASK     0x02
0418 #define SLEEP_KEEP_LDO_ON_VDIG1_KEEPON_SHIFT        1
0419 #define SLEEP_KEEP_LDO_ON_VMMC_KEEPON_MASK      0x01
0420 #define SLEEP_KEEP_LDO_ON_VMMC_KEEPON_SHIFT     0
0421 
0422 
0423 /*Register SLEEP_KEEP_RES_ON  (0x80) register.RegisterDescription */
0424 #define SLEEP_KEEP_RES_ON_THERM_KEEPON_MASK     0x80
0425 #define SLEEP_KEEP_RES_ON_THERM_KEEPON_SHIFT        7
0426 #define SLEEP_KEEP_RES_ON_CLKOUT32K_KEEPON_MASK     0x40
0427 #define SLEEP_KEEP_RES_ON_CLKOUT32K_KEEPON_SHIFT    6
0428 #define SLEEP_KEEP_RES_ON_VRTC_KEEPON_MASK      0x20
0429 #define SLEEP_KEEP_RES_ON_VRTC_KEEPON_SHIFT     5
0430 #define SLEEP_KEEP_RES_ON_I2CHS_KEEPON_MASK     0x10
0431 #define SLEEP_KEEP_RES_ON_I2CHS_KEEPON_SHIFT        4
0432 #define SLEEP_KEEP_RES_ON_VDD3_KEEPON_MASK      0x08
0433 #define SLEEP_KEEP_RES_ON_VDD3_KEEPON_SHIFT     3
0434 #define SLEEP_KEEP_RES_ON_VDD2_KEEPON_MASK      0x04
0435 #define SLEEP_KEEP_RES_ON_VDD2_KEEPON_SHIFT     2
0436 #define SLEEP_KEEP_RES_ON_VDD1_KEEPON_MASK      0x02
0437 #define SLEEP_KEEP_RES_ON_VDD1_KEEPON_SHIFT     1
0438 #define SLEEP_KEEP_RES_ON_VIO_KEEPON_MASK       0x01
0439 #define SLEEP_KEEP_RES_ON_VIO_KEEPON_SHIFT      0
0440 
0441 
0442 /*Register SLEEP_SET_LDO_OFF  (0x80) register.RegisterDescription */
0443 #define SLEEP_SET_LDO_OFF_VDAC_SETOFF_MASK      0x80
0444 #define SLEEP_SET_LDO_OFF_VDAC_SETOFF_SHIFT     7
0445 #define SLEEP_SET_LDO_OFF_VPLL_SETOFF_MASK      0x40
0446 #define SLEEP_SET_LDO_OFF_VPLL_SETOFF_SHIFT     6
0447 #define SLEEP_SET_LDO_OFF_VAUX33_SETOFF_MASK        0x20
0448 #define SLEEP_SET_LDO_OFF_VAUX33_SETOFF_SHIFT       5
0449 #define SLEEP_SET_LDO_OFF_VAUX2_SETOFF_MASK     0x10
0450 #define SLEEP_SET_LDO_OFF_VAUX2_SETOFF_SHIFT        4
0451 #define SLEEP_SET_LDO_OFF_VAUX1_SETOFF_MASK     0x08
0452 #define SLEEP_SET_LDO_OFF_VAUX1_SETOFF_SHIFT        3
0453 #define SLEEP_SET_LDO_OFF_VDIG2_SETOFF_MASK     0x04
0454 #define SLEEP_SET_LDO_OFF_VDIG2_SETOFF_SHIFT        2
0455 #define SLEEP_SET_LDO_OFF_VDIG1_SETOFF_MASK     0x02
0456 #define SLEEP_SET_LDO_OFF_VDIG1_SETOFF_SHIFT        1
0457 #define SLEEP_SET_LDO_OFF_VMMC_SETOFF_MASK      0x01
0458 #define SLEEP_SET_LDO_OFF_VMMC_SETOFF_SHIFT     0
0459 
0460 
0461 /*Register SLEEP_SET_RES_OFF  (0x80) register.RegisterDescription */
0462 #define SLEEP_SET_RES_OFF_DEFAULT_VOLT_MASK     0x80
0463 #define SLEEP_SET_RES_OFF_DEFAULT_VOLT_SHIFT        7
0464 #define SLEEP_SET_RES_OFF_RSVD_MASK         0x60
0465 #define SLEEP_SET_RES_OFF_RSVD_SHIFT            5
0466 #define SLEEP_SET_RES_OFF_SPARE_SETOFF_MASK     0x10
0467 #define SLEEP_SET_RES_OFF_SPARE_SETOFF_SHIFT        4
0468 #define SLEEP_SET_RES_OFF_VDD3_SETOFF_MASK      0x08
0469 #define SLEEP_SET_RES_OFF_VDD3_SETOFF_SHIFT     3
0470 #define SLEEP_SET_RES_OFF_VDD2_SETOFF_MASK      0x04
0471 #define SLEEP_SET_RES_OFF_VDD2_SETOFF_SHIFT     2
0472 #define SLEEP_SET_RES_OFF_VDD1_SETOFF_MASK      0x02
0473 #define SLEEP_SET_RES_OFF_VDD1_SETOFF_SHIFT     1
0474 #define SLEEP_SET_RES_OFF_VIO_SETOFF_MASK       0x01
0475 #define SLEEP_SET_RES_OFF_VIO_SETOFF_SHIFT      0
0476 
0477 
0478 /*Register EN1_LDO_ASS  (0x80) register.RegisterDescription */
0479 #define EN1_LDO_ASS_VDAC_EN1_MASK           0x80
0480 #define EN1_LDO_ASS_VDAC_EN1_SHIFT          7
0481 #define EN1_LDO_ASS_VPLL_EN1_MASK           0x40
0482 #define EN1_LDO_ASS_VPLL_EN1_SHIFT          6
0483 #define EN1_LDO_ASS_VAUX33_EN1_MASK         0x20
0484 #define EN1_LDO_ASS_VAUX33_EN1_SHIFT            5
0485 #define EN1_LDO_ASS_VAUX2_EN1_MASK          0x10
0486 #define EN1_LDO_ASS_VAUX2_EN1_SHIFT         4
0487 #define EN1_LDO_ASS_VAUX1_EN1_MASK          0x08
0488 #define EN1_LDO_ASS_VAUX1_EN1_SHIFT         3
0489 #define EN1_LDO_ASS_VDIG2_EN1_MASK          0x04
0490 #define EN1_LDO_ASS_VDIG2_EN1_SHIFT         2
0491 #define EN1_LDO_ASS_VDIG1_EN1_MASK          0x02
0492 #define EN1_LDO_ASS_VDIG1_EN1_SHIFT         1
0493 #define EN1_LDO_ASS_VMMC_EN1_MASK           0x01
0494 #define EN1_LDO_ASS_VMMC_EN1_SHIFT          0
0495 
0496 
0497 /*Register EN1_SMPS_ASS  (0x80) register.RegisterDescription */
0498 #define EN1_SMPS_ASS_RSVD_MASK              0xE0
0499 #define EN1_SMPS_ASS_RSVD_SHIFT             5
0500 #define EN1_SMPS_ASS_SPARE_EN1_MASK         0x10
0501 #define EN1_SMPS_ASS_SPARE_EN1_SHIFT            4
0502 #define EN1_SMPS_ASS_VDD3_EN1_MASK          0x08
0503 #define EN1_SMPS_ASS_VDD3_EN1_SHIFT         3
0504 #define EN1_SMPS_ASS_VDD2_EN1_MASK          0x04
0505 #define EN1_SMPS_ASS_VDD2_EN1_SHIFT         2
0506 #define EN1_SMPS_ASS_VDD1_EN1_MASK          0x02
0507 #define EN1_SMPS_ASS_VDD1_EN1_SHIFT         1
0508 #define EN1_SMPS_ASS_VIO_EN1_MASK           0x01
0509 #define EN1_SMPS_ASS_VIO_EN1_SHIFT          0
0510 
0511 
0512 /*Register EN2_LDO_ASS  (0x80) register.RegisterDescription */
0513 #define EN2_LDO_ASS_VDAC_EN2_MASK           0x80
0514 #define EN2_LDO_ASS_VDAC_EN2_SHIFT          7
0515 #define EN2_LDO_ASS_VPLL_EN2_MASK           0x40
0516 #define EN2_LDO_ASS_VPLL_EN2_SHIFT          6
0517 #define EN2_LDO_ASS_VAUX33_EN2_MASK         0x20
0518 #define EN2_LDO_ASS_VAUX33_EN2_SHIFT            5
0519 #define EN2_LDO_ASS_VAUX2_EN2_MASK          0x10
0520 #define EN2_LDO_ASS_VAUX2_EN2_SHIFT         4
0521 #define EN2_LDO_ASS_VAUX1_EN2_MASK          0x08
0522 #define EN2_LDO_ASS_VAUX1_EN2_SHIFT         3
0523 #define EN2_LDO_ASS_VDIG2_EN2_MASK          0x04
0524 #define EN2_LDO_ASS_VDIG2_EN2_SHIFT         2
0525 #define EN2_LDO_ASS_VDIG1_EN2_MASK          0x02
0526 #define EN2_LDO_ASS_VDIG1_EN2_SHIFT         1
0527 #define EN2_LDO_ASS_VMMC_EN2_MASK           0x01
0528 #define EN2_LDO_ASS_VMMC_EN2_SHIFT          0
0529 
0530 
0531 /*Register EN2_SMPS_ASS  (0x80) register.RegisterDescription */
0532 #define EN2_SMPS_ASS_RSVD_MASK              0xE0
0533 #define EN2_SMPS_ASS_RSVD_SHIFT             5
0534 #define EN2_SMPS_ASS_SPARE_EN2_MASK         0x10
0535 #define EN2_SMPS_ASS_SPARE_EN2_SHIFT            4
0536 #define EN2_SMPS_ASS_VDD3_EN2_MASK          0x08
0537 #define EN2_SMPS_ASS_VDD3_EN2_SHIFT         3
0538 #define EN2_SMPS_ASS_VDD2_EN2_MASK          0x04
0539 #define EN2_SMPS_ASS_VDD2_EN2_SHIFT         2
0540 #define EN2_SMPS_ASS_VDD1_EN2_MASK          0x02
0541 #define EN2_SMPS_ASS_VDD1_EN2_SHIFT         1
0542 #define EN2_SMPS_ASS_VIO_EN2_MASK           0x01
0543 #define EN2_SMPS_ASS_VIO_EN2_SHIFT          0
0544 
0545 
0546 /*Register EN3_LDO_ASS  (0x80) register.RegisterDescription */
0547 #define EN3_LDO_ASS_VDAC_EN3_MASK           0x80
0548 #define EN3_LDO_ASS_VDAC_EN3_SHIFT          7
0549 #define EN3_LDO_ASS_VPLL_EN3_MASK           0x40
0550 #define EN3_LDO_ASS_VPLL_EN3_SHIFT          6
0551 #define EN3_LDO_ASS_VAUX33_EN3_MASK         0x20
0552 #define EN3_LDO_ASS_VAUX33_EN3_SHIFT            5
0553 #define EN3_LDO_ASS_VAUX2_EN3_MASK          0x10
0554 #define EN3_LDO_ASS_VAUX2_EN3_SHIFT         4
0555 #define EN3_LDO_ASS_VAUX1_EN3_MASK          0x08
0556 #define EN3_LDO_ASS_VAUX1_EN3_SHIFT         3
0557 #define EN3_LDO_ASS_VDIG2_EN3_MASK          0x04
0558 #define EN3_LDO_ASS_VDIG2_EN3_SHIFT         2
0559 #define EN3_LDO_ASS_VDIG1_EN3_MASK          0x02
0560 #define EN3_LDO_ASS_VDIG1_EN3_SHIFT         1
0561 #define EN3_LDO_ASS_VMMC_EN3_MASK           0x01
0562 #define EN3_LDO_ASS_VMMC_EN3_SHIFT          0
0563 
0564 
0565 /*Register SPARE  (0x80) register.RegisterDescription */
0566 #define SPARE_SPARE_MASK                0xFF
0567 #define SPARE_SPARE_SHIFT               0
0568 
0569 #define TPS65910_INT_STS_RTC_PERIOD_IT_MASK         0x80
0570 #define TPS65910_INT_STS_RTC_PERIOD_IT_SHIFT            7
0571 #define TPS65910_INT_STS_RTC_ALARM_IT_MASK          0x40
0572 #define TPS65910_INT_STS_RTC_ALARM_IT_SHIFT         6
0573 #define TPS65910_INT_STS_HOTDIE_IT_MASK             0x20
0574 #define TPS65910_INT_STS_HOTDIE_IT_SHIFT            5
0575 #define TPS65910_INT_STS_PWRHOLD_F_IT_MASK          0x10
0576 #define TPS65910_INT_STS_PWRHOLD_F_IT_SHIFT         4
0577 #define TPS65910_INT_STS_PWRON_LP_IT_MASK           0x08
0578 #define TPS65910_INT_STS_PWRON_LP_IT_SHIFT          3
0579 #define TPS65910_INT_STS_PWRON_IT_MASK              0x04
0580 #define TPS65910_INT_STS_PWRON_IT_SHIFT             2
0581 #define TPS65910_INT_STS_VMBHI_IT_MASK              0x02
0582 #define TPS65910_INT_STS_VMBHI_IT_SHIFT             1
0583 #define TPS65910_INT_STS_VMBDCH_IT_MASK             0x01
0584 #define TPS65910_INT_STS_VMBDCH_IT_SHIFT            0
0585 
0586 #define TPS65910_INT_MSK_RTC_PERIOD_IT_MSK_MASK         0x80
0587 #define TPS65910_INT_MSK_RTC_PERIOD_IT_MSK_SHIFT        7
0588 #define TPS65910_INT_MSK_RTC_ALARM_IT_MSK_MASK          0x40
0589 #define TPS65910_INT_MSK_RTC_ALARM_IT_MSK_SHIFT         6
0590 #define TPS65910_INT_MSK_HOTDIE_IT_MSK_MASK         0x20
0591 #define TPS65910_INT_MSK_HOTDIE_IT_MSK_SHIFT            5
0592 #define TPS65910_INT_MSK_PWRHOLD_IT_MSK_MASK            0x10
0593 #define TPS65910_INT_MSK_PWRHOLD_IT_MSK_SHIFT           4
0594 #define TPS65910_INT_MSK_PWRON_LP_IT_MSK_MASK           0x08
0595 #define TPS65910_INT_MSK_PWRON_LP_IT_MSK_SHIFT          3
0596 #define TPS65910_INT_MSK_PWRON_IT_MSK_MASK          0x04
0597 #define TPS65910_INT_MSK_PWRON_IT_MSK_SHIFT         2
0598 #define TPS65910_INT_MSK_VMBHI_IT_MSK_MASK          0x02
0599 #define TPS65910_INT_MSK_VMBHI_IT_MSK_SHIFT         1
0600 #define TPS65910_INT_MSK_VMBDCH_IT_MSK_MASK         0x01
0601 #define TPS65910_INT_MSK_VMBDCH_IT_MSK_SHIFT            0
0602 
0603 #define TPS65910_INT_STS2_GPIO0_F_IT_SHIFT          2
0604 #define TPS65910_INT_STS2_GPIO0_F_IT_MASK           0x02
0605 #define TPS65910_INT_STS2_GPIO0_R_IT_SHIFT          1
0606 #define TPS65910_INT_STS2_GPIO0_R_IT_MASK           0x01
0607 
0608 #define TPS65910_INT_MSK2_GPIO0_F_IT_MSK_SHIFT          2
0609 #define TPS65910_INT_MSK2_GPIO0_F_IT_MSK_MASK           0x02
0610 #define TPS65910_INT_MSK2_GPIO0_R_IT_MSK_SHIFT          1
0611 #define TPS65910_INT_MSK2_GPIO0_R_IT_MSK_MASK           0x01
0612 
0613 /*Register INT_STS  (0x80) register.RegisterDescription */
0614 #define INT_STS_RTC_PERIOD_IT_MASK          0x80
0615 #define INT_STS_RTC_PERIOD_IT_SHIFT         7
0616 #define INT_STS_RTC_ALARM_IT_MASK           0x40
0617 #define INT_STS_RTC_ALARM_IT_SHIFT          6
0618 #define INT_STS_HOTDIE_IT_MASK              0x20
0619 #define INT_STS_HOTDIE_IT_SHIFT             5
0620 #define INT_STS_PWRHOLD_R_IT_MASK           0x10
0621 #define INT_STS_PWRHOLD_R_IT_SHIFT          4
0622 #define INT_STS_PWRON_LP_IT_MASK            0x08
0623 #define INT_STS_PWRON_LP_IT_SHIFT           3
0624 #define INT_STS_PWRON_IT_MASK               0x04
0625 #define INT_STS_PWRON_IT_SHIFT              2
0626 #define INT_STS_VMBHI_IT_MASK               0x02
0627 #define INT_STS_VMBHI_IT_SHIFT              1
0628 #define INT_STS_PWRHOLD_F_IT_MASK           0x01
0629 #define INT_STS_PWRHOLD_F_IT_SHIFT          0
0630 
0631 
0632 /*Register INT_MSK  (0x80) register.RegisterDescription */
0633 #define INT_MSK_RTC_PERIOD_IT_MSK_MASK          0x80
0634 #define INT_MSK_RTC_PERIOD_IT_MSK_SHIFT         7
0635 #define INT_MSK_RTC_ALARM_IT_MSK_MASK           0x40
0636 #define INT_MSK_RTC_ALARM_IT_MSK_SHIFT          6
0637 #define INT_MSK_HOTDIE_IT_MSK_MASK          0x20
0638 #define INT_MSK_HOTDIE_IT_MSK_SHIFT         5
0639 #define INT_MSK_PWRHOLD_R_IT_MSK_MASK           0x10
0640 #define INT_MSK_PWRHOLD_R_IT_MSK_SHIFT          4
0641 #define INT_MSK_PWRON_LP_IT_MSK_MASK            0x08
0642 #define INT_MSK_PWRON_LP_IT_MSK_SHIFT           3
0643 #define INT_MSK_PWRON_IT_MSK_MASK           0x04
0644 #define INT_MSK_PWRON_IT_MSK_SHIFT          2
0645 #define INT_MSK_VMBHI_IT_MSK_MASK           0x02
0646 #define INT_MSK_VMBHI_IT_MSK_SHIFT          1
0647 #define INT_MSK_PWRHOLD_F_IT_MSK_MASK           0x01
0648 #define INT_MSK_PWRHOLD_F_IT_MSK_SHIFT          0
0649 
0650 
0651 /*Register INT_STS2  (0x80) register.RegisterDescription */
0652 #define INT_STS2_GPIO3_F_IT_MASK            0x80
0653 #define INT_STS2_GPIO3_F_IT_SHIFT           7
0654 #define INT_STS2_GPIO3_R_IT_MASK            0x40
0655 #define INT_STS2_GPIO3_R_IT_SHIFT           6
0656 #define INT_STS2_GPIO2_F_IT_MASK            0x20
0657 #define INT_STS2_GPIO2_F_IT_SHIFT           5
0658 #define INT_STS2_GPIO2_R_IT_MASK            0x10
0659 #define INT_STS2_GPIO2_R_IT_SHIFT           4
0660 #define INT_STS2_GPIO1_F_IT_MASK            0x08
0661 #define INT_STS2_GPIO1_F_IT_SHIFT           3
0662 #define INT_STS2_GPIO1_R_IT_MASK            0x04
0663 #define INT_STS2_GPIO1_R_IT_SHIFT           2
0664 #define INT_STS2_GPIO0_F_IT_MASK            0x02
0665 #define INT_STS2_GPIO0_F_IT_SHIFT           1
0666 #define INT_STS2_GPIO0_R_IT_MASK            0x01
0667 #define INT_STS2_GPIO0_R_IT_SHIFT           0
0668 
0669 
0670 /*Register INT_MSK2  (0x80) register.RegisterDescription */
0671 #define INT_MSK2_GPIO3_F_IT_MSK_MASK            0x80
0672 #define INT_MSK2_GPIO3_F_IT_MSK_SHIFT           7
0673 #define INT_MSK2_GPIO3_R_IT_MSK_MASK            0x40
0674 #define INT_MSK2_GPIO3_R_IT_MSK_SHIFT           6
0675 #define INT_MSK2_GPIO2_F_IT_MSK_MASK            0x20
0676 #define INT_MSK2_GPIO2_F_IT_MSK_SHIFT           5
0677 #define INT_MSK2_GPIO2_R_IT_MSK_MASK            0x10
0678 #define INT_MSK2_GPIO2_R_IT_MSK_SHIFT           4
0679 #define INT_MSK2_GPIO1_F_IT_MSK_MASK            0x08
0680 #define INT_MSK2_GPIO1_F_IT_MSK_SHIFT           3
0681 #define INT_MSK2_GPIO1_R_IT_MSK_MASK            0x04
0682 #define INT_MSK2_GPIO1_R_IT_MSK_SHIFT           2
0683 #define INT_MSK2_GPIO0_F_IT_MSK_MASK            0x02
0684 #define INT_MSK2_GPIO0_F_IT_MSK_SHIFT           1
0685 #define INT_MSK2_GPIO0_R_IT_MSK_MASK            0x01
0686 #define INT_MSK2_GPIO0_R_IT_MSK_SHIFT           0
0687 
0688 
0689 /*Register INT_STS3  (0x80) register.RegisterDescription */
0690 #define INT_STS3_PWRDN_IT_MASK              0x80
0691 #define INT_STS3_PWRDN_IT_SHIFT             7
0692 #define INT_STS3_VMBCH2_L_IT_MASK           0x40
0693 #define INT_STS3_VMBCH2_L_IT_SHIFT          6
0694 #define INT_STS3_VMBCH2_H_IT_MASK           0x20
0695 #define INT_STS3_VMBCH2_H_IT_SHIFT          5
0696 #define INT_STS3_WTCHDG_IT_MASK             0x10
0697 #define INT_STS3_WTCHDG_IT_SHIFT            4
0698 #define INT_STS3_GPIO5_F_IT_MASK            0x08
0699 #define INT_STS3_GPIO5_F_IT_SHIFT           3
0700 #define INT_STS3_GPIO5_R_IT_MASK            0x04
0701 #define INT_STS3_GPIO5_R_IT_SHIFT           2
0702 #define INT_STS3_GPIO4_F_IT_MASK            0x02
0703 #define INT_STS3_GPIO4_F_IT_SHIFT           1
0704 #define INT_STS3_GPIO4_R_IT_MASK            0x01
0705 #define INT_STS3_GPIO4_R_IT_SHIFT           0
0706 
0707 
0708 /*Register INT_MSK3  (0x80) register.RegisterDescription */
0709 #define INT_MSK3_PWRDN_IT_MSK_MASK          0x80
0710 #define INT_MSK3_PWRDN_IT_MSK_SHIFT         7
0711 #define INT_MSK3_VMBCH2_L_IT_MSK_MASK           0x40
0712 #define INT_MSK3_VMBCH2_L_IT_MSK_SHIFT          6
0713 #define INT_MSK3_VMBCH2_H_IT_MSK_MASK           0x20
0714 #define INT_MSK3_VMBCH2_H_IT_MSK_SHIFT          5
0715 #define INT_MSK3_WTCHDG_IT_MSK_MASK         0x10
0716 #define INT_MSK3_WTCHDG_IT_MSK_SHIFT            4
0717 #define INT_MSK3_GPIO5_F_IT_MSK_MASK            0x08
0718 #define INT_MSK3_GPIO5_F_IT_MSK_SHIFT           3
0719 #define INT_MSK3_GPIO5_R_IT_MSK_MASK            0x04
0720 #define INT_MSK3_GPIO5_R_IT_MSK_SHIFT           2
0721 #define INT_MSK3_GPIO4_F_IT_MSK_MASK            0x02
0722 #define INT_MSK3_GPIO4_F_IT_MSK_SHIFT           1
0723 #define INT_MSK3_GPIO4_R_IT_MSK_MASK            0x01
0724 #define INT_MSK3_GPIO4_R_IT_MSK_SHIFT           0
0725 
0726 
0727 /*Register GPIO  (0x80) register.RegisterDescription */
0728 #define GPIO_SLEEP_MASK                         0x80
0729 #define GPIO_SLEEP_SHIFT                        7
0730 #define GPIO_DEB_MASK                           0x10
0731 #define GPIO_DEB_SHIFT                          4
0732 #define GPIO_PUEN_MASK                          0x08
0733 #define GPIO_PUEN_SHIFT                         3
0734 #define GPIO_CFG_MASK                           0x04
0735 #define GPIO_CFG_SHIFT                          2
0736 #define GPIO_STS_MASK                           0x02
0737 #define GPIO_STS_SHIFT                          1
0738 #define GPIO_SET_MASK                           0x01
0739 #define GPIO_SET_SHIFT                          0
0740 
0741 
0742 /*Register JTAGVERNUM  (0x80) register.RegisterDescription */
0743 #define JTAGVERNUM_VERNUM_MASK              0x0F
0744 #define JTAGVERNUM_VERNUM_SHIFT             0
0745 
0746 
0747 /* Register VDDCTRL (0x27) bit definitions */
0748 #define VDDCTRL_ST_MASK                                  0x03
0749 #define VDDCTRL_ST_SHIFT                                 0
0750 
0751 
0752 /*Register VDDCTRL_OP  (0x28) bit definitios */
0753 #define VDDCTRL_OP_CMD_MASK                              0x80
0754 #define VDDCTRL_OP_CMD_SHIFT                             7
0755 #define VDDCTRL_OP_SEL_MASK                              0x7F
0756 #define VDDCTRL_OP_SEL_SHIFT                             0
0757 
0758 
0759 /*Register VDDCTRL_SR  (0x29) bit definitions */
0760 #define VDDCTRL_SR_SEL_MASK                              0x7F
0761 #define VDDCTRL_SR_SEL_SHIFT                             0
0762 
0763 
0764 /* IRQ Definitions */
0765 #define TPS65910_IRQ_VBAT_VMBDCH            0
0766 #define TPS65910_IRQ_VBAT_VMHI              1
0767 #define TPS65910_IRQ_PWRON              2
0768 #define TPS65910_IRQ_PWRON_LP               3
0769 #define TPS65910_IRQ_PWRHOLD                4
0770 #define TPS65910_IRQ_HOTDIE             5
0771 #define TPS65910_IRQ_RTC_ALARM              6
0772 #define TPS65910_IRQ_RTC_PERIOD             7
0773 #define TPS65910_IRQ_GPIO_R             8
0774 #define TPS65910_IRQ_GPIO_F             9
0775 #define TPS65910_NUM_IRQ                10
0776 
0777 #define TPS65911_IRQ_PWRHOLD_F              0
0778 #define TPS65911_IRQ_VBAT_VMHI              1
0779 #define TPS65911_IRQ_PWRON              2
0780 #define TPS65911_IRQ_PWRON_LP               3
0781 #define TPS65911_IRQ_PWRHOLD_R              4
0782 #define TPS65911_IRQ_HOTDIE             5
0783 #define TPS65911_IRQ_RTC_ALARM              6
0784 #define TPS65911_IRQ_RTC_PERIOD             7
0785 #define TPS65911_IRQ_GPIO0_R                8
0786 #define TPS65911_IRQ_GPIO0_F                9
0787 #define TPS65911_IRQ_GPIO1_R                10
0788 #define TPS65911_IRQ_GPIO1_F                11
0789 #define TPS65911_IRQ_GPIO2_R                12
0790 #define TPS65911_IRQ_GPIO2_F                13
0791 #define TPS65911_IRQ_GPIO3_R                14
0792 #define TPS65911_IRQ_GPIO3_F                15
0793 #define TPS65911_IRQ_GPIO4_R                16
0794 #define TPS65911_IRQ_GPIO4_F                17
0795 #define TPS65911_IRQ_GPIO5_R                18
0796 #define TPS65911_IRQ_GPIO5_F                19
0797 #define TPS65911_IRQ_WTCHDG             20
0798 #define TPS65911_IRQ_VMBCH2_H               21
0799 #define TPS65911_IRQ_VMBCH2_L               22
0800 #define TPS65911_IRQ_PWRDN              23
0801 
0802 #define TPS65911_NUM_IRQ                24
0803 
0804 /* GPIO Register Definitions */
0805 #define TPS65910_GPIO_DEB               BIT(2)
0806 #define TPS65910_GPIO_PUEN              BIT(3)
0807 #define TPS65910_GPIO_CFG               BIT(2)
0808 #define TPS65910_GPIO_STS               BIT(1)
0809 #define TPS65910_GPIO_SET               BIT(0)
0810 
0811 /* Max number of TPS65910/11 GPIOs */
0812 #define TPS65910_NUM_GPIO               6
0813 #define TPS65911_NUM_GPIO               9
0814 #define TPS6591X_MAX_NUM_GPIO               9
0815 
0816 /* Regulator Index Definitions */
0817 #define TPS65910_REG_VRTC               0
0818 #define TPS65910_REG_VIO                1
0819 #define TPS65910_REG_VDD1               2
0820 #define TPS65910_REG_VDD2               3
0821 #define TPS65910_REG_VDD3               4
0822 #define TPS65910_REG_VDIG1              5
0823 #define TPS65910_REG_VDIG2              6
0824 #define TPS65910_REG_VPLL               7
0825 #define TPS65910_REG_VDAC               8
0826 #define TPS65910_REG_VAUX1              9
0827 #define TPS65910_REG_VAUX2              10
0828 #define TPS65910_REG_VAUX33             11
0829 #define TPS65910_REG_VMMC               12
0830 #define TPS65910_REG_VBB                13
0831 
0832 #define TPS65911_REG_VDDCTRL                4
0833 #define TPS65911_REG_LDO1               5
0834 #define TPS65911_REG_LDO2               6
0835 #define TPS65911_REG_LDO3               7
0836 #define TPS65911_REG_LDO4               8
0837 #define TPS65911_REG_LDO5               9
0838 #define TPS65911_REG_LDO6               10
0839 #define TPS65911_REG_LDO7               11
0840 #define TPS65911_REG_LDO8               12
0841 
0842 /* Max number of TPS65910/11 regulators */
0843 #define TPS65910_NUM_REGS               14
0844 
0845 /* External sleep controls through EN1/EN2/EN3/SLEEP inputs */
0846 #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN1        0x1
0847 #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN2        0x2
0848 #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3        0x4
0849 #define TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP      0x8
0850 
0851 /*
0852  * Sleep keepon data: Maintains the state in sleep mode
0853  * @therm_keepon: Keep on the thermal monitoring in sleep state.
0854  * @clkout32k_keepon: Keep on the 32KHz clock output in sleep state.
0855  * @i2chs_keepon: Keep on high speed internal clock in sleep state.
0856  */
0857 struct tps65910_sleep_keepon_data {
0858     unsigned therm_keepon:1;
0859     unsigned clkout32k_keepon:1;
0860     unsigned i2chs_keepon:1;
0861 };
0862 
0863 /**
0864  * struct tps65910_board
0865  * Board platform data may be used to initialize regulators.
0866  */
0867 
0868 struct tps65910_board {
0869     int gpio_base;
0870     int irq;
0871     int irq_base;
0872     int vmbch_threshold;
0873     int vmbch2_threshold;
0874     bool en_ck32k_xtal;
0875     bool en_dev_slp;
0876     bool pm_off;
0877     struct tps65910_sleep_keepon_data slp_keepon;
0878     bool en_gpio_sleep[TPS6591X_MAX_NUM_GPIO];
0879     unsigned long regulator_ext_sleep_control[TPS65910_NUM_REGS];
0880     struct regulator_init_data *tps65910_pmic_init_data[TPS65910_NUM_REGS];
0881 };
0882 
0883 /**
0884  * struct tps65910 - tps65910 sub-driver chip access routines
0885  */
0886 
0887 struct tps65910 {
0888     struct device *dev;
0889     struct i2c_client *i2c_client;
0890     struct regmap *regmap;
0891     unsigned long id;
0892 
0893     /* Device node parsed board data */
0894     struct tps65910_board *of_plat_data;
0895 
0896     /* IRQ Handling */
0897     int chip_irq;
0898     struct regmap_irq_chip_data *irq_data;
0899 };
0900 
0901 struct tps65910_platform_data {
0902     int irq;
0903     int irq_base;
0904 };
0905 
0906 static inline int tps65910_chip_id(struct tps65910 *tps65910)
0907 {
0908     return tps65910->id;
0909 }
0910 
0911 #endif /*  __LINUX_MFD_TPS65910_H */