1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * tps65910.h -- TI TPS6591x 4 * 5 * Copyright 2010-2011 Texas Instruments Inc. 6 * 7 * Author: Graeme Gregory <gg@slimlogic.co.uk> 8 * Author: Jorge Eduardo Candelaria <jedu@slimlogic.co.uk> 9 * Author: Arnaud Deconinck <a-deconinck@ti.com> 10 */ 11 12 #ifndef __LINUX_MFD_TPS65910_H 13 #define __LINUX_MFD_TPS65910_H 14 15 #include <linux/gpio.h> 16 #include <linux/regmap.h> 17 18 /* TPS chip id list */ 19 #define TPS65910 0 20 #define TPS65911 1 21 22 /* TPS regulator type list */ 23 #define REGULATOR_LDO 0 24 #define REGULATOR_DCDC 1 25 26 /* 27 * List of registers for component TPS65910 28 * 29 */ 30 31 #define TPS65910_SECONDS 0x0 32 #define TPS65910_MINUTES 0x1 33 #define TPS65910_HOURS 0x2 34 #define TPS65910_DAYS 0x3 35 #define TPS65910_MONTHS 0x4 36 #define TPS65910_YEARS 0x5 37 #define TPS65910_WEEKS 0x6 38 #define TPS65910_ALARM_SECONDS 0x8 39 #define TPS65910_ALARM_MINUTES 0x9 40 #define TPS65910_ALARM_HOURS 0xA 41 #define TPS65910_ALARM_DAYS 0xB 42 #define TPS65910_ALARM_MONTHS 0xC 43 #define TPS65910_ALARM_YEARS 0xD 44 #define TPS65910_RTC_CTRL 0x10 45 #define TPS65910_RTC_STATUS 0x11 46 #define TPS65910_RTC_INTERRUPTS 0x12 47 #define TPS65910_RTC_COMP_LSB 0x13 48 #define TPS65910_RTC_COMP_MSB 0x14 49 #define TPS65910_RTC_RES_PROG 0x15 50 #define TPS65910_RTC_RESET_STATUS 0x16 51 #define TPS65910_BCK1 0x17 52 #define TPS65910_BCK2 0x18 53 #define TPS65910_BCK3 0x19 54 #define TPS65910_BCK4 0x1A 55 #define TPS65910_BCK5 0x1B 56 #define TPS65910_PUADEN 0x1C 57 #define TPS65910_REF 0x1D 58 #define TPS65910_VRTC 0x1E 59 #define TPS65910_VIO 0x20 60 #define TPS65910_VDD1 0x21 61 #define TPS65910_VDD1_OP 0x22 62 #define TPS65910_VDD1_SR 0x23 63 #define TPS65910_VDD2 0x24 64 #define TPS65910_VDD2_OP 0x25 65 #define TPS65910_VDD2_SR 0x26 66 #define TPS65910_VDD3 0x27 67 #define TPS65910_VDIG1 0x30 68 #define TPS65910_VDIG2 0x31 69 #define TPS65910_VAUX1 0x32 70 #define TPS65910_VAUX2 0x33 71 #define TPS65910_VAUX33 0x34 72 #define TPS65910_VMMC 0x35 73 #define TPS65910_VPLL 0x36 74 #define TPS65910_VDAC 0x37 75 #define TPS65910_THERM 0x38 76 #define TPS65910_BBCH 0x39 77 #define TPS65910_DCDCCTRL 0x3E 78 #define TPS65910_DEVCTRL 0x3F 79 #define TPS65910_DEVCTRL2 0x40 80 #define TPS65910_SLEEP_KEEP_LDO_ON 0x41 81 #define TPS65910_SLEEP_KEEP_RES_ON 0x42 82 #define TPS65910_SLEEP_SET_LDO_OFF 0x43 83 #define TPS65910_SLEEP_SET_RES_OFF 0x44 84 #define TPS65910_EN1_LDO_ASS 0x45 85 #define TPS65910_EN1_SMPS_ASS 0x46 86 #define TPS65910_EN2_LDO_ASS 0x47 87 #define TPS65910_EN2_SMPS_ASS 0x48 88 #define TPS65910_EN3_LDO_ASS 0x49 89 #define TPS65910_SPARE 0x4A 90 #define TPS65910_INT_STS 0x50 91 #define TPS65910_INT_MSK 0x51 92 #define TPS65910_INT_STS2 0x52 93 #define TPS65910_INT_MSK2 0x53 94 #define TPS65910_INT_STS3 0x54 95 #define TPS65910_INT_MSK3 0x55 96 #define TPS65910_GPIO0 0x60 97 #define TPS65910_GPIO1 0x61 98 #define TPS65910_GPIO2 0x62 99 #define TPS65910_GPIO3 0x63 100 #define TPS65910_GPIO4 0x64 101 #define TPS65910_GPIO5 0x65 102 #define TPS65910_GPIO6 0x66 103 #define TPS65910_GPIO7 0x67 104 #define TPS65910_GPIO8 0x68 105 #define TPS65910_JTAGVERNUM 0x80 106 #define TPS65910_MAX_REGISTER 0x80 107 108 /* 109 * List of registers specific to TPS65911 110 */ 111 #define TPS65911_VDDCTRL 0x27 112 #define TPS65911_VDDCTRL_OP 0x28 113 #define TPS65911_VDDCTRL_SR 0x29 114 #define TPS65911_LDO1 0x30 115 #define TPS65911_LDO2 0x31 116 #define TPS65911_LDO5 0x32 117 #define TPS65911_LDO8 0x33 118 #define TPS65911_LDO7 0x34 119 #define TPS65911_LDO6 0x35 120 #define TPS65911_LDO4 0x36 121 #define TPS65911_LDO3 0x37 122 #define TPS65911_VMBCH 0x6A 123 #define TPS65911_VMBCH2 0x6B 124 125 /* 126 * List of register bitfields for component TPS65910 127 * 128 */ 129 130 /* RTC_CTRL_REG bitfields */ 131 #define TPS65910_RTC_CTRL_STOP_RTC 0x01 /*0=stop, 1=run */ 132 #define TPS65910_RTC_CTRL_AUTO_COMP 0x04 133 #define TPS65910_RTC_CTRL_GET_TIME 0x40 134 135 /* RTC_STATUS_REG bitfields */ 136 #define TPS65910_RTC_STATUS_ALARM 0x40 137 138 /* RTC_INTERRUPTS_REG bitfields */ 139 #define TPS65910_RTC_INTERRUPTS_EVERY 0x03 140 #define TPS65910_RTC_INTERRUPTS_IT_ALARM 0x08 141 142 /*Register BCK1 (0x80) register.RegisterDescription */ 143 #define BCK1_BCKUP_MASK 0xFF 144 #define BCK1_BCKUP_SHIFT 0 145 146 147 /*Register BCK2 (0x80) register.RegisterDescription */ 148 #define BCK2_BCKUP_MASK 0xFF 149 #define BCK2_BCKUP_SHIFT 0 150 151 152 /*Register BCK3 (0x80) register.RegisterDescription */ 153 #define BCK3_BCKUP_MASK 0xFF 154 #define BCK3_BCKUP_SHIFT 0 155 156 157 /*Register BCK4 (0x80) register.RegisterDescription */ 158 #define BCK4_BCKUP_MASK 0xFF 159 #define BCK4_BCKUP_SHIFT 0 160 161 162 /*Register BCK5 (0x80) register.RegisterDescription */ 163 #define BCK5_BCKUP_MASK 0xFF 164 #define BCK5_BCKUP_SHIFT 0 165 166 167 /*Register PUADEN (0x80) register.RegisterDescription */ 168 #define PUADEN_EN3P_MASK 0x80 169 #define PUADEN_EN3P_SHIFT 7 170 #define PUADEN_I2CCTLP_MASK 0x40 171 #define PUADEN_I2CCTLP_SHIFT 6 172 #define PUADEN_I2CSRP_MASK 0x20 173 #define PUADEN_I2CSRP_SHIFT 5 174 #define PUADEN_PWRONP_MASK 0x10 175 #define PUADEN_PWRONP_SHIFT 4 176 #define PUADEN_SLEEPP_MASK 0x08 177 #define PUADEN_SLEEPP_SHIFT 3 178 #define PUADEN_PWRHOLDP_MASK 0x04 179 #define PUADEN_PWRHOLDP_SHIFT 2 180 #define PUADEN_BOOT1P_MASK 0x02 181 #define PUADEN_BOOT1P_SHIFT 1 182 #define PUADEN_BOOT0P_MASK 0x01 183 #define PUADEN_BOOT0P_SHIFT 0 184 185 186 /*Register REF (0x80) register.RegisterDescription */ 187 #define REF_VMBCH_SEL_MASK 0x0C 188 #define REF_VMBCH_SEL_SHIFT 2 189 #define REF_ST_MASK 0x03 190 #define REF_ST_SHIFT 0 191 192 193 /*Register VRTC (0x80) register.RegisterDescription */ 194 #define VRTC_VRTC_OFFMASK_MASK 0x08 195 #define VRTC_VRTC_OFFMASK_SHIFT 3 196 #define VRTC_ST_MASK 0x03 197 #define VRTC_ST_SHIFT 0 198 199 200 /*Register VIO (0x80) register.RegisterDescription */ 201 #define VIO_ILMAX_MASK 0xC0 202 #define VIO_ILMAX_SHIFT 6 203 #define VIO_SEL_MASK 0x0C 204 #define VIO_SEL_SHIFT 2 205 #define VIO_ST_MASK 0x03 206 #define VIO_ST_SHIFT 0 207 208 209 /*Register VDD1 (0x80) register.RegisterDescription */ 210 #define VDD1_VGAIN_SEL_MASK 0xC0 211 #define VDD1_VGAIN_SEL_SHIFT 6 212 #define VDD1_ILMAX_MASK 0x20 213 #define VDD1_ILMAX_SHIFT 5 214 #define VDD1_TSTEP_MASK 0x1C 215 #define VDD1_TSTEP_SHIFT 2 216 #define VDD1_ST_MASK 0x03 217 #define VDD1_ST_SHIFT 0 218 219 220 /*Register VDD1_OP (0x80) register.RegisterDescription */ 221 #define VDD1_OP_CMD_MASK 0x80 222 #define VDD1_OP_CMD_SHIFT 7 223 #define VDD1_OP_SEL_MASK 0x7F 224 #define VDD1_OP_SEL_SHIFT 0 225 226 227 /*Register VDD1_SR (0x80) register.RegisterDescription */ 228 #define VDD1_SR_SEL_MASK 0x7F 229 #define VDD1_SR_SEL_SHIFT 0 230 231 232 /*Register VDD2 (0x80) register.RegisterDescription */ 233 #define VDD2_VGAIN_SEL_MASK 0xC0 234 #define VDD2_VGAIN_SEL_SHIFT 6 235 #define VDD2_ILMAX_MASK 0x20 236 #define VDD2_ILMAX_SHIFT 5 237 #define VDD2_TSTEP_MASK 0x1C 238 #define VDD2_TSTEP_SHIFT 2 239 #define VDD2_ST_MASK 0x03 240 #define VDD2_ST_SHIFT 0 241 242 243 /*Register VDD2_OP (0x80) register.RegisterDescription */ 244 #define VDD2_OP_CMD_MASK 0x80 245 #define VDD2_OP_CMD_SHIFT 7 246 #define VDD2_OP_SEL_MASK 0x7F 247 #define VDD2_OP_SEL_SHIFT 0 248 249 /*Register VDD2_SR (0x80) register.RegisterDescription */ 250 #define VDD2_SR_SEL_MASK 0x7F 251 #define VDD2_SR_SEL_SHIFT 0 252 253 254 /*Registers VDD1, VDD2 voltage values definitions */ 255 #define VDD1_2_NUM_VOLT_FINE 73 256 #define VDD1_2_NUM_VOLT_COARSE 3 257 #define VDD1_2_MIN_VOLT 6000 258 #define VDD1_2_OFFSET 125 259 260 261 /*Register VDD3 (0x80) register.RegisterDescription */ 262 #define VDD3_CKINEN_MASK 0x04 263 #define VDD3_CKINEN_SHIFT 2 264 #define VDD3_ST_MASK 0x03 265 #define VDD3_ST_SHIFT 0 266 #define VDDCTRL_MIN_VOLT 6000 267 #define VDDCTRL_OFFSET 125 268 269 /*Registers VDIG (0x80) to VDAC register.RegisterDescription */ 270 #define LDO_SEL_MASK 0x0C 271 #define LDO_SEL_SHIFT 2 272 #define LDO_ST_MASK 0x03 273 #define LDO_ST_SHIFT 0 274 #define LDO_ST_ON_BIT 0x01 275 #define LDO_ST_MODE_BIT 0x02 276 277 278 /* Registers LDO1 to LDO8 in tps65910 */ 279 #define LDO1_SEL_MASK 0xFC 280 #define LDO3_SEL_MASK 0x7C 281 #define LDO_MIN_VOLT 1000 282 #define LDO_MAX_VOLT 3300 283 284 285 /*Register VDIG1 (0x80) register.RegisterDescription */ 286 #define VDIG1_SEL_MASK 0x0C 287 #define VDIG1_SEL_SHIFT 2 288 #define VDIG1_ST_MASK 0x03 289 #define VDIG1_ST_SHIFT 0 290 291 292 /*Register VDIG2 (0x80) register.RegisterDescription */ 293 #define VDIG2_SEL_MASK 0x0C 294 #define VDIG2_SEL_SHIFT 2 295 #define VDIG2_ST_MASK 0x03 296 #define VDIG2_ST_SHIFT 0 297 298 299 /*Register VAUX1 (0x80) register.RegisterDescription */ 300 #define VAUX1_SEL_MASK 0x0C 301 #define VAUX1_SEL_SHIFT 2 302 #define VAUX1_ST_MASK 0x03 303 #define VAUX1_ST_SHIFT 0 304 305 306 /*Register VAUX2 (0x80) register.RegisterDescription */ 307 #define VAUX2_SEL_MASK 0x0C 308 #define VAUX2_SEL_SHIFT 2 309 #define VAUX2_ST_MASK 0x03 310 #define VAUX2_ST_SHIFT 0 311 312 313 /*Register VAUX33 (0x80) register.RegisterDescription */ 314 #define VAUX33_SEL_MASK 0x0C 315 #define VAUX33_SEL_SHIFT 2 316 #define VAUX33_ST_MASK 0x03 317 #define VAUX33_ST_SHIFT 0 318 319 320 /*Register VMMC (0x80) register.RegisterDescription */ 321 #define VMMC_SEL_MASK 0x0C 322 #define VMMC_SEL_SHIFT 2 323 #define VMMC_ST_MASK 0x03 324 #define VMMC_ST_SHIFT 0 325 326 327 /*Register VPLL (0x80) register.RegisterDescription */ 328 #define VPLL_SEL_MASK 0x0C 329 #define VPLL_SEL_SHIFT 2 330 #define VPLL_ST_MASK 0x03 331 #define VPLL_ST_SHIFT 0 332 333 334 /*Register VDAC (0x80) register.RegisterDescription */ 335 #define VDAC_SEL_MASK 0x0C 336 #define VDAC_SEL_SHIFT 2 337 #define VDAC_ST_MASK 0x03 338 #define VDAC_ST_SHIFT 0 339 340 341 /*Register THERM (0x80) register.RegisterDescription */ 342 #define THERM_THERM_HD_MASK 0x20 343 #define THERM_THERM_HD_SHIFT 5 344 #define THERM_THERM_TS_MASK 0x10 345 #define THERM_THERM_TS_SHIFT 4 346 #define THERM_THERM_HDSEL_MASK 0x0C 347 #define THERM_THERM_HDSEL_SHIFT 2 348 #define THERM_RSVD1_MASK 0x02 349 #define THERM_RSVD1_SHIFT 1 350 #define THERM_THERM_STATE_MASK 0x01 351 #define THERM_THERM_STATE_SHIFT 0 352 353 354 /*Register BBCH (0x80) register.RegisterDescription */ 355 #define BBCH_BBSEL_MASK 0x06 356 #define BBCH_BBSEL_SHIFT 1 357 358 359 /*Register DCDCCTRL (0x80) register.RegisterDescription */ 360 #define DCDCCTRL_VDD2_PSKIP_MASK 0x20 361 #define DCDCCTRL_VDD2_PSKIP_SHIFT 5 362 #define DCDCCTRL_VDD1_PSKIP_MASK 0x10 363 #define DCDCCTRL_VDD1_PSKIP_SHIFT 4 364 #define DCDCCTRL_VIO_PSKIP_MASK 0x08 365 #define DCDCCTRL_VIO_PSKIP_SHIFT 3 366 #define DCDCCTRL_DCDCCKEXT_MASK 0x04 367 #define DCDCCTRL_DCDCCKEXT_SHIFT 2 368 #define DCDCCTRL_DCDCCKSYNC_MASK 0x03 369 #define DCDCCTRL_DCDCCKSYNC_SHIFT 0 370 371 372 /*Register DEVCTRL (0x80) register.RegisterDescription */ 373 #define DEVCTRL_PWR_OFF_MASK 0x80 374 #define DEVCTRL_PWR_OFF_SHIFT 7 375 #define DEVCTRL_RTC_PWDN_MASK 0x40 376 #define DEVCTRL_RTC_PWDN_SHIFT 6 377 #define DEVCTRL_CK32K_CTRL_MASK 0x20 378 #define DEVCTRL_CK32K_CTRL_SHIFT 5 379 #define DEVCTRL_SR_CTL_I2C_SEL_MASK 0x10 380 #define DEVCTRL_SR_CTL_I2C_SEL_SHIFT 4 381 #define DEVCTRL_DEV_OFF_RST_MASK 0x08 382 #define DEVCTRL_DEV_OFF_RST_SHIFT 3 383 #define DEVCTRL_DEV_ON_MASK 0x04 384 #define DEVCTRL_DEV_ON_SHIFT 2 385 #define DEVCTRL_DEV_SLP_MASK 0x02 386 #define DEVCTRL_DEV_SLP_SHIFT 1 387 #define DEVCTRL_DEV_OFF_MASK 0x01 388 #define DEVCTRL_DEV_OFF_SHIFT 0 389 390 391 /*Register DEVCTRL2 (0x80) register.RegisterDescription */ 392 #define DEVCTRL2_TSLOT_LENGTH_MASK 0x30 393 #define DEVCTRL2_TSLOT_LENGTH_SHIFT 4 394 #define DEVCTRL2_SLEEPSIG_POL_MASK 0x08 395 #define DEVCTRL2_SLEEPSIG_POL_SHIFT 3 396 #define DEVCTRL2_PWON_LP_OFF_MASK 0x04 397 #define DEVCTRL2_PWON_LP_OFF_SHIFT 2 398 #define DEVCTRL2_PWON_LP_RST_MASK 0x02 399 #define DEVCTRL2_PWON_LP_RST_SHIFT 1 400 #define DEVCTRL2_IT_POL_MASK 0x01 401 #define DEVCTRL2_IT_POL_SHIFT 0 402 403 404 /*Register SLEEP_KEEP_LDO_ON (0x80) register.RegisterDescription */ 405 #define SLEEP_KEEP_LDO_ON_VDAC_KEEPON_MASK 0x80 406 #define SLEEP_KEEP_LDO_ON_VDAC_KEEPON_SHIFT 7 407 #define SLEEP_KEEP_LDO_ON_VPLL_KEEPON_MASK 0x40 408 #define SLEEP_KEEP_LDO_ON_VPLL_KEEPON_SHIFT 6 409 #define SLEEP_KEEP_LDO_ON_VAUX33_KEEPON_MASK 0x20 410 #define SLEEP_KEEP_LDO_ON_VAUX33_KEEPON_SHIFT 5 411 #define SLEEP_KEEP_LDO_ON_VAUX2_KEEPON_MASK 0x10 412 #define SLEEP_KEEP_LDO_ON_VAUX2_KEEPON_SHIFT 4 413 #define SLEEP_KEEP_LDO_ON_VAUX1_KEEPON_MASK 0x08 414 #define SLEEP_KEEP_LDO_ON_VAUX1_KEEPON_SHIFT 3 415 #define SLEEP_KEEP_LDO_ON_VDIG2_KEEPON_MASK 0x04 416 #define SLEEP_KEEP_LDO_ON_VDIG2_KEEPON_SHIFT 2 417 #define SLEEP_KEEP_LDO_ON_VDIG1_KEEPON_MASK 0x02 418 #define SLEEP_KEEP_LDO_ON_VDIG1_KEEPON_SHIFT 1 419 #define SLEEP_KEEP_LDO_ON_VMMC_KEEPON_MASK 0x01 420 #define SLEEP_KEEP_LDO_ON_VMMC_KEEPON_SHIFT 0 421 422 423 /*Register SLEEP_KEEP_RES_ON (0x80) register.RegisterDescription */ 424 #define SLEEP_KEEP_RES_ON_THERM_KEEPON_MASK 0x80 425 #define SLEEP_KEEP_RES_ON_THERM_KEEPON_SHIFT 7 426 #define SLEEP_KEEP_RES_ON_CLKOUT32K_KEEPON_MASK 0x40 427 #define SLEEP_KEEP_RES_ON_CLKOUT32K_KEEPON_SHIFT 6 428 #define SLEEP_KEEP_RES_ON_VRTC_KEEPON_MASK 0x20 429 #define SLEEP_KEEP_RES_ON_VRTC_KEEPON_SHIFT 5 430 #define SLEEP_KEEP_RES_ON_I2CHS_KEEPON_MASK 0x10 431 #define SLEEP_KEEP_RES_ON_I2CHS_KEEPON_SHIFT 4 432 #define SLEEP_KEEP_RES_ON_VDD3_KEEPON_MASK 0x08 433 #define SLEEP_KEEP_RES_ON_VDD3_KEEPON_SHIFT 3 434 #define SLEEP_KEEP_RES_ON_VDD2_KEEPON_MASK 0x04 435 #define SLEEP_KEEP_RES_ON_VDD2_KEEPON_SHIFT 2 436 #define SLEEP_KEEP_RES_ON_VDD1_KEEPON_MASK 0x02 437 #define SLEEP_KEEP_RES_ON_VDD1_KEEPON_SHIFT 1 438 #define SLEEP_KEEP_RES_ON_VIO_KEEPON_MASK 0x01 439 #define SLEEP_KEEP_RES_ON_VIO_KEEPON_SHIFT 0 440 441 442 /*Register SLEEP_SET_LDO_OFF (0x80) register.RegisterDescription */ 443 #define SLEEP_SET_LDO_OFF_VDAC_SETOFF_MASK 0x80 444 #define SLEEP_SET_LDO_OFF_VDAC_SETOFF_SHIFT 7 445 #define SLEEP_SET_LDO_OFF_VPLL_SETOFF_MASK 0x40 446 #define SLEEP_SET_LDO_OFF_VPLL_SETOFF_SHIFT 6 447 #define SLEEP_SET_LDO_OFF_VAUX33_SETOFF_MASK 0x20 448 #define SLEEP_SET_LDO_OFF_VAUX33_SETOFF_SHIFT 5 449 #define SLEEP_SET_LDO_OFF_VAUX2_SETOFF_MASK 0x10 450 #define SLEEP_SET_LDO_OFF_VAUX2_SETOFF_SHIFT 4 451 #define SLEEP_SET_LDO_OFF_VAUX1_SETOFF_MASK 0x08 452 #define SLEEP_SET_LDO_OFF_VAUX1_SETOFF_SHIFT 3 453 #define SLEEP_SET_LDO_OFF_VDIG2_SETOFF_MASK 0x04 454 #define SLEEP_SET_LDO_OFF_VDIG2_SETOFF_SHIFT 2 455 #define SLEEP_SET_LDO_OFF_VDIG1_SETOFF_MASK 0x02 456 #define SLEEP_SET_LDO_OFF_VDIG1_SETOFF_SHIFT 1 457 #define SLEEP_SET_LDO_OFF_VMMC_SETOFF_MASK 0x01 458 #define SLEEP_SET_LDO_OFF_VMMC_SETOFF_SHIFT 0 459 460 461 /*Register SLEEP_SET_RES_OFF (0x80) register.RegisterDescription */ 462 #define SLEEP_SET_RES_OFF_DEFAULT_VOLT_MASK 0x80 463 #define SLEEP_SET_RES_OFF_DEFAULT_VOLT_SHIFT 7 464 #define SLEEP_SET_RES_OFF_RSVD_MASK 0x60 465 #define SLEEP_SET_RES_OFF_RSVD_SHIFT 5 466 #define SLEEP_SET_RES_OFF_SPARE_SETOFF_MASK 0x10 467 #define SLEEP_SET_RES_OFF_SPARE_SETOFF_SHIFT 4 468 #define SLEEP_SET_RES_OFF_VDD3_SETOFF_MASK 0x08 469 #define SLEEP_SET_RES_OFF_VDD3_SETOFF_SHIFT 3 470 #define SLEEP_SET_RES_OFF_VDD2_SETOFF_MASK 0x04 471 #define SLEEP_SET_RES_OFF_VDD2_SETOFF_SHIFT 2 472 #define SLEEP_SET_RES_OFF_VDD1_SETOFF_MASK 0x02 473 #define SLEEP_SET_RES_OFF_VDD1_SETOFF_SHIFT 1 474 #define SLEEP_SET_RES_OFF_VIO_SETOFF_MASK 0x01 475 #define SLEEP_SET_RES_OFF_VIO_SETOFF_SHIFT 0 476 477 478 /*Register EN1_LDO_ASS (0x80) register.RegisterDescription */ 479 #define EN1_LDO_ASS_VDAC_EN1_MASK 0x80 480 #define EN1_LDO_ASS_VDAC_EN1_SHIFT 7 481 #define EN1_LDO_ASS_VPLL_EN1_MASK 0x40 482 #define EN1_LDO_ASS_VPLL_EN1_SHIFT 6 483 #define EN1_LDO_ASS_VAUX33_EN1_MASK 0x20 484 #define EN1_LDO_ASS_VAUX33_EN1_SHIFT 5 485 #define EN1_LDO_ASS_VAUX2_EN1_MASK 0x10 486 #define EN1_LDO_ASS_VAUX2_EN1_SHIFT 4 487 #define EN1_LDO_ASS_VAUX1_EN1_MASK 0x08 488 #define EN1_LDO_ASS_VAUX1_EN1_SHIFT 3 489 #define EN1_LDO_ASS_VDIG2_EN1_MASK 0x04 490 #define EN1_LDO_ASS_VDIG2_EN1_SHIFT 2 491 #define EN1_LDO_ASS_VDIG1_EN1_MASK 0x02 492 #define EN1_LDO_ASS_VDIG1_EN1_SHIFT 1 493 #define EN1_LDO_ASS_VMMC_EN1_MASK 0x01 494 #define EN1_LDO_ASS_VMMC_EN1_SHIFT 0 495 496 497 /*Register EN1_SMPS_ASS (0x80) register.RegisterDescription */ 498 #define EN1_SMPS_ASS_RSVD_MASK 0xE0 499 #define EN1_SMPS_ASS_RSVD_SHIFT 5 500 #define EN1_SMPS_ASS_SPARE_EN1_MASK 0x10 501 #define EN1_SMPS_ASS_SPARE_EN1_SHIFT 4 502 #define EN1_SMPS_ASS_VDD3_EN1_MASK 0x08 503 #define EN1_SMPS_ASS_VDD3_EN1_SHIFT 3 504 #define EN1_SMPS_ASS_VDD2_EN1_MASK 0x04 505 #define EN1_SMPS_ASS_VDD2_EN1_SHIFT 2 506 #define EN1_SMPS_ASS_VDD1_EN1_MASK 0x02 507 #define EN1_SMPS_ASS_VDD1_EN1_SHIFT 1 508 #define EN1_SMPS_ASS_VIO_EN1_MASK 0x01 509 #define EN1_SMPS_ASS_VIO_EN1_SHIFT 0 510 511 512 /*Register EN2_LDO_ASS (0x80) register.RegisterDescription */ 513 #define EN2_LDO_ASS_VDAC_EN2_MASK 0x80 514 #define EN2_LDO_ASS_VDAC_EN2_SHIFT 7 515 #define EN2_LDO_ASS_VPLL_EN2_MASK 0x40 516 #define EN2_LDO_ASS_VPLL_EN2_SHIFT 6 517 #define EN2_LDO_ASS_VAUX33_EN2_MASK 0x20 518 #define EN2_LDO_ASS_VAUX33_EN2_SHIFT 5 519 #define EN2_LDO_ASS_VAUX2_EN2_MASK 0x10 520 #define EN2_LDO_ASS_VAUX2_EN2_SHIFT 4 521 #define EN2_LDO_ASS_VAUX1_EN2_MASK 0x08 522 #define EN2_LDO_ASS_VAUX1_EN2_SHIFT 3 523 #define EN2_LDO_ASS_VDIG2_EN2_MASK 0x04 524 #define EN2_LDO_ASS_VDIG2_EN2_SHIFT 2 525 #define EN2_LDO_ASS_VDIG1_EN2_MASK 0x02 526 #define EN2_LDO_ASS_VDIG1_EN2_SHIFT 1 527 #define EN2_LDO_ASS_VMMC_EN2_MASK 0x01 528 #define EN2_LDO_ASS_VMMC_EN2_SHIFT 0 529 530 531 /*Register EN2_SMPS_ASS (0x80) register.RegisterDescription */ 532 #define EN2_SMPS_ASS_RSVD_MASK 0xE0 533 #define EN2_SMPS_ASS_RSVD_SHIFT 5 534 #define EN2_SMPS_ASS_SPARE_EN2_MASK 0x10 535 #define EN2_SMPS_ASS_SPARE_EN2_SHIFT 4 536 #define EN2_SMPS_ASS_VDD3_EN2_MASK 0x08 537 #define EN2_SMPS_ASS_VDD3_EN2_SHIFT 3 538 #define EN2_SMPS_ASS_VDD2_EN2_MASK 0x04 539 #define EN2_SMPS_ASS_VDD2_EN2_SHIFT 2 540 #define EN2_SMPS_ASS_VDD1_EN2_MASK 0x02 541 #define EN2_SMPS_ASS_VDD1_EN2_SHIFT 1 542 #define EN2_SMPS_ASS_VIO_EN2_MASK 0x01 543 #define EN2_SMPS_ASS_VIO_EN2_SHIFT 0 544 545 546 /*Register EN3_LDO_ASS (0x80) register.RegisterDescription */ 547 #define EN3_LDO_ASS_VDAC_EN3_MASK 0x80 548 #define EN3_LDO_ASS_VDAC_EN3_SHIFT 7 549 #define EN3_LDO_ASS_VPLL_EN3_MASK 0x40 550 #define EN3_LDO_ASS_VPLL_EN3_SHIFT 6 551 #define EN3_LDO_ASS_VAUX33_EN3_MASK 0x20 552 #define EN3_LDO_ASS_VAUX33_EN3_SHIFT 5 553 #define EN3_LDO_ASS_VAUX2_EN3_MASK 0x10 554 #define EN3_LDO_ASS_VAUX2_EN3_SHIFT 4 555 #define EN3_LDO_ASS_VAUX1_EN3_MASK 0x08 556 #define EN3_LDO_ASS_VAUX1_EN3_SHIFT 3 557 #define EN3_LDO_ASS_VDIG2_EN3_MASK 0x04 558 #define EN3_LDO_ASS_VDIG2_EN3_SHIFT 2 559 #define EN3_LDO_ASS_VDIG1_EN3_MASK 0x02 560 #define EN3_LDO_ASS_VDIG1_EN3_SHIFT 1 561 #define EN3_LDO_ASS_VMMC_EN3_MASK 0x01 562 #define EN3_LDO_ASS_VMMC_EN3_SHIFT 0 563 564 565 /*Register SPARE (0x80) register.RegisterDescription */ 566 #define SPARE_SPARE_MASK 0xFF 567 #define SPARE_SPARE_SHIFT 0 568 569 #define TPS65910_INT_STS_RTC_PERIOD_IT_MASK 0x80 570 #define TPS65910_INT_STS_RTC_PERIOD_IT_SHIFT 7 571 #define TPS65910_INT_STS_RTC_ALARM_IT_MASK 0x40 572 #define TPS65910_INT_STS_RTC_ALARM_IT_SHIFT 6 573 #define TPS65910_INT_STS_HOTDIE_IT_MASK 0x20 574 #define TPS65910_INT_STS_HOTDIE_IT_SHIFT 5 575 #define TPS65910_INT_STS_PWRHOLD_F_IT_MASK 0x10 576 #define TPS65910_INT_STS_PWRHOLD_F_IT_SHIFT 4 577 #define TPS65910_INT_STS_PWRON_LP_IT_MASK 0x08 578 #define TPS65910_INT_STS_PWRON_LP_IT_SHIFT 3 579 #define TPS65910_INT_STS_PWRON_IT_MASK 0x04 580 #define TPS65910_INT_STS_PWRON_IT_SHIFT 2 581 #define TPS65910_INT_STS_VMBHI_IT_MASK 0x02 582 #define TPS65910_INT_STS_VMBHI_IT_SHIFT 1 583 #define TPS65910_INT_STS_VMBDCH_IT_MASK 0x01 584 #define TPS65910_INT_STS_VMBDCH_IT_SHIFT 0 585 586 #define TPS65910_INT_MSK_RTC_PERIOD_IT_MSK_MASK 0x80 587 #define TPS65910_INT_MSK_RTC_PERIOD_IT_MSK_SHIFT 7 588 #define TPS65910_INT_MSK_RTC_ALARM_IT_MSK_MASK 0x40 589 #define TPS65910_INT_MSK_RTC_ALARM_IT_MSK_SHIFT 6 590 #define TPS65910_INT_MSK_HOTDIE_IT_MSK_MASK 0x20 591 #define TPS65910_INT_MSK_HOTDIE_IT_MSK_SHIFT 5 592 #define TPS65910_INT_MSK_PWRHOLD_IT_MSK_MASK 0x10 593 #define TPS65910_INT_MSK_PWRHOLD_IT_MSK_SHIFT 4 594 #define TPS65910_INT_MSK_PWRON_LP_IT_MSK_MASK 0x08 595 #define TPS65910_INT_MSK_PWRON_LP_IT_MSK_SHIFT 3 596 #define TPS65910_INT_MSK_PWRON_IT_MSK_MASK 0x04 597 #define TPS65910_INT_MSK_PWRON_IT_MSK_SHIFT 2 598 #define TPS65910_INT_MSK_VMBHI_IT_MSK_MASK 0x02 599 #define TPS65910_INT_MSK_VMBHI_IT_MSK_SHIFT 1 600 #define TPS65910_INT_MSK_VMBDCH_IT_MSK_MASK 0x01 601 #define TPS65910_INT_MSK_VMBDCH_IT_MSK_SHIFT 0 602 603 #define TPS65910_INT_STS2_GPIO0_F_IT_SHIFT 2 604 #define TPS65910_INT_STS2_GPIO0_F_IT_MASK 0x02 605 #define TPS65910_INT_STS2_GPIO0_R_IT_SHIFT 1 606 #define TPS65910_INT_STS2_GPIO0_R_IT_MASK 0x01 607 608 #define TPS65910_INT_MSK2_GPIO0_F_IT_MSK_SHIFT 2 609 #define TPS65910_INT_MSK2_GPIO0_F_IT_MSK_MASK 0x02 610 #define TPS65910_INT_MSK2_GPIO0_R_IT_MSK_SHIFT 1 611 #define TPS65910_INT_MSK2_GPIO0_R_IT_MSK_MASK 0x01 612 613 /*Register INT_STS (0x80) register.RegisterDescription */ 614 #define INT_STS_RTC_PERIOD_IT_MASK 0x80 615 #define INT_STS_RTC_PERIOD_IT_SHIFT 7 616 #define INT_STS_RTC_ALARM_IT_MASK 0x40 617 #define INT_STS_RTC_ALARM_IT_SHIFT 6 618 #define INT_STS_HOTDIE_IT_MASK 0x20 619 #define INT_STS_HOTDIE_IT_SHIFT 5 620 #define INT_STS_PWRHOLD_R_IT_MASK 0x10 621 #define INT_STS_PWRHOLD_R_IT_SHIFT 4 622 #define INT_STS_PWRON_LP_IT_MASK 0x08 623 #define INT_STS_PWRON_LP_IT_SHIFT 3 624 #define INT_STS_PWRON_IT_MASK 0x04 625 #define INT_STS_PWRON_IT_SHIFT 2 626 #define INT_STS_VMBHI_IT_MASK 0x02 627 #define INT_STS_VMBHI_IT_SHIFT 1 628 #define INT_STS_PWRHOLD_F_IT_MASK 0x01 629 #define INT_STS_PWRHOLD_F_IT_SHIFT 0 630 631 632 /*Register INT_MSK (0x80) register.RegisterDescription */ 633 #define INT_MSK_RTC_PERIOD_IT_MSK_MASK 0x80 634 #define INT_MSK_RTC_PERIOD_IT_MSK_SHIFT 7 635 #define INT_MSK_RTC_ALARM_IT_MSK_MASK 0x40 636 #define INT_MSK_RTC_ALARM_IT_MSK_SHIFT 6 637 #define INT_MSK_HOTDIE_IT_MSK_MASK 0x20 638 #define INT_MSK_HOTDIE_IT_MSK_SHIFT 5 639 #define INT_MSK_PWRHOLD_R_IT_MSK_MASK 0x10 640 #define INT_MSK_PWRHOLD_R_IT_MSK_SHIFT 4 641 #define INT_MSK_PWRON_LP_IT_MSK_MASK 0x08 642 #define INT_MSK_PWRON_LP_IT_MSK_SHIFT 3 643 #define INT_MSK_PWRON_IT_MSK_MASK 0x04 644 #define INT_MSK_PWRON_IT_MSK_SHIFT 2 645 #define INT_MSK_VMBHI_IT_MSK_MASK 0x02 646 #define INT_MSK_VMBHI_IT_MSK_SHIFT 1 647 #define INT_MSK_PWRHOLD_F_IT_MSK_MASK 0x01 648 #define INT_MSK_PWRHOLD_F_IT_MSK_SHIFT 0 649 650 651 /*Register INT_STS2 (0x80) register.RegisterDescription */ 652 #define INT_STS2_GPIO3_F_IT_MASK 0x80 653 #define INT_STS2_GPIO3_F_IT_SHIFT 7 654 #define INT_STS2_GPIO3_R_IT_MASK 0x40 655 #define INT_STS2_GPIO3_R_IT_SHIFT 6 656 #define INT_STS2_GPIO2_F_IT_MASK 0x20 657 #define INT_STS2_GPIO2_F_IT_SHIFT 5 658 #define INT_STS2_GPIO2_R_IT_MASK 0x10 659 #define INT_STS2_GPIO2_R_IT_SHIFT 4 660 #define INT_STS2_GPIO1_F_IT_MASK 0x08 661 #define INT_STS2_GPIO1_F_IT_SHIFT 3 662 #define INT_STS2_GPIO1_R_IT_MASK 0x04 663 #define INT_STS2_GPIO1_R_IT_SHIFT 2 664 #define INT_STS2_GPIO0_F_IT_MASK 0x02 665 #define INT_STS2_GPIO0_F_IT_SHIFT 1 666 #define INT_STS2_GPIO0_R_IT_MASK 0x01 667 #define INT_STS2_GPIO0_R_IT_SHIFT 0 668 669 670 /*Register INT_MSK2 (0x80) register.RegisterDescription */ 671 #define INT_MSK2_GPIO3_F_IT_MSK_MASK 0x80 672 #define INT_MSK2_GPIO3_F_IT_MSK_SHIFT 7 673 #define INT_MSK2_GPIO3_R_IT_MSK_MASK 0x40 674 #define INT_MSK2_GPIO3_R_IT_MSK_SHIFT 6 675 #define INT_MSK2_GPIO2_F_IT_MSK_MASK 0x20 676 #define INT_MSK2_GPIO2_F_IT_MSK_SHIFT 5 677 #define INT_MSK2_GPIO2_R_IT_MSK_MASK 0x10 678 #define INT_MSK2_GPIO2_R_IT_MSK_SHIFT 4 679 #define INT_MSK2_GPIO1_F_IT_MSK_MASK 0x08 680 #define INT_MSK2_GPIO1_F_IT_MSK_SHIFT 3 681 #define INT_MSK2_GPIO1_R_IT_MSK_MASK 0x04 682 #define INT_MSK2_GPIO1_R_IT_MSK_SHIFT 2 683 #define INT_MSK2_GPIO0_F_IT_MSK_MASK 0x02 684 #define INT_MSK2_GPIO0_F_IT_MSK_SHIFT 1 685 #define INT_MSK2_GPIO0_R_IT_MSK_MASK 0x01 686 #define INT_MSK2_GPIO0_R_IT_MSK_SHIFT 0 687 688 689 /*Register INT_STS3 (0x80) register.RegisterDescription */ 690 #define INT_STS3_PWRDN_IT_MASK 0x80 691 #define INT_STS3_PWRDN_IT_SHIFT 7 692 #define INT_STS3_VMBCH2_L_IT_MASK 0x40 693 #define INT_STS3_VMBCH2_L_IT_SHIFT 6 694 #define INT_STS3_VMBCH2_H_IT_MASK 0x20 695 #define INT_STS3_VMBCH2_H_IT_SHIFT 5 696 #define INT_STS3_WTCHDG_IT_MASK 0x10 697 #define INT_STS3_WTCHDG_IT_SHIFT 4 698 #define INT_STS3_GPIO5_F_IT_MASK 0x08 699 #define INT_STS3_GPIO5_F_IT_SHIFT 3 700 #define INT_STS3_GPIO5_R_IT_MASK 0x04 701 #define INT_STS3_GPIO5_R_IT_SHIFT 2 702 #define INT_STS3_GPIO4_F_IT_MASK 0x02 703 #define INT_STS3_GPIO4_F_IT_SHIFT 1 704 #define INT_STS3_GPIO4_R_IT_MASK 0x01 705 #define INT_STS3_GPIO4_R_IT_SHIFT 0 706 707 708 /*Register INT_MSK3 (0x80) register.RegisterDescription */ 709 #define INT_MSK3_PWRDN_IT_MSK_MASK 0x80 710 #define INT_MSK3_PWRDN_IT_MSK_SHIFT 7 711 #define INT_MSK3_VMBCH2_L_IT_MSK_MASK 0x40 712 #define INT_MSK3_VMBCH2_L_IT_MSK_SHIFT 6 713 #define INT_MSK3_VMBCH2_H_IT_MSK_MASK 0x20 714 #define INT_MSK3_VMBCH2_H_IT_MSK_SHIFT 5 715 #define INT_MSK3_WTCHDG_IT_MSK_MASK 0x10 716 #define INT_MSK3_WTCHDG_IT_MSK_SHIFT 4 717 #define INT_MSK3_GPIO5_F_IT_MSK_MASK 0x08 718 #define INT_MSK3_GPIO5_F_IT_MSK_SHIFT 3 719 #define INT_MSK3_GPIO5_R_IT_MSK_MASK 0x04 720 #define INT_MSK3_GPIO5_R_IT_MSK_SHIFT 2 721 #define INT_MSK3_GPIO4_F_IT_MSK_MASK 0x02 722 #define INT_MSK3_GPIO4_F_IT_MSK_SHIFT 1 723 #define INT_MSK3_GPIO4_R_IT_MSK_MASK 0x01 724 #define INT_MSK3_GPIO4_R_IT_MSK_SHIFT 0 725 726 727 /*Register GPIO (0x80) register.RegisterDescription */ 728 #define GPIO_SLEEP_MASK 0x80 729 #define GPIO_SLEEP_SHIFT 7 730 #define GPIO_DEB_MASK 0x10 731 #define GPIO_DEB_SHIFT 4 732 #define GPIO_PUEN_MASK 0x08 733 #define GPIO_PUEN_SHIFT 3 734 #define GPIO_CFG_MASK 0x04 735 #define GPIO_CFG_SHIFT 2 736 #define GPIO_STS_MASK 0x02 737 #define GPIO_STS_SHIFT 1 738 #define GPIO_SET_MASK 0x01 739 #define GPIO_SET_SHIFT 0 740 741 742 /*Register JTAGVERNUM (0x80) register.RegisterDescription */ 743 #define JTAGVERNUM_VERNUM_MASK 0x0F 744 #define JTAGVERNUM_VERNUM_SHIFT 0 745 746 747 /* Register VDDCTRL (0x27) bit definitions */ 748 #define VDDCTRL_ST_MASK 0x03 749 #define VDDCTRL_ST_SHIFT 0 750 751 752 /*Register VDDCTRL_OP (0x28) bit definitions */ 753 #define VDDCTRL_OP_CMD_MASK 0x80 754 #define VDDCTRL_OP_CMD_SHIFT 7 755 #define VDDCTRL_OP_SEL_MASK 0x7F 756 #define VDDCTRL_OP_SEL_SHIFT 0 757 758 759 /*Register VDDCTRL_SR (0x29) bit definitions */ 760 #define VDDCTRL_SR_SEL_MASK 0x7F 761 #define VDDCTRL_SR_SEL_SHIFT 0 762 763 764 /* IRQ Definitions */ 765 #define TPS65910_IRQ_VBAT_VMBDCH 0 766 #define TPS65910_IRQ_VBAT_VMHI 1 767 #define TPS65910_IRQ_PWRON 2 768 #define TPS65910_IRQ_PWRON_LP 3 769 #define TPS65910_IRQ_PWRHOLD 4 770 #define TPS65910_IRQ_HOTDIE 5 771 #define TPS65910_IRQ_RTC_ALARM 6 772 #define TPS65910_IRQ_RTC_PERIOD 7 773 #define TPS65910_IRQ_GPIO_R 8 774 #define TPS65910_IRQ_GPIO_F 9 775 #define TPS65910_NUM_IRQ 10 776 777 #define TPS65911_IRQ_PWRHOLD_F 0 778 #define TPS65911_IRQ_VBAT_VMHI 1 779 #define TPS65911_IRQ_PWRON 2 780 #define TPS65911_IRQ_PWRON_LP 3 781 #define TPS65911_IRQ_PWRHOLD_R 4 782 #define TPS65911_IRQ_HOTDIE 5 783 #define TPS65911_IRQ_RTC_ALARM 6 784 #define TPS65911_IRQ_RTC_PERIOD 7 785 #define TPS65911_IRQ_GPIO0_R 8 786 #define TPS65911_IRQ_GPIO0_F 9 787 #define TPS65911_IRQ_GPIO1_R 10 788 #define TPS65911_IRQ_GPIO1_F 11 789 #define TPS65911_IRQ_GPIO2_R 12 790 #define TPS65911_IRQ_GPIO2_F 13 791 #define TPS65911_IRQ_GPIO3_R 14 792 #define TPS65911_IRQ_GPIO3_F 15 793 #define TPS65911_IRQ_GPIO4_R 16 794 #define TPS65911_IRQ_GPIO4_F 17 795 #define TPS65911_IRQ_GPIO5_R 18 796 #define TPS65911_IRQ_GPIO5_F 19 797 #define TPS65911_IRQ_WTCHDG 20 798 #define TPS65911_IRQ_VMBCH2_H 21 799 #define TPS65911_IRQ_VMBCH2_L 22 800 #define TPS65911_IRQ_PWRDN 23 801 802 #define TPS65911_NUM_IRQ 24 803 804 /* GPIO Register Definitions */ 805 #define TPS65910_GPIO_DEB BIT(2) 806 #define TPS65910_GPIO_PUEN BIT(3) 807 #define TPS65910_GPIO_CFG BIT(2) 808 #define TPS65910_GPIO_STS BIT(1) 809 #define TPS65910_GPIO_SET BIT(0) 810 811 /* Max number of TPS65910/11 GPIOs */ 812 #define TPS65910_NUM_GPIO 6 813 #define TPS65911_NUM_GPIO 9 814 #define TPS6591X_MAX_NUM_GPIO 9 815 816 /* Regulator Index Definitions */ 817 #define TPS65910_REG_VRTC 0 818 #define TPS65910_REG_VIO 1 819 #define TPS65910_REG_VDD1 2 820 #define TPS65910_REG_VDD2 3 821 #define TPS65910_REG_VDD3 4 822 #define TPS65910_REG_VDIG1 5 823 #define TPS65910_REG_VDIG2 6 824 #define TPS65910_REG_VPLL 7 825 #define TPS65910_REG_VDAC 8 826 #define TPS65910_REG_VAUX1 9 827 #define TPS65910_REG_VAUX2 10 828 #define TPS65910_REG_VAUX33 11 829 #define TPS65910_REG_VMMC 12 830 #define TPS65910_REG_VBB 13 831 832 #define TPS65911_REG_VDDCTRL 4 833 #define TPS65911_REG_LDO1 5 834 #define TPS65911_REG_LDO2 6 835 #define TPS65911_REG_LDO3 7 836 #define TPS65911_REG_LDO4 8 837 #define TPS65911_REG_LDO5 9 838 #define TPS65911_REG_LDO6 10 839 #define TPS65911_REG_LDO7 11 840 #define TPS65911_REG_LDO8 12 841 842 /* Max number of TPS65910/11 regulators */ 843 #define TPS65910_NUM_REGS 14 844 845 /* External sleep controls through EN1/EN2/EN3/SLEEP inputs */ 846 #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN1 0x1 847 #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN2 0x2 848 #define TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 0x4 849 #define TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP 0x8 850 851 /* 852 * Sleep keepon data: Maintains the state in sleep mode 853 * @therm_keepon: Keep on the thermal monitoring in sleep state. 854 * @clkout32k_keepon: Keep on the 32KHz clock output in sleep state. 855 * @i2chs_keepon: Keep on high speed internal clock in sleep state. 856 */ 857 struct tps65910_sleep_keepon_data { 858 unsigned therm_keepon:1; 859 unsigned clkout32k_keepon:1; 860 unsigned i2chs_keepon:1; 861 }; 862 863 /** 864 * struct tps65910_board 865 * Board platform data may be used to initialize regulators. 866 */ 867 868 struct tps65910_board { 869 int gpio_base; 870 int irq; 871 int irq_base; 872 int vmbch_threshold; 873 int vmbch2_threshold; 874 bool en_ck32k_xtal; 875 bool en_dev_slp; 876 bool pm_off; 877 struct tps65910_sleep_keepon_data slp_keepon; 878 bool en_gpio_sleep[TPS6591X_MAX_NUM_GPIO]; 879 unsigned long regulator_ext_sleep_control[TPS65910_NUM_REGS]; 880 struct regulator_init_data *tps65910_pmic_init_data[TPS65910_NUM_REGS]; 881 }; 882 883 /** 884 * struct tps65910 - tps65910 sub-driver chip access routines 885 */ 886 887 struct tps65910 { 888 struct device *dev; 889 struct i2c_client *i2c_client; 890 struct regmap *regmap; 891 unsigned long id; 892 893 /* Device node parsed board data */ 894 struct tps65910_board *of_plat_data; 895 896 /* IRQ Handling */ 897 int chip_irq; 898 struct regmap_irq_chip_data *irq_data; 899 }; 900 901 struct tps65910_platform_data { 902 int irq; 903 int irq_base; 904 }; 905 tps65910_chip_id(struct tps65910 * tps65910)906static inline int tps65910_chip_id(struct tps65910 *tps65910) 907 { 908 return tps65910->id; 909 } 910 911 #endif /* __LINUX_MFD_TPS65910_H */ 912