rohm-bd71815.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Copyright 2021 ROHM Semiconductors.
  4. *
  5. * Author: Matti Vaittinen <[email protected]>
  6. *
  7. * Copyright 2014 Embest Technology Co. Ltd. Inc.
  8. *
  9. * Author: [email protected]
  10. */
  11. #ifndef _MFD_BD71815_H
  12. #define _MFD_BD71815_H
  13. #include <linux/regmap.h>
  14. enum {
  15. BD71815_BUCK1 = 0,
  16. BD71815_BUCK2,
  17. BD71815_BUCK3,
  18. BD71815_BUCK4,
  19. BD71815_BUCK5,
  20. /* General Purpose */
  21. BD71815_LDO1,
  22. BD71815_LDO2,
  23. BD71815_LDO3,
  24. /* LDOs for SD Card and SD Card Interface */
  25. BD71815_LDO4,
  26. BD71815_LDO5,
  27. /* LDO for DDR Reference Voltage */
  28. BD71815_LDODVREF,
  29. /* LDO for Low-Power State Retention */
  30. BD71815_LDOLPSR,
  31. BD71815_WLED,
  32. BD71815_REGULATOR_CNT,
  33. };
  34. #define BD71815_SUPPLY_STATE_ENABLED 0x1
  35. enum {
  36. BD71815_REG_DEVICE = 0,
  37. BD71815_REG_PWRCTRL,
  38. BD71815_REG_BUCK1_MODE,
  39. BD71815_REG_BUCK2_MODE,
  40. BD71815_REG_BUCK3_MODE,
  41. BD71815_REG_BUCK4_MODE,
  42. BD71815_REG_BUCK5_MODE,
  43. BD71815_REG_BUCK1_VOLT_H,
  44. BD71815_REG_BUCK1_VOLT_L,
  45. BD71815_REG_BUCK2_VOLT_H,
  46. BD71815_REG_BUCK2_VOLT_L,
  47. BD71815_REG_BUCK3_VOLT,
  48. BD71815_REG_BUCK4_VOLT,
  49. BD71815_REG_BUCK5_VOLT,
  50. BD71815_REG_LED_CTRL,
  51. BD71815_REG_LED_DIMM,
  52. BD71815_REG_LDO_MODE1,
  53. BD71815_REG_LDO_MODE2,
  54. BD71815_REG_LDO_MODE3,
  55. BD71815_REG_LDO_MODE4,
  56. BD71815_REG_LDO1_VOLT,
  57. BD71815_REG_LDO2_VOLT,
  58. BD71815_REG_LDO3_VOLT,
  59. BD71815_REG_LDO4_VOLT,
  60. BD71815_REG_LDO5_VOLT_H,
  61. BD71815_REG_LDO5_VOLT_L,
  62. BD71815_REG_BUCK_PD_DIS,
  63. BD71815_REG_LDO_PD_DIS,
  64. BD71815_REG_GPO,
  65. BD71815_REG_OUT32K,
  66. BD71815_REG_SEC,
  67. BD71815_REG_MIN,
  68. BD71815_REG_HOUR,
  69. BD71815_REG_WEEK,
  70. BD71815_REG_DAY,
  71. BD71815_REG_MONTH,
  72. BD71815_REG_YEAR,
  73. BD71815_REG_ALM0_SEC,
  74. BD71815_REG_ALM1_SEC = 0x2C,
  75. BD71815_REG_ALM0_MASK = 0x33,
  76. BD71815_REG_ALM1_MASK,
  77. BD71815_REG_ALM2,
  78. BD71815_REG_TRIM,
  79. BD71815_REG_CONF,
  80. BD71815_REG_SYS_INIT,
  81. BD71815_REG_CHG_STATE,
  82. BD71815_REG_CHG_LAST_STATE,
  83. BD71815_REG_BAT_STAT,
  84. BD71815_REG_DCIN_STAT,
  85. BD71815_REG_VSYS_STAT,
  86. BD71815_REG_CHG_STAT,
  87. BD71815_REG_CHG_WDT_STAT,
  88. BD71815_REG_BAT_TEMP,
  89. BD71815_REG_IGNORE_0,
  90. BD71815_REG_INHIBIT_0,
  91. BD71815_REG_DCIN_CLPS,
  92. BD71815_REG_VSYS_REG,
  93. BD71815_REG_VSYS_MAX,
  94. BD71815_REG_VSYS_MIN,
  95. BD71815_REG_CHG_SET1,
  96. BD71815_REG_CHG_SET2,
  97. BD71815_REG_CHG_WDT_PRE,
  98. BD71815_REG_CHG_WDT_FST,
  99. BD71815_REG_CHG_IPRE,
  100. BD71815_REG_CHG_IFST,
  101. BD71815_REG_CHG_IFST_TERM,
  102. BD71815_REG_CHG_VPRE,
  103. BD71815_REG_CHG_VBAT_1,
  104. BD71815_REG_CHG_VBAT_2,
  105. BD71815_REG_CHG_VBAT_3,
  106. BD71815_REG_CHG_LED_1,
  107. BD71815_REG_VF_TH,
  108. BD71815_REG_BAT_SET_1,
  109. BD71815_REG_BAT_SET_2,
  110. BD71815_REG_BAT_SET_3,
  111. BD71815_REG_ALM_VBAT_TH_U,
  112. BD71815_REG_ALM_VBAT_TH_L,
  113. BD71815_REG_ALM_DCIN_TH,
  114. BD71815_REG_ALM_VSYS_TH,
  115. BD71815_REG_VM_IBAT_U,
  116. BD71815_REG_VM_IBAT_L,
  117. BD71815_REG_VM_VBAT_U,
  118. BD71815_REG_VM_VBAT_L,
  119. BD71815_REG_VM_BTMP,
  120. BD71815_REG_VM_VTH,
  121. BD71815_REG_VM_DCIN_U,
  122. BD71815_REG_VM_DCIN_L,
  123. BD71815_REG_VM_VSYS,
  124. BD71815_REG_VM_VF,
  125. BD71815_REG_VM_OCI_PRE_U,
  126. BD71815_REG_VM_OCI_PRE_L,
  127. BD71815_REG_VM_OCV_PRE_U,
  128. BD71815_REG_VM_OCV_PRE_L,
  129. BD71815_REG_VM_OCI_PST_U,
  130. BD71815_REG_VM_OCI_PST_L,
  131. BD71815_REG_VM_OCV_PST_U,
  132. BD71815_REG_VM_OCV_PST_L,
  133. BD71815_REG_VM_SA_VBAT_U,
  134. BD71815_REG_VM_SA_VBAT_L,
  135. BD71815_REG_VM_SA_IBAT_U,
  136. BD71815_REG_VM_SA_IBAT_L,
  137. BD71815_REG_CC_CTRL,
  138. BD71815_REG_CC_BATCAP1_TH_U,
  139. BD71815_REG_CC_BATCAP1_TH_L,
  140. BD71815_REG_CC_BATCAP2_TH_U,
  141. BD71815_REG_CC_BATCAP2_TH_L,
  142. BD71815_REG_CC_BATCAP3_TH_U,
  143. BD71815_REG_CC_BATCAP3_TH_L,
  144. BD71815_REG_CC_STAT,
  145. BD71815_REG_CC_CCNTD_3,
  146. BD71815_REG_CC_CCNTD_2,
  147. BD71815_REG_CC_CCNTD_1,
  148. BD71815_REG_CC_CCNTD_0,
  149. BD71815_REG_CC_CURCD_U,
  150. BD71815_REG_CC_CURCD_L,
  151. BD71815_REG_VM_OCUR_THR_1,
  152. BD71815_REG_VM_OCUR_DUR_1,
  153. BD71815_REG_VM_OCUR_THR_2,
  154. BD71815_REG_VM_OCUR_DUR_2,
  155. BD71815_REG_VM_OCUR_THR_3,
  156. BD71815_REG_VM_OCUR_DUR_3,
  157. BD71815_REG_VM_OCUR_MON,
  158. BD71815_REG_VM_BTMP_OV_THR,
  159. BD71815_REG_VM_BTMP_OV_DUR,
  160. BD71815_REG_VM_BTMP_LO_THR,
  161. BD71815_REG_VM_BTMP_LO_DUR,
  162. BD71815_REG_VM_BTMP_MON,
  163. BD71815_REG_INT_EN_01,
  164. BD71815_REG_INT_EN_11 = 0x95,
  165. BD71815_REG_INT_EN_12,
  166. BD71815_REG_INT_STAT,
  167. BD71815_REG_INT_STAT_01,
  168. BD71815_REG_INT_STAT_02,
  169. BD71815_REG_INT_STAT_03,
  170. BD71815_REG_INT_STAT_04,
  171. BD71815_REG_INT_STAT_05,
  172. BD71815_REG_INT_STAT_06,
  173. BD71815_REG_INT_STAT_07,
  174. BD71815_REG_INT_STAT_08,
  175. BD71815_REG_INT_STAT_09,
  176. BD71815_REG_INT_STAT_10,
  177. BD71815_REG_INT_STAT_11,
  178. BD71815_REG_INT_STAT_12,
  179. BD71815_REG_INT_UPDATE,
  180. BD71815_REG_VM_VSYS_U = 0xC0,
  181. BD71815_REG_VM_VSYS_L,
  182. BD71815_REG_VM_SA_VSYS_U,
  183. BD71815_REG_VM_SA_VSYS_L,
  184. BD71815_REG_VM_SA_IBAT_MIN_U = 0xD0,
  185. BD71815_REG_VM_SA_IBAT_MIN_L,
  186. BD71815_REG_VM_SA_IBAT_MAX_U,
  187. BD71815_REG_VM_SA_IBAT_MAX_L,
  188. BD71815_REG_VM_SA_VBAT_MIN_U,
  189. BD71815_REG_VM_SA_VBAT_MIN_L,
  190. BD71815_REG_VM_SA_VBAT_MAX_U,
  191. BD71815_REG_VM_SA_VBAT_MAX_L,
  192. BD71815_REG_VM_SA_VSYS_MIN_U,
  193. BD71815_REG_VM_SA_VSYS_MIN_L,
  194. BD71815_REG_VM_SA_VSYS_MAX_U,
  195. BD71815_REG_VM_SA_VSYS_MAX_L,
  196. BD71815_REG_VM_SA_MINMAX_CLR,
  197. BD71815_REG_REX_CCNTD_3 = 0xE0,
  198. BD71815_REG_REX_CCNTD_2,
  199. BD71815_REG_REX_CCNTD_1,
  200. BD71815_REG_REX_CCNTD_0,
  201. BD71815_REG_REX_SA_VBAT_U,
  202. BD71815_REG_REX_SA_VBAT_L,
  203. BD71815_REG_REX_CTRL_1,
  204. BD71815_REG_REX_CTRL_2,
  205. BD71815_REG_FULL_CCNTD_3,
  206. BD71815_REG_FULL_CCNTD_2,
  207. BD71815_REG_FULL_CCNTD_1,
  208. BD71815_REG_FULL_CCNTD_0,
  209. BD71815_REG_FULL_CTRL,
  210. BD71815_REG_CCNTD_CHG_3 = 0xF0,
  211. BD71815_REG_CCNTD_CHG_2,
  212. BD71815_REG_TEST_MODE = 0xFE,
  213. BD71815_MAX_REGISTER,
  214. };
  215. /* BD71815_REG_BUCK1_MODE bits */
  216. #define BD71815_BUCK_RAMPRATE_MASK 0xC0
  217. #define BD71815_BUCK_RAMPRATE_10P00MV 0x0
  218. #define BD71815_BUCK_RAMPRATE_5P00MV 0x01
  219. #define BD71815_BUCK_RAMPRATE_2P50MV 0x02
  220. #define BD71815_BUCK_RAMPRATE_1P25MV 0x03
  221. #define BD71815_BUCK_PWM_FIXED BIT(4)
  222. #define BD71815_BUCK_SNVS_ON BIT(3)
  223. #define BD71815_BUCK_RUN_ON BIT(2)
  224. #define BD71815_BUCK_LPSR_ON BIT(1)
  225. #define BD71815_BUCK_SUSP_ON BIT(0)
  226. /* BD71815_REG_BUCK1_VOLT_H bits */
  227. #define BD71815_BUCK_DVSSEL BIT(7)
  228. #define BD71815_BUCK_STBY_DVS BIT(6)
  229. #define BD71815_VOLT_MASK 0x3F
  230. #define BD71815_BUCK1_H_DEFAULT 0x14
  231. #define BD71815_BUCK1_L_DEFAULT 0x14
  232. /* BD71815_REG_BUCK2_VOLT_H bits */
  233. #define BD71815_BUCK2_H_DEFAULT 0x14
  234. #define BD71815_BUCK2_L_DEFAULT 0x14
  235. /* WLED output */
  236. /* current register mask */
  237. #define LED_DIMM_MASK 0x3f
  238. /* LED enable bits at LED_CTRL reg */
  239. #define LED_CHGDONE_EN BIT(4)
  240. #define LED_RUN_ON BIT(2)
  241. #define LED_LPSR_ON BIT(1)
  242. #define LED_SUSP_ON BIT(0)
  243. /* BD71815_REG_LDO1_CTRL bits */
  244. #define LDO1_EN BIT(0)
  245. #define LDO2_EN BIT(1)
  246. #define LDO3_EN BIT(2)
  247. #define DVREF_EN BIT(3)
  248. #define VOSNVS_SW_EN BIT(4)
  249. /* LDO_MODE1_register */
  250. #define LDO1_SNVS_ON BIT(7)
  251. #define LDO1_RUN_ON BIT(6)
  252. #define LDO1_LPSR_ON BIT(5)
  253. #define LDO1_SUSP_ON BIT(4)
  254. /* set => register control, unset => GPIO control */
  255. #define LDO4_MODE_MASK BIT(3)
  256. #define LDO4_MODE_I2C BIT(3)
  257. #define LDO4_MODE_GPIO 0
  258. /* set => register control, unset => start when DCIN connected */
  259. #define LDO3_MODE_MASK BIT(2)
  260. #define LDO3_MODE_I2C BIT(2)
  261. #define LDO3_MODE_DCIN 0
  262. /* LDO_MODE2 register */
  263. #define LDO3_SNVS_ON BIT(7)
  264. #define LDO3_RUN_ON BIT(6)
  265. #define LDO3_LPSR_ON BIT(5)
  266. #define LDO3_SUSP_ON BIT(4)
  267. #define LDO2_SNVS_ON BIT(3)
  268. #define LDO2_RUN_ON BIT(2)
  269. #define LDO2_LPSR_ON BIT(1)
  270. #define LDO2_SUSP_ON BIT(0)
  271. /* LDO_MODE3 register */
  272. #define LDO5_SNVS_ON BIT(7)
  273. #define LDO5_RUN_ON BIT(6)
  274. #define LDO5_LPSR_ON BIT(5)
  275. #define LDO5_SUSP_ON BIT(4)
  276. #define LDO4_SNVS_ON BIT(3)
  277. #define LDO4_RUN_ON BIT(2)
  278. #define LDO4_LPSR_ON BIT(1)
  279. #define LDO4_SUSP_ON BIT(0)
  280. /* LDO_MODE4 register */
  281. #define DVREF_SNVS_ON BIT(7)
  282. #define DVREF_RUN_ON BIT(6)
  283. #define DVREF_LPSR_ON BIT(5)
  284. #define DVREF_SUSP_ON BIT(4)
  285. #define LDO_LPSR_SNVS_ON BIT(3)
  286. #define LDO_LPSR_RUN_ON BIT(2)
  287. #define LDO_LPSR_LPSR_ON BIT(1)
  288. #define LDO_LPSR_SUSP_ON BIT(0)
  289. /* BD71815_REG_OUT32K bits */
  290. #define OUT32K_EN BIT(0)
  291. #define OUT32K_MODE BIT(1)
  292. #define OUT32K_MODE_CMOS BIT(1)
  293. #define OUT32K_MODE_OPEN_DRAIN 0
  294. /* BD71815_REG_BAT_STAT bits */
  295. #define BAT_DET BIT(5)
  296. #define BAT_DET_OFFSET 5
  297. #define BAT_DET_DONE BIT(4)
  298. #define VBAT_OV BIT(3)
  299. #define DBAT_DET BIT(0)
  300. /* BD71815_REG_VBUS_STAT bits */
  301. #define VBUS_DET BIT(0)
  302. #define BD71815_REG_RTC_START BD71815_REG_SEC
  303. #define BD71815_REG_RTC_ALM_START BD71815_REG_ALM0_SEC
  304. /* BD71815_REG_ALM0_MASK bits */
  305. #define A0_ONESEC BIT(7)
  306. /* BD71815_REG_INT_EN_00 bits */
  307. #define ALMALE BIT(0)
  308. /* BD71815_REG_INT_STAT_03 bits */
  309. #define DCIN_MON_DET BIT(1)
  310. #define DCIN_MON_RES BIT(0)
  311. #define POWERON_LONG BIT(2)
  312. #define POWERON_MID BIT(3)
  313. #define POWERON_SHORT BIT(4)
  314. #define POWERON_PRESS BIT(5)
  315. /* BD71805_REG_INT_STAT_08 bits */
  316. #define VBAT_MON_DET BIT(1)
  317. #define VBAT_MON_RES BIT(0)
  318. /* BD71805_REG_INT_STAT_11 bits */
  319. #define INT_STAT_11_VF_DET BIT(7)
  320. #define INT_STAT_11_VF_RES BIT(6)
  321. #define INT_STAT_11_VF125_DET BIT(5)
  322. #define INT_STAT_11_VF125_RES BIT(4)
  323. #define INT_STAT_11_OVTMP_DET BIT(3)
  324. #define INT_STAT_11_OVTMP_RES BIT(2)
  325. #define INT_STAT_11_LOTMP_DET BIT(1)
  326. #define INT_STAT_11_LOTMP_RES BIT(0)
  327. #define VBAT_MON_DET BIT(1)
  328. #define VBAT_MON_RES BIT(0)
  329. /* BD71815_REG_PWRCTRL bits */
  330. #define RESTARTEN BIT(0)
  331. /* BD71815_REG_GPO bits */
  332. #define READY_FORCE_LOW BIT(2)
  333. #define BD71815_GPIO_DRIVE_MASK BIT(4)
  334. #define BD71815_GPIO_OPEN_DRAIN 0
  335. #define BD71815_GPIO_CMOS BIT(4)
  336. /* BD71815 interrupt masks */
  337. enum {
  338. BD71815_INT_EN_01_BUCKAST_MASK = 0x0F,
  339. BD71815_INT_EN_02_DCINAST_MASK = 0x3E,
  340. BD71815_INT_EN_03_DCINAST_MASK = 0x3F,
  341. BD71815_INT_EN_04_VSYSAST_MASK = 0xCF,
  342. BD71815_INT_EN_05_CHGAST_MASK = 0xFC,
  343. BD71815_INT_EN_06_BATAST_MASK = 0xF3,
  344. BD71815_INT_EN_07_BMONAST_MASK = 0xFE,
  345. BD71815_INT_EN_08_BMONAST_MASK = 0x03,
  346. BD71815_INT_EN_09_BMONAST_MASK = 0x07,
  347. BD71815_INT_EN_10_BMONAST_MASK = 0x3F,
  348. BD71815_INT_EN_11_TMPAST_MASK = 0xFF,
  349. BD71815_INT_EN_12_ALMAST_MASK = 0x07,
  350. };
  351. /* BD71815 interrupt irqs */
  352. enum {
  353. /* BUCK reg interrupts */
  354. BD71815_INT_BUCK1_OCP,
  355. BD71815_INT_BUCK2_OCP,
  356. BD71815_INT_BUCK3_OCP,
  357. BD71815_INT_BUCK4_OCP,
  358. BD71815_INT_BUCK5_OCP,
  359. BD71815_INT_LED_OVP,
  360. BD71815_INT_LED_OCP,
  361. BD71815_INT_LED_SCP,
  362. /* DCIN1 interrupts */
  363. BD71815_INT_DCIN_RMV,
  364. BD71815_INT_CLPS_OUT,
  365. BD71815_INT_CLPS_IN,
  366. BD71815_INT_DCIN_OVP_RES,
  367. BD71815_INT_DCIN_OVP_DET,
  368. /* DCIN2 interrupts */
  369. BD71815_INT_DCIN_MON_RES,
  370. BD71815_INT_DCIN_MON_DET,
  371. BD71815_INT_WDOG,
  372. /* Vsys INT_STAT_04 */
  373. BD71815_INT_VSYS_UV_RES,
  374. BD71815_INT_VSYS_UV_DET,
  375. BD71815_INT_VSYS_LOW_RES,
  376. BD71815_INT_VSYS_LOW_DET,
  377. BD71815_INT_VSYS_MON_RES,
  378. BD71815_INT_VSYS_MON_DET,
  379. /* Charger INT_STAT_05 */
  380. BD71815_INT_CHG_WDG_TEMP,
  381. BD71815_INT_CHG_WDG_TIME,
  382. BD71815_INT_CHG_RECHARGE_RES,
  383. BD71815_INT_CHG_RECHARGE_DET,
  384. BD71815_INT_CHG_RANGED_TEMP_TRANSITION,
  385. BD71815_INT_CHG_STATE_TRANSITION,
  386. /* Battery INT_STAT_06 */
  387. BD71815_INT_BAT_TEMP_NORMAL,
  388. BD71815_INT_BAT_TEMP_ERANGE,
  389. BD71815_INT_BAT_REMOVED,
  390. BD71815_INT_BAT_DETECTED,
  391. BD71815_INT_THERM_REMOVED,
  392. BD71815_INT_THERM_DETECTED,
  393. /* Battery Mon 1 INT_STAT_07 */
  394. BD71815_INT_BAT_DEAD,
  395. BD71815_INT_BAT_SHORTC_RES,
  396. BD71815_INT_BAT_SHORTC_DET,
  397. BD71815_INT_BAT_LOW_VOLT_RES,
  398. BD71815_INT_BAT_LOW_VOLT_DET,
  399. BD71815_INT_BAT_OVER_VOLT_RES,
  400. BD71815_INT_BAT_OVER_VOLT_DET,
  401. /* Battery Mon 2 INT_STAT_08 */
  402. BD71815_INT_BAT_MON_RES,
  403. BD71815_INT_BAT_MON_DET,
  404. /* Battery Mon 3 (Coulomb counter) INT_STAT_09 */
  405. BD71815_INT_BAT_CC_MON1,
  406. BD71815_INT_BAT_CC_MON2,
  407. BD71815_INT_BAT_CC_MON3,
  408. /* Battery Mon 4 INT_STAT_10 */
  409. BD71815_INT_BAT_OVER_CURR_1_RES,
  410. BD71815_INT_BAT_OVER_CURR_1_DET,
  411. BD71815_INT_BAT_OVER_CURR_2_RES,
  412. BD71815_INT_BAT_OVER_CURR_2_DET,
  413. BD71815_INT_BAT_OVER_CURR_3_RES,
  414. BD71815_INT_BAT_OVER_CURR_3_DET,
  415. /* Temperature INT_STAT_11 */
  416. BD71815_INT_TEMP_BAT_LOW_RES,
  417. BD71815_INT_TEMP_BAT_LOW_DET,
  418. BD71815_INT_TEMP_BAT_HI_RES,
  419. BD71815_INT_TEMP_BAT_HI_DET,
  420. BD71815_INT_TEMP_CHIP_OVER_125_RES,
  421. BD71815_INT_TEMP_CHIP_OVER_125_DET,
  422. BD71815_INT_TEMP_CHIP_OVER_VF_RES,
  423. BD71815_INT_TEMP_CHIP_OVER_VF_DET,
  424. /* RTC Alarm INT_STAT_12 */
  425. BD71815_INT_RTC0,
  426. BD71815_INT_RTC1,
  427. BD71815_INT_RTC2,
  428. };
  429. #define BD71815_INT_BUCK1_OCP_MASK BIT(0)
  430. #define BD71815_INT_BUCK2_OCP_MASK BIT(1)
  431. #define BD71815_INT_BUCK3_OCP_MASK BIT(2)
  432. #define BD71815_INT_BUCK4_OCP_MASK BIT(3)
  433. #define BD71815_INT_BUCK5_OCP_MASK BIT(4)
  434. #define BD71815_INT_LED_OVP_MASK BIT(5)
  435. #define BD71815_INT_LED_OCP_MASK BIT(6)
  436. #define BD71815_INT_LED_SCP_MASK BIT(7)
  437. #define BD71815_INT_DCIN_RMV_MASK BIT(1)
  438. #define BD71815_INT_CLPS_OUT_MASK BIT(2)
  439. #define BD71815_INT_CLPS_IN_MASK BIT(3)
  440. #define BD71815_INT_DCIN_OVP_RES_MASK BIT(4)
  441. #define BD71815_INT_DCIN_OVP_DET_MASK BIT(5)
  442. #define BD71815_INT_DCIN_MON_RES_MASK BIT(0)
  443. #define BD71815_INT_DCIN_MON_DET_MASK BIT(1)
  444. #define BD71815_INT_WDOG_MASK BIT(6)
  445. #define BD71815_INT_VSYS_UV_RES_MASK BIT(0)
  446. #define BD71815_INT_VSYS_UV_DET_MASK BIT(1)
  447. #define BD71815_INT_VSYS_LOW_RES_MASK BIT(2)
  448. #define BD71815_INT_VSYS_LOW_DET_MASK BIT(3)
  449. #define BD71815_INT_VSYS_MON_RES_MASK BIT(6)
  450. #define BD71815_INT_VSYS_MON_DET_MASK BIT(7)
  451. #define BD71815_INT_CHG_WDG_TEMP_MASK BIT(2)
  452. #define BD71815_INT_CHG_WDG_TIME_MASK BIT(3)
  453. #define BD71815_INT_CHG_RECHARGE_RES_MASK BIT(4)
  454. #define BD71815_INT_CHG_RECHARGE_DET_MASK BIT(5)
  455. #define BD71815_INT_CHG_RANGED_TEMP_TRANSITION_MASK BIT(6)
  456. #define BD71815_INT_CHG_STATE_TRANSITION_MASK BIT(7)
  457. #define BD71815_INT_BAT_TEMP_NORMAL_MASK BIT(0)
  458. #define BD71815_INT_BAT_TEMP_ERANGE_MASK BIT(1)
  459. #define BD71815_INT_BAT_REMOVED_MASK BIT(4)
  460. #define BD71815_INT_BAT_DETECTED_MASK BIT(5)
  461. #define BD71815_INT_THERM_REMOVED_MASK BIT(6)
  462. #define BD71815_INT_THERM_DETECTED_MASK BIT(7)
  463. #define BD71815_INT_BAT_DEAD_MASK BIT(1)
  464. #define BD71815_INT_BAT_SHORTC_RES_MASK BIT(2)
  465. #define BD71815_INT_BAT_SHORTC_DET_MASK BIT(3)
  466. #define BD71815_INT_BAT_LOW_VOLT_RES_MASK BIT(4)
  467. #define BD71815_INT_BAT_LOW_VOLT_DET_MASK BIT(5)
  468. #define BD71815_INT_BAT_OVER_VOLT_RES_MASK BIT(6)
  469. #define BD71815_INT_BAT_OVER_VOLT_DET_MASK BIT(7)
  470. #define BD71815_INT_BAT_MON_RES_MASK BIT(0)
  471. #define BD71815_INT_BAT_MON_DET_MASK BIT(1)
  472. #define BD71815_INT_BAT_CC_MON1_MASK BIT(0)
  473. #define BD71815_INT_BAT_CC_MON2_MASK BIT(1)
  474. #define BD71815_INT_BAT_CC_MON3_MASK BIT(2)
  475. #define BD71815_INT_BAT_OVER_CURR_1_RES_MASK BIT(0)
  476. #define BD71815_INT_BAT_OVER_CURR_1_DET_MASK BIT(1)
  477. #define BD71815_INT_BAT_OVER_CURR_2_RES_MASK BIT(2)
  478. #define BD71815_INT_BAT_OVER_CURR_2_DET_MASK BIT(3)
  479. #define BD71815_INT_BAT_OVER_CURR_3_RES_MASK BIT(4)
  480. #define BD71815_INT_BAT_OVER_CURR_3_DET_MASK BIT(5)
  481. #define BD71815_INT_TEMP_BAT_LOW_RES_MASK BIT(0)
  482. #define BD71815_INT_TEMP_BAT_LOW_DET_MASK BIT(1)
  483. #define BD71815_INT_TEMP_BAT_HI_RES_MASK BIT(2)
  484. #define BD71815_INT_TEMP_BAT_HI_DET_MASK BIT(3)
  485. #define BD71815_INT_TEMP_CHIP_OVER_125_RES_MASK BIT(4)
  486. #define BD71815_INT_TEMP_CHIP_OVER_125_DET_MASK BIT(5)
  487. #define BD71815_INT_TEMP_CHIP_OVER_VF_RES_MASK BIT(6)
  488. #define BD71815_INT_TEMP_CHIP_OVER_VF_DET_MASK BIT(7)
  489. #define BD71815_INT_RTC0_MASK BIT(0)
  490. #define BD71815_INT_RTC1_MASK BIT(1)
  491. #define BD71815_INT_RTC2_MASK BIT(2)
  492. /* BD71815_REG_CC_CTRL bits */
  493. #define CCNTRST 0x80
  494. #define CCNTENB 0x40
  495. #define CCCALIB 0x20
  496. /* BD71815_REG_CC_CURCD */
  497. #define CURDIR_Discharging 0x8000
  498. /* BD71815_REG_VM_SA_IBAT */
  499. #define IBAT_SA_DIR_Discharging 0x8000
  500. /* BD71815_REG_REX_CTRL_1 bits */
  501. #define REX_CLR BIT(4)
  502. /* BD71815_REG_REX_CTRL_1 bits */
  503. #define REX_PMU_STATE_MASK BIT(2)
  504. /* BD71815_REG_LED_CTRL bits */
  505. #define CHGDONE_LED_EN BIT(4)
  506. #endif /* __LINUX_MFD_BD71815_H */