reg.h 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Register declarations for DA9052 PMICs.
  4. *
  5. * Copyright(c) 2011 Dialog Semiconductor Ltd.
  6. *
  7. * Author: David Dajun Chen <[email protected]>
  8. */
  9. #ifndef __LINUX_MFD_DA9052_REG_H
  10. #define __LINUX_MFD_DA9052_REG_H
  11. /* PAGE REGISTERS */
  12. #define DA9052_PAGE0_CON_REG 0
  13. #define DA9052_PAGE1_CON_REG 128
  14. /* STATUS REGISTERS */
  15. #define DA9052_STATUS_A_REG 1
  16. #define DA9052_STATUS_B_REG 2
  17. #define DA9052_STATUS_C_REG 3
  18. #define DA9052_STATUS_D_REG 4
  19. /* PARK REGISTER */
  20. #define DA9052_PARK_REGISTER DA9052_STATUS_D_REG
  21. /* EVENT REGISTERS */
  22. #define DA9052_EVENT_A_REG 5
  23. #define DA9052_EVENT_B_REG 6
  24. #define DA9052_EVENT_C_REG 7
  25. #define DA9052_EVENT_D_REG 8
  26. #define DA9052_FAULTLOG_REG 9
  27. /* IRQ REGISTERS */
  28. #define DA9052_IRQ_MASK_A_REG 10
  29. #define DA9052_IRQ_MASK_B_REG 11
  30. #define DA9052_IRQ_MASK_C_REG 12
  31. #define DA9052_IRQ_MASK_D_REG 13
  32. /* CONTROL REGISTERS */
  33. #define DA9052_CONTROL_A_REG 14
  34. #define DA9052_CONTROL_B_REG 15
  35. #define DA9052_CONTROL_C_REG 16
  36. #define DA9052_CONTROL_D_REG 17
  37. #define DA9052_PDDIS_REG 18
  38. #define DA9052_INTERFACE_REG 19
  39. #define DA9052_RESET_REG 20
  40. /* GPIO REGISTERS */
  41. #define DA9052_GPIO_0_1_REG 21
  42. #define DA9052_GPIO_2_3_REG 22
  43. #define DA9052_GPIO_4_5_REG 23
  44. #define DA9052_GPIO_6_7_REG 24
  45. #define DA9052_GPIO_8_9_REG 25
  46. #define DA9052_GPIO_10_11_REG 26
  47. #define DA9052_GPIO_12_13_REG 27
  48. #define DA9052_GPIO_14_15_REG 28
  49. /* POWER SEQUENCER CONTROL REGISTERS */
  50. #define DA9052_ID_0_1_REG 29
  51. #define DA9052_ID_2_3_REG 30
  52. #define DA9052_ID_4_5_REG 31
  53. #define DA9052_ID_6_7_REG 32
  54. #define DA9052_ID_8_9_REG 33
  55. #define DA9052_ID_10_11_REG 34
  56. #define DA9052_ID_12_13_REG 35
  57. #define DA9052_ID_14_15_REG 36
  58. #define DA9052_ID_16_17_REG 37
  59. #define DA9052_ID_18_19_REG 38
  60. #define DA9052_ID_20_21_REG 39
  61. #define DA9052_SEQ_STATUS_REG 40
  62. #define DA9052_SEQ_A_REG 41
  63. #define DA9052_SEQ_B_REG 42
  64. #define DA9052_SEQ_TIMER_REG 43
  65. /* LDO AND BUCK REGISTERS */
  66. #define DA9052_BUCKA_REG 44
  67. #define DA9052_BUCKB_REG 45
  68. #define DA9052_BUCKCORE_REG 46
  69. #define DA9052_BUCKPRO_REG 47
  70. #define DA9052_BUCKMEM_REG 48
  71. #define DA9052_BUCKPERI_REG 49
  72. #define DA9052_LDO1_REG 50
  73. #define DA9052_LDO2_REG 51
  74. #define DA9052_LDO3_REG 52
  75. #define DA9052_LDO4_REG 53
  76. #define DA9052_LDO5_REG 54
  77. #define DA9052_LDO6_REG 55
  78. #define DA9052_LDO7_REG 56
  79. #define DA9052_LDO8_REG 57
  80. #define DA9052_LDO9_REG 58
  81. #define DA9052_LDO10_REG 59
  82. #define DA9052_SUPPLY_REG 60
  83. #define DA9052_PULLDOWN_REG 61
  84. #define DA9052_CHGBUCK_REG 62
  85. #define DA9052_WAITCONT_REG 63
  86. #define DA9052_ISET_REG 64
  87. #define DA9052_BATCHG_REG 65
  88. /* BATTERY CONTROL REGISTRS */
  89. #define DA9052_CHG_CONT_REG 66
  90. #define DA9052_INPUT_CONT_REG 67
  91. #define DA9052_CHG_TIME_REG 68
  92. #define DA9052_BBAT_CONT_REG 69
  93. /* LED CONTROL REGISTERS */
  94. #define DA9052_BOOST_REG 70
  95. #define DA9052_LED_CONT_REG 71
  96. #define DA9052_LEDMIN123_REG 72
  97. #define DA9052_LED1_CONF_REG 73
  98. #define DA9052_LED2_CONF_REG 74
  99. #define DA9052_LED3_CONF_REG 75
  100. #define DA9052_LED1CONT_REG 76
  101. #define DA9052_LED2CONT_REG 77
  102. #define DA9052_LED3CONT_REG 78
  103. #define DA9052_LED_CONT_4_REG 79
  104. #define DA9052_LED_CONT_5_REG 80
  105. /* ADC CONTROL REGISTERS */
  106. #define DA9052_ADC_MAN_REG 81
  107. #define DA9052_ADC_CONT_REG 82
  108. #define DA9052_ADC_RES_L_REG 83
  109. #define DA9052_ADC_RES_H_REG 84
  110. #define DA9052_VDD_RES_REG 85
  111. #define DA9052_VDD_MON_REG 86
  112. #define DA9052_ICHG_AV_REG 87
  113. #define DA9052_ICHG_THD_REG 88
  114. #define DA9052_ICHG_END_REG 89
  115. #define DA9052_TBAT_RES_REG 90
  116. #define DA9052_TBAT_HIGHP_REG 91
  117. #define DA9052_TBAT_HIGHN_REG 92
  118. #define DA9052_TBAT_LOW_REG 93
  119. #define DA9052_T_OFFSET_REG 94
  120. #define DA9052_ADCIN4_RES_REG 95
  121. #define DA9052_AUTO4_HIGH_REG 96
  122. #define DA9052_AUTO4_LOW_REG 97
  123. #define DA9052_ADCIN5_RES_REG 98
  124. #define DA9052_AUTO5_HIGH_REG 99
  125. #define DA9052_AUTO5_LOW_REG 100
  126. #define DA9052_ADCIN6_RES_REG 101
  127. #define DA9052_AUTO6_HIGH_REG 102
  128. #define DA9052_AUTO6_LOW_REG 103
  129. #define DA9052_TJUNC_RES_REG 104
  130. /* TSI CONTROL REGISTERS */
  131. #define DA9052_TSI_CONT_A_REG 105
  132. #define DA9052_TSI_CONT_B_REG 106
  133. #define DA9052_TSI_X_MSB_REG 107
  134. #define DA9052_TSI_Y_MSB_REG 108
  135. #define DA9052_TSI_LSB_REG 109
  136. #define DA9052_TSI_Z_MSB_REG 110
  137. /* RTC COUNT REGISTERS */
  138. #define DA9052_COUNT_S_REG 111
  139. #define DA9052_COUNT_MI_REG 112
  140. #define DA9052_COUNT_H_REG 113
  141. #define DA9052_COUNT_D_REG 114
  142. #define DA9052_COUNT_MO_REG 115
  143. #define DA9052_COUNT_Y_REG 116
  144. /* RTC CONTROL REGISTERS */
  145. #define DA9052_ALARM_MI_REG 117
  146. #define DA9052_ALARM_H_REG 118
  147. #define DA9052_ALARM_D_REG 119
  148. #define DA9052_ALARM_MO_REG 120
  149. #define DA9052_ALARM_Y_REG 121
  150. #define DA9052_SECOND_A_REG 122
  151. #define DA9052_SECOND_B_REG 123
  152. #define DA9052_SECOND_C_REG 124
  153. #define DA9052_SECOND_D_REG 125
  154. /* PAGE CONFIGURATION BIT */
  155. #define DA9052_PAGE_CONF 0X80
  156. /* STATUS REGISTER A BITS */
  157. #define DA9052_STATUSA_VDATDET 0X80
  158. #define DA9052_STATUSA_VBUSSEL 0X40
  159. #define DA9052_STATUSA_DCINSEL 0X20
  160. #define DA9052_STATUSA_VBUSDET 0X10
  161. #define DA9052_STATUSA_DCINDET 0X08
  162. #define DA9052_STATUSA_IDGND 0X04
  163. #define DA9052_STATUSA_IDFLOAT 0X02
  164. #define DA9052_STATUSA_NONKEY 0X01
  165. /* STATUS REGISTER B BITS */
  166. #define DA9052_STATUSB_COMPDET 0X80
  167. #define DA9052_STATUSB_SEQUENCING 0X40
  168. #define DA9052_STATUSB_GPFB2 0X20
  169. #define DA9052_STATUSB_CHGTO 0X10
  170. #define DA9052_STATUSB_CHGEND 0X08
  171. #define DA9052_STATUSB_CHGLIM 0X04
  172. #define DA9052_STATUSB_CHGPRE 0X02
  173. #define DA9052_STATUSB_CHGATT 0X01
  174. /* STATUS REGISTER C BITS */
  175. #define DA9052_STATUSC_GPI7 0X80
  176. #define DA9052_STATUSC_GPI6 0X40
  177. #define DA9052_STATUSC_GPI5 0X20
  178. #define DA9052_STATUSC_GPI4 0X10
  179. #define DA9052_STATUSC_GPI3 0X08
  180. #define DA9052_STATUSC_GPI2 0X04
  181. #define DA9052_STATUSC_GPI1 0X02
  182. #define DA9052_STATUSC_GPI0 0X01
  183. /* STATUS REGISTER D BITS */
  184. #define DA9052_STATUSD_GPI15 0X80
  185. #define DA9052_STATUSD_GPI14 0X40
  186. #define DA9052_STATUSD_GPI13 0X20
  187. #define DA9052_STATUSD_GPI12 0X10
  188. #define DA9052_STATUSD_GPI11 0X08
  189. #define DA9052_STATUSD_GPI10 0X04
  190. #define DA9052_STATUSD_GPI9 0X02
  191. #define DA9052_STATUSD_GPI8 0X01
  192. /* EVENT REGISTER A BITS */
  193. #define DA9052_EVENTA_ECOMP1V2 0X80
  194. #define DA9052_EVENTA_ESEQRDY 0X40
  195. #define DA9052_EVENTA_EALRAM 0X20
  196. #define DA9052_EVENTA_EVDDLOW 0X10
  197. #define DA9052_EVENTA_EVBUSREM 0X08
  198. #define DA9052_EVENTA_EDCINREM 0X04
  199. #define DA9052_EVENTA_EVBUSDET 0X02
  200. #define DA9052_EVENTA_EDCINDET 0X01
  201. /* EVENT REGISTER B BITS */
  202. #define DA9052_EVENTB_ETSIREADY 0X80
  203. #define DA9052_EVENTB_EPENDOWN 0X40
  204. #define DA9052_EVENTB_EADCEOM 0X20
  205. #define DA9052_EVENTB_ETBAT 0X10
  206. #define DA9052_EVENTB_ECHGEND 0X08
  207. #define DA9052_EVENTB_EIDGND 0X04
  208. #define DA9052_EVENTB_EIDFLOAT 0X02
  209. #define DA9052_EVENTB_ENONKEY 0X01
  210. /* EVENT REGISTER C BITS */
  211. #define DA9052_EVENTC_EGPI7 0X80
  212. #define DA9052_EVENTC_EGPI6 0X40
  213. #define DA9052_EVENTC_EGPI5 0X20
  214. #define DA9052_EVENTC_EGPI4 0X10
  215. #define DA9052_EVENTC_EGPI3 0X08
  216. #define DA9052_EVENTC_EGPI2 0X04
  217. #define DA9052_EVENTC_EGPI1 0X02
  218. #define DA9052_EVENTC_EGPI0 0X01
  219. /* EVENT REGISTER D BITS */
  220. #define DA9052_EVENTD_EGPI15 0X80
  221. #define DA9052_EVENTD_EGPI14 0X40
  222. #define DA9052_EVENTD_EGPI13 0X20
  223. #define DA9052_EVENTD_EGPI12 0X10
  224. #define DA9052_EVENTD_EGPI11 0X08
  225. #define DA9052_EVENTD_EGPI10 0X04
  226. #define DA9052_EVENTD_EGPI9 0X02
  227. #define DA9052_EVENTD_EGPI8 0X01
  228. /* IRQ MASK REGISTERS BITS */
  229. #define DA9052_M_NONKEY 0X0100
  230. /* TSI EVENT REGISTERS BITS */
  231. #define DA9052_E_PEN_DOWN 0X4000
  232. #define DA9052_E_TSI_READY 0X8000
  233. /* FAULT LOG REGISTER BITS */
  234. #define DA9052_FAULTLOG_WAITSET 0X80
  235. #define DA9052_FAULTLOG_NSDSET 0X40
  236. #define DA9052_FAULTLOG_KEYSHUT 0X20
  237. #define DA9052_FAULTLOG_TEMPOVER 0X08
  238. #define DA9052_FAULTLOG_VDDSTART 0X04
  239. #define DA9052_FAULTLOG_VDDFAULT 0X02
  240. #define DA9052_FAULTLOG_TWDERROR 0X01
  241. /* CONTROL REGISTER A BITS */
  242. #define DA9052_CONTROLA_GPIV 0X80
  243. #define DA9052_CONTROLA_PMOTYPE 0X20
  244. #define DA9052_CONTROLA_PMOV 0X10
  245. #define DA9052_CONTROLA_PMIV 0X08
  246. #define DA9052_CONTROLA_PMIFV 0X08
  247. #define DA9052_CONTROLA_PWR1EN 0X04
  248. #define DA9052_CONTROLA_PWREN 0X02
  249. #define DA9052_CONTROLA_SYSEN 0X01
  250. /* CONTROL REGISTER B BITS */
  251. #define DA9052_CONTROLB_SHUTDOWN 0X80
  252. #define DA9052_CONTROLB_DEEPSLEEP 0X40
  253. #define DA9052_CONTROL_B_WRITEMODE 0X20
  254. #define DA9052_CONTROLB_BBATEN 0X10
  255. #define DA9052_CONTROLB_OTPREADEN 0X08
  256. #define DA9052_CONTROLB_AUTOBOOT 0X04
  257. #define DA9052_CONTROLB_ACTDIODE 0X02
  258. #define DA9052_CONTROLB_BUCKMERGE 0X01
  259. /* CONTROL REGISTER C BITS */
  260. #define DA9052_CONTROLC_BLINKDUR 0X80
  261. #define DA9052_CONTROLC_BLINKFRQ 0X60
  262. #define DA9052_CONTROLC_DEBOUNCING 0X1C
  263. #define DA9052_CONTROLC_PMFB2PIN 0X02
  264. #define DA9052_CONTROLC_PMFB1PIN 0X01
  265. /* CONTROL REGISTER D BITS */
  266. #define DA9052_CONTROLD_WATCHDOG 0X80
  267. #define DA9052_CONTROLD_ACCDETEN 0X40
  268. #define DA9052_CONTROLD_GPI1415SD 0X20
  269. #define DA9052_CONTROLD_NONKEYSD 0X10
  270. #define DA9052_CONTROLD_KEEPACTEN 0X08
  271. #define DA9052_CONTROLD_TWDSCALE 0X07
  272. /* POWER DOWN DISABLE REGISTER BITS */
  273. #define DA9052_PDDIS_PMCONTPD 0X80
  274. #define DA9052_PDDIS_OUT32KPD 0X40
  275. #define DA9052_PDDIS_CHGBBATPD 0X20
  276. #define DA9052_PDDIS_CHGPD 0X10
  277. #define DA9052_PDDIS_HS2WIREPD 0X08
  278. #define DA9052_PDDIS_PMIFPD 0X04
  279. #define DA9052_PDDIS_GPADCPD 0X02
  280. #define DA9052_PDDIS_GPIOPD 0X01
  281. /* CONTROL REGISTER D BITS */
  282. #define DA9052_INTERFACE_IFBASEADDR 0XE0
  283. #define DA9052_INTERFACE_NCSPOL 0X10
  284. #define DA9052_INTERFACE_RWPOL 0X08
  285. #define DA9052_INTERFACE_CPHA 0X04
  286. #define DA9052_INTERFACE_CPOL 0X02
  287. #define DA9052_INTERFACE_IFTYPE 0X01
  288. /* CONTROL REGISTER D BITS */
  289. #define DA9052_RESET_RESETEVENT 0XC0
  290. #define DA9052_RESET_RESETTIMER 0X3F
  291. /* GPIO REGISTERS */
  292. /* GPIO CONTROL REGISTER BITS */
  293. #define DA9052_GPIO_EVEN_PORT_PIN 0X03
  294. #define DA9052_GPIO_EVEN_PORT_TYPE 0X04
  295. #define DA9052_GPIO_EVEN_PORT_MODE 0X08
  296. #define DA9052_GPIO_ODD_PORT_PIN 0X30
  297. #define DA9052_GPIO_ODD_PORT_TYPE 0X40
  298. #define DA9052_GPIO_ODD_PORT_MODE 0X80
  299. /*POWER SEQUENCER REGISTER BITS */
  300. /* SEQ CONTROL REGISTER BITS FOR ID 0 AND 1 */
  301. #define DA9052_ID01_LDO1STEP 0XF0
  302. #define DA9052_ID01_SYSPRE 0X04
  303. #define DA9052_ID01_DEFSUPPLY 0X02
  304. #define DA9052_ID01_NRESMODE 0X01
  305. /* SEQ CONTROL REGISTER BITS FOR ID 2 AND 3 */
  306. #define DA9052_ID23_LDO3STEP 0XF0
  307. #define DA9052_ID23_LDO2STEP 0X0F
  308. /* SEQ CONTROL REGISTER BITS FOR ID 4 AND 5 */
  309. #define DA9052_ID45_LDO5STEP 0XF0
  310. #define DA9052_ID45_LDO4STEP 0X0F
  311. /* SEQ CONTROL REGISTER BITS FOR ID 6 AND 7 */
  312. #define DA9052_ID67_LDO7STEP 0XF0
  313. #define DA9052_ID67_LDO6STEP 0X0F
  314. /* SEQ CONTROL REGISTER BITS FOR ID 8 AND 9 */
  315. #define DA9052_ID89_LDO9STEP 0XF0
  316. #define DA9052_ID89_LDO8STEP 0X0F
  317. /* SEQ CONTROL REGISTER BITS FOR ID 10 AND 11 */
  318. #define DA9052_ID1011_PDDISSTEP 0XF0
  319. #define DA9052_ID1011_LDO10STEP 0X0F
  320. /* SEQ CONTROL REGISTER BITS FOR ID 12 AND 13 */
  321. #define DA9052_ID1213_VMEMSWSTEP 0XF0
  322. #define DA9052_ID1213_VPERISWSTEP 0X0F
  323. /* SEQ CONTROL REGISTER BITS FOR ID 14 AND 15 */
  324. #define DA9052_ID1415_BUCKPROSTEP 0XF0
  325. #define DA9052_ID1415_BUCKCORESTEP 0X0F
  326. /* SEQ CONTROL REGISTER BITS FOR ID 16 AND 17 */
  327. #define DA9052_ID1617_BUCKPERISTEP 0XF0
  328. #define DA9052_ID1617_BUCKMEMSTEP 0X0F
  329. /* SEQ CONTROL REGISTER BITS FOR ID 18 AND 19 */
  330. #define DA9052_ID1819_GPRISE2STEP 0XF0
  331. #define DA9052_ID1819_GPRISE1STEP 0X0F
  332. /* SEQ CONTROL REGISTER BITS FOR ID 20 AND 21 */
  333. #define DA9052_ID2021_GPFALL2STEP 0XF0
  334. #define DA9052_ID2021_GPFALL1STEP 0X0F
  335. /* POWER SEQ STATUS REGISTER BITS */
  336. #define DA9052_SEQSTATUS_SEQPOINTER 0XF0
  337. #define DA9052_SEQSTATUS_WAITSTEP 0X0F
  338. /* POWER SEQ A REGISTER BITS */
  339. #define DA9052_SEQA_POWEREND 0XF0
  340. #define DA9052_SEQA_SYSTEMEND 0X0F
  341. /* POWER SEQ B REGISTER BITS */
  342. #define DA9052_SEQB_PARTDOWN 0XF0
  343. #define DA9052_SEQB_MAXCOUNT 0X0F
  344. /* POWER SEQ TIMER REGISTER BITS */
  345. #define DA9052_SEQTIMER_SEQDUMMY 0XF0
  346. #define DA9052_SEQTIMER_SEQTIME 0X0F
  347. /*POWER SUPPLY CONTROL REGISTER BITS */
  348. /* BUCK REGISTER A BITS */
  349. #define DA9052_BUCKA_BPROILIM 0XC0
  350. #define DA9052_BUCKA_BPROMODE 0X30
  351. #define DA9052_BUCKA_BCOREILIM 0X0C
  352. #define DA9052_BUCKA_BCOREMODE 0X03
  353. /* BUCK REGISTER B BITS */
  354. #define DA9052_BUCKB_BERIILIM 0XC0
  355. #define DA9052_BUCKB_BPERIMODE 0X30
  356. #define DA9052_BUCKB_BMEMILIM 0X0C
  357. #define DA9052_BUCKB_BMEMMODE 0X03
  358. /* BUCKCORE REGISTER BITS */
  359. #define DA9052_BUCKCORE_BCORECONF 0X80
  360. #define DA9052_BUCKCORE_BCOREEN 0X40
  361. #define DA9052_BUCKCORE_VBCORE 0X3F
  362. /* BUCKPRO REGISTER BITS */
  363. #define DA9052_BUCKPRO_BPROCONF 0X80
  364. #define DA9052_BUCKPRO_BPROEN 0X40
  365. #define DA9052_BUCKPRO_VBPRO 0X3F
  366. /* BUCKMEM REGISTER BITS */
  367. #define DA9052_BUCKMEM_BMEMCONF 0X80
  368. #define DA9052_BUCKMEM_BMEMEN 0X40
  369. #define DA9052_BUCKMEM_VBMEM 0X3F
  370. /* BUCKPERI REGISTER BITS */
  371. #define DA9052_BUCKPERI_BPERICONF 0X80
  372. #define DA9052_BUCKPERI_BPERIEN 0X40
  373. #define DA9052_BUCKPERI_BPERIHS 0X20
  374. #define DA9052_BUCKPERI_VBPERI 0X1F
  375. /* LDO1 REGISTER BITS */
  376. #define DA9052_LDO1_LDO1CONF 0X80
  377. #define DA9052_LDO1_LDO1EN 0X40
  378. #define DA9052_LDO1_VLDO1 0X1F
  379. /* LDO2 REGISTER BITS */
  380. #define DA9052_LDO2_LDO2CONF 0X80
  381. #define DA9052_LDO2_LDO2EN 0X40
  382. #define DA9052_LDO2_VLDO2 0X3F
  383. /* LDO3 REGISTER BITS */
  384. #define DA9052_LDO3_LDO3CONF 0X80
  385. #define DA9052_LDO3_LDO3EN 0X40
  386. #define DA9052_LDO3_VLDO3 0X3F
  387. /* LDO4 REGISTER BITS */
  388. #define DA9052_LDO4_LDO4CONF 0X80
  389. #define DA9052_LDO4_LDO4EN 0X40
  390. #define DA9052_LDO4_VLDO4 0X3F
  391. /* LDO5 REGISTER BITS */
  392. #define DA9052_LDO5_LDO5CONF 0X80
  393. #define DA9052_LDO5_LDO5EN 0X40
  394. #define DA9052_LDO5_VLDO5 0X3F
  395. /* LDO6 REGISTER BITS */
  396. #define DA9052_LDO6_LDO6CONF 0X80
  397. #define DA9052_LDO6_LDO6EN 0X40
  398. #define DA9052_LDO6_VLDO6 0X3F
  399. /* LDO7 REGISTER BITS */
  400. #define DA9052_LDO7_LDO7CONF 0X80
  401. #define DA9052_LDO7_LDO7EN 0X40
  402. #define DA9052_LDO7_VLDO7 0X3F
  403. /* LDO8 REGISTER BITS */
  404. #define DA9052_LDO8_LDO8CONF 0X80
  405. #define DA9052_LDO8_LDO8EN 0X40
  406. #define DA9052_LDO8_VLDO8 0X3F
  407. /* LDO9 REGISTER BITS */
  408. #define DA9052_LDO9_LDO9CONF 0X80
  409. #define DA9052_LDO9_LDO9EN 0X40
  410. #define DA9052_LDO9_VLDO9 0X3F
  411. /* LDO10 REGISTER BITS */
  412. #define DA9052_LDO10_LDO10CONF 0X80
  413. #define DA9052_LDO10_LDO10EN 0X40
  414. #define DA9052_LDO10_VLDO10 0X3F
  415. /* SUPPLY REGISTER BITS */
  416. #define DA9052_SUPPLY_VLOCK 0X80
  417. #define DA9052_SUPPLY_VMEMSWEN 0X40
  418. #define DA9052_SUPPLY_VPERISWEN 0X20
  419. #define DA9052_SUPPLY_VLDO3GO 0X10
  420. #define DA9052_SUPPLY_VLDO2GO 0X08
  421. #define DA9052_SUPPLY_VBMEMGO 0X04
  422. #define DA9052_SUPPLY_VBPROGO 0X02
  423. #define DA9052_SUPPLY_VBCOREGO 0X01
  424. /* PULLDOWN REGISTER BITS */
  425. #define DA9052_PULLDOWN_LDO5PDDIS 0X20
  426. #define DA9052_PULLDOWN_LDO2PDDIS 0X10
  427. #define DA9052_PULLDOWN_LDO1PDDIS 0X08
  428. #define DA9052_PULLDOWN_MEMPDDIS 0X04
  429. #define DA9052_PULLDOWN_PROPDDIS 0X02
  430. #define DA9052_PULLDOWN_COREPDDIS 0X01
  431. /* BAT CHARGER REGISTER BITS */
  432. /* CHARGER BUCK REGISTER BITS */
  433. #define DA9052_CHGBUCK_CHGTEMP 0X80
  434. #define DA9052_CHGBUCK_CHGUSBILIM 0X40
  435. #define DA9052_CHGBUCK_CHGBUCKLP 0X20
  436. #define DA9052_CHGBUCK_CHGBUCKEN 0X10
  437. #define DA9052_CHGBUCK_ISETBUCK 0X0F
  438. /* WAIT COUNTER REGISTER BITS */
  439. #define DA9052_WAITCONT_WAITDIR 0X80
  440. #define DA9052_WAITCONT_RTCCLOCK 0X40
  441. #define DA9052_WAITCONT_WAITMODE 0X20
  442. #define DA9052_WAITCONT_EN32KOUT 0X10
  443. #define DA9052_WAITCONT_DELAYTIME 0X0F
  444. /* ISET CONTROL REGISTER BITS */
  445. #define DA9052_ISET_ISETDCIN 0XF0
  446. #define DA9052_ISET_ISETVBUS 0X0F
  447. /* BATTERY CHARGER CONTROL REGISTER BITS */
  448. #define DA9052_BATCHG_ICHGPRE 0XC0
  449. #define DA9052_BATCHG_ICHGBAT 0X3F
  450. /* CHARGER COUNTER REGISTER BITS */
  451. #define DA9052_CHG_CONT_VCHG_BAT 0XF8
  452. #define DA9052_CHG_CONT_TCTR 0X07
  453. /* INPUT CONTROL REGISTER BITS */
  454. #define DA9052_INPUT_CONT_TCTR_MODE 0X80
  455. #define DA9052_INPUT_CONT_VBUS_SUSP 0X10
  456. #define DA9052_INPUT_CONT_DCIN_SUSP 0X08
  457. /* CHARGING TIME REGISTER BITS */
  458. #define DA9052_CHGTIME_CHGTIME 0XFF
  459. /* BACKUP BATTERY CONTROL REGISTER BITS */
  460. #define DA9052_BBATCONT_BCHARGERISET 0XF0
  461. #define DA9052_BBATCONT_BCHARGERVSET 0X0F
  462. /* LED REGISTERS BITS */
  463. /* LED BOOST REGISTER BITS */
  464. #define DA9052_BOOST_EBFAULT 0X80
  465. #define DA9052_BOOST_MBFAULT 0X40
  466. #define DA9052_BOOST_BOOSTFRQ 0X20
  467. #define DA9052_BOOST_BOOSTILIM 0X10
  468. #define DA9052_BOOST_LED3INEN 0X08
  469. #define DA9052_BOOST_LED2INEN 0X04
  470. #define DA9052_BOOST_LED1INEN 0X02
  471. #define DA9052_BOOST_BOOSTEN 0X01
  472. /* LED CONTROL REGISTER BITS */
  473. #define DA9052_LEDCONT_SELLEDMODE 0X80
  474. #define DA9052_LEDCONT_LED3ICONT 0X40
  475. #define DA9052_LEDCONT_LED3RAMP 0X20
  476. #define DA9052_LEDCONT_LED3EN 0X10
  477. #define DA9052_LEDCONT_LED2RAMP 0X08
  478. #define DA9052_LEDCONT_LED2EN 0X04
  479. #define DA9052_LEDCONT_LED1RAMP 0X02
  480. #define DA9052_LEDCONT_LED1EN 0X01
  481. /* LEDMIN123 REGISTER BIT */
  482. #define DA9052_LEDMIN123_LEDMINCURRENT 0XFF
  483. /* LED1CONF REGISTER BIT */
  484. #define DA9052_LED1CONF_LED1CURRENT 0XFF
  485. /* LED2CONF REGISTER BIT */
  486. #define DA9052_LED2CONF_LED2CURRENT 0XFF
  487. /* LED3CONF REGISTER BIT */
  488. #define DA9052_LED3CONF_LED3CURRENT 0XFF
  489. /* LED COUNT REGISTER BIT */
  490. #define DA9052_LED_CONT_DIM 0X80
  491. /* ADC MAN REGISTERS BITS */
  492. #define DA9052_ADC_MAN_MAN_CONV 0X10
  493. #define DA9052_ADC_MAN_MUXSEL_VDDOUT 0X00
  494. #define DA9052_ADC_MAN_MUXSEL_ICH 0X01
  495. #define DA9052_ADC_MAN_MUXSEL_TBAT 0X02
  496. #define DA9052_ADC_MAN_MUXSEL_VBAT 0X03
  497. #define DA9052_ADC_MAN_MUXSEL_AD4 0X04
  498. #define DA9052_ADC_MAN_MUXSEL_AD5 0X05
  499. #define DA9052_ADC_MAN_MUXSEL_AD6 0X06
  500. #define DA9052_ADC_MAN_MUXSEL_VBBAT 0X09
  501. /* ADC CONTROL REGSISTERS BITS */
  502. #define DA9052_ADCCONT_COMP1V2EN 0X80
  503. #define DA9052_ADCCONT_ADCMODE 0X40
  504. #define DA9052_ADCCONT_TBATISRCEN 0X20
  505. #define DA9052_ADCCONT_AD4ISRCEN 0X10
  506. #define DA9052_ADCCONT_AUTOAD6EN 0X08
  507. #define DA9052_ADCCONT_AUTOAD5EN 0X04
  508. #define DA9052_ADCCONT_AUTOAD4EN 0X02
  509. #define DA9052_ADCCONT_AUTOVDDEN 0X01
  510. /* ADC 10 BIT MANUAL CONVERSION RESULT LOW REGISTER */
  511. #define DA9052_ADC_RES_LSB 0X03
  512. /* ADC 10 BIT MANUAL CONVERSION RESULT HIGH REGISTER */
  513. #define DA9052_ADCRESH_ADCRESMSB 0XFF
  514. /* VDD RES REGSISTER BIT*/
  515. #define DA9052_VDDRES_VDDOUTRES 0XFF
  516. /* VDD MON REGSISTER BIT */
  517. #define DA9052_VDDMON_VDDOUTMON 0XFF
  518. /* ICHG_AV REGSISTER BIT */
  519. #define DA9052_ICHGAV_ICHGAV 0XFF
  520. /* ICHG_THD REGSISTER BIT */
  521. #define DA9052_ICHGTHD_ICHGTHD 0XFF
  522. /* ICHG_END REGSISTER BIT */
  523. #define DA9052_ICHGEND_ICHGEND 0XFF
  524. /* TBAT_RES REGSISTER BIT */
  525. #define DA9052_TBATRES_TBATRES 0XFF
  526. /* TBAT_HIGHP REGSISTER BIT */
  527. #define DA9052_TBATHIGHP_TBATHIGHP 0XFF
  528. /* TBAT_HIGHN REGSISTER BIT */
  529. #define DA9052_TBATHIGHN_TBATHIGHN 0XFF
  530. /* TBAT_LOW REGSISTER BIT */
  531. #define DA9052_TBATLOW_TBATLOW 0XFF
  532. /* T_OFFSET REGSISTER BIT */
  533. #define DA9052_TOFFSET_TOFFSET 0XFF
  534. /* ADCIN4_RES REGSISTER BIT */
  535. #define DA9052_ADCIN4RES_ADCIN4RES 0XFF
  536. /* ADCIN4_HIGH REGSISTER BIT */
  537. #define DA9052_AUTO4HIGH_AUTO4HIGH 0XFF
  538. /* ADCIN4_LOW REGSISTER BIT */
  539. #define DA9052_AUTO4LOW_AUTO4LOW 0XFF
  540. /* ADCIN5_RES REGSISTER BIT */
  541. #define DA9052_ADCIN5RES_ADCIN5RES 0XFF
  542. /* ADCIN5_HIGH REGSISTER BIT */
  543. #define DA9052_AUTO5HIGH_AUTOHIGH 0XFF
  544. /* ADCIN5_LOW REGSISTER BIT */
  545. #define DA9052_AUTO5LOW_AUTO5LOW 0XFF
  546. /* ADCIN6_RES REGSISTER BIT */
  547. #define DA9052_ADCIN6RES_ADCIN6RES 0XFF
  548. /* ADCIN6_HIGH REGSISTER BIT */
  549. #define DA9052_AUTO6HIGH_AUTO6HIGH 0XFF
  550. /* ADCIN6_LOW REGSISTER BIT */
  551. #define DA9052_AUTO6LOW_AUTO6LOW 0XFF
  552. /* TJUNC_RES REGSISTER BIT*/
  553. #define DA9052_TJUNCRES_TJUNCRES 0XFF
  554. /* TSI REGISTER */
  555. /* TSI CONTROL REGISTER A BITS */
  556. #define DA9052_TSICONTA_TSIDELAY 0XC0
  557. #define DA9052_TSICONTA_TSISKIP 0X38
  558. #define DA9052_TSICONTA_TSIMODE 0X04
  559. #define DA9052_TSICONTA_PENDETEN 0X02
  560. #define DA9052_TSICONTA_AUTOTSIEN 0X01
  561. /* TSI CONTROL REGISTER B BITS */
  562. #define DA9052_TSICONTB_ADCREF 0X80
  563. #define DA9052_TSICONTB_TSIMAN 0X40
  564. #define DA9052_TSICONTB_TSIMUX_XP 0X00
  565. #define DA9052_TSICONTB_TSIMUX_YP 0X10
  566. #define DA9052_TSICONTB_TSIMUX_XN 0X20
  567. #define DA9052_TSICONTB_TSIMUX_YN 0X30
  568. #define DA9052_TSICONTB_TSISEL3 0X08
  569. #define DA9052_TSICONTB_TSISEL2 0X04
  570. #define DA9052_TSICONTB_TSISEL1 0X02
  571. #define DA9052_TSICONTB_TSISEL0 0X01
  572. /* TSI X CO-ORDINATE MSB RESULT REGISTER BITS */
  573. #define DA9052_TSIXMSB_TSIXM 0XFF
  574. /* TSI Y CO-ORDINATE MSB RESULT REGISTER BITS */
  575. #define DA9052_TSIYMSB_TSIYM 0XFF
  576. /* TSI CO-ORDINATE LSB RESULT REGISTER BITS */
  577. #define DA9052_TSILSB_PENDOWN 0X40
  578. #define DA9052_TSILSB_TSIZL 0X30
  579. #define DA9052_TSILSB_TSIZL_SHIFT 4
  580. #define DA9052_TSILSB_TSIZL_BITS 2
  581. #define DA9052_TSILSB_TSIYL 0X0C
  582. #define DA9052_TSILSB_TSIYL_SHIFT 2
  583. #define DA9052_TSILSB_TSIYL_BITS 2
  584. #define DA9052_TSILSB_TSIXL 0X03
  585. #define DA9052_TSILSB_TSIXL_SHIFT 0
  586. #define DA9052_TSILSB_TSIXL_BITS 2
  587. /* TSI Z MEASUREMENT MSB RESULT REGISTER BIT */
  588. #define DA9052_TSIZMSB_TSIZM 0XFF
  589. /* RTC REGISTER */
  590. /* RTC TIMER SECONDS REGISTER BITS */
  591. #define DA9052_COUNTS_MONITOR 0X40
  592. #define DA9052_RTC_SEC 0X3F
  593. /* RTC TIMER MINUTES REGISTER BIT */
  594. #define DA9052_RTC_MIN 0X3F
  595. /* RTC TIMER HOUR REGISTER BIT */
  596. #define DA9052_RTC_HOUR 0X1F
  597. /* RTC TIMER DAYS REGISTER BIT */
  598. #define DA9052_RTC_DAY 0X1F
  599. /* RTC TIMER MONTHS REGISTER BIT */
  600. #define DA9052_RTC_MONTH 0X0F
  601. /* RTC TIMER YEARS REGISTER BIT */
  602. #define DA9052_RTC_YEAR 0X3F
  603. /* RTC ALARM MINUTES REGISTER BITS */
  604. #define DA9052_ALARMM_I_TICK_TYPE 0X80
  605. #define DA9052_ALARMMI_ALARMTYPE 0X40
  606. /* RTC ALARM YEARS REGISTER BITS */
  607. #define DA9052_ALARM_Y_TICK_ON 0X80
  608. #define DA9052_ALARM_Y_ALARM_ON 0X40
  609. /* RTC SECONDS REGISTER A BITS */
  610. #define DA9052_SECONDA_SECONDSA 0XFF
  611. /* RTC SECONDS REGISTER B BITS */
  612. #define DA9052_SECONDB_SECONDSB 0XFF
  613. /* RTC SECONDS REGISTER C BITS */
  614. #define DA9052_SECONDC_SECONDSC 0XFF
  615. /* RTC SECONDS REGISTER D BITS */
  616. #define DA9052_SECONDD_SECONDSD 0XFF
  617. #endif
  618. /* __LINUX_MFD_DA9052_REG_H */