RegMap.h 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  1. #ifndef USERPROGRAMME_REGMAP_H
  2. #define USERPROGRAMME_REGMAP_H
  3. #define SENS_CTRL_ADDR 0x00
  4. #define SENS_LOW_THRES_T1_ADDR 0x01
  5. #define SENS_HIGH_THRES_T1_ADDR 0x02
  6. #define SENS_LOW_THRES_R1_ADDR 0x03
  7. #define SENS_HIGH_THRES_R1_ADDR 0x04
  8. #define SENS_LOW_THRES_T2_ADDR 0x05
  9. #define SENS_HIGH_THRES_T2_ADDR 0x06
  10. #define SENS_LOW_THRES_R2_ADDR 0x07
  11. #define SENS_HIGH_THRES_R2_ADDR 0x08
  12. #define OVERLOAD_STS_ADDR 0x09
  13. #define OVERLOAD_THRESHOLD_ADDR 0xa
  14. #define PGMODE0_ADDR 0xb
  15. #define NCO_FTW2_H 0xc
  16. #define NCO_FTW2_L 0xd
  17. #define DITHER_CTRL_ADDR 0xe
  18. #define MEAS_CTRL_ADDR 0x11
  19. #define ADC_CTRL_ADDR 0x12
  20. #define ADC0_SPI_ADDR 0x13
  21. #define ADC1_SPI_ADDR 0x14
  22. #define NCO_FTW1_H_ADDR 0x15
  23. #define NCO_FTW1_L_ADDR 0x16
  24. #define CORR_COEF_H_ADDR 0x17
  25. #define CORR_COEF_L_ADDR 0x18
  26. /*PG7 Settings*/
  27. #define PGMODE1_ADDR 0x1b
  28. #define MUX_CTRL1_ADDR 0x1c
  29. #define MUX_CTRL2_ADDR 0x1d
  30. #define MUX_CTRL3_ADDR 0x1e
  31. #define MUX_CTRL4_ADDR 0x1f
  32. #define PG7P1DEL_ADDR 0x20
  33. #define PG7P2DEL_ADDR 0x21
  34. #define PG7P3DEL_ADDR 0x22
  35. #define PG7P123DEL_ADDR 0x23
  36. #define PG7P1W_ADDR 0x24
  37. #define PG7P2W_ADDR 0x25
  38. #define PG7P3W_ADDR 0x26
  39. #define PG7P123W_ADDR 0x27
  40. /*PG1 Settings*/
  41. #define PG1P1DEL_ADDR 0x28
  42. #define PG1P2DEL_ADDR 0x29
  43. #define PG1P3DEL_ADDR 0x2a
  44. #define PG1P123DEL_ADDR 0x2b
  45. #define PG1P1W_ADDR 0x2c
  46. #define PG1P2W_ADDR 0x2d
  47. #define PG1P3W_ADDR 0x2e
  48. #define PG1P123W_ADDR 0x2f
  49. /*PG2 Settings*/
  50. #define PG2P1DEL_ADDR 0x30
  51. #define PG2P2DEL_ADDR 0x31
  52. #define PG2P3DEL_ADDR 0x32
  53. #define PG2P123DEL_ADDR 0x33
  54. #define PG2P1W_ADDR 0x34
  55. #define PG2P2W_ADDR 0x35
  56. #define PG2P3W_ADDR 0x36
  57. #define PG2P123W_ADDR 0x37
  58. /*PG3 Settings*/
  59. #define PG3P1DEL_ADDR 0x38
  60. #define PG3P2DEL_ADDR 0x39
  61. #define PG3P3DEL_ADDR 0x3a
  62. #define PG3P123DEL_ADDR 0x3b
  63. #define PG3P1W_ADDR 0x3c
  64. #define PG3P2W_ADDR 0x3d
  65. #define PG3P3W_ADDR 0x3e
  66. #define PG3P123W_ADDR 0x3f
  67. /*PG4 Settings*/
  68. #define PG4P1DEL_ADDR 0x40
  69. #define PG4P2DEL_ADDR 0x41
  70. #define PG4P3DEL_ADDR 0x42
  71. #define PG4P123DEL_ADDR 0x43
  72. #define PG4P1W_ADDR 0x44
  73. #define PG4P2W_ADDR 0x45
  74. #define PG4P3W_ADDR 0x46
  75. #define PG4P123W_ADDR 0x47
  76. /*PG5 Settings*/
  77. #define PG5P1DEL_ADDR 0x48
  78. #define PG5P2DEL_ADDR 0x49
  79. #define PG5P3DEL_ADDR 0x4a
  80. #define PG5P123DEL_ADDR 0x4b
  81. #define PG5P1W_ADDR 0x4c
  82. #define PG5P2W_ADDR 0x4d
  83. #define PG5P3W_ADDR 0x4e
  84. #define PG5P123W_ADDR 0x4f
  85. /*PG6 Settings*/
  86. #define PG6P1DEL_ADDR 0x50
  87. #define PG6P2DEL_ADDR 0x51
  88. #define PG6P3DEL_ADDR 0x52
  89. #define PG6P123DEL_ADDR 0x53
  90. #define PG6P1W_ADDR 0x54
  91. #define PG6P2W_ADDR 0x55
  92. #define PG6P3W_ADDR 0x56
  93. #define PG6P123W_ADDR 0x57
  94. /*Meas Ctrl */
  95. #define MEASNUM_23_0_ADDR 0x58
  96. #define MEASNUM_31_24_ADDR 0x59
  97. #define CFGREG_ADDR 0x80
  98. #define MEASDATA_FIFO_ADDR 0x96
  99. /**********************************************************************************
  100. * PGMODE0_REG
  101. *********************************************************************************/
  102. /*Gen1 Modes*/
  103. #define BITP_PG1MODE 0
  104. #define ENUM_PG1MODE_OFF (0 << BITP_PG1MODE)
  105. #define ENUM_PG1MODE_1P (1 << BITP_PG1MODE)
  106. #define ENUM_PG1MODE_2P (2 << BITP_PG1MODE)
  107. #define ENUM_PG1MODE_3P (3 << BITP_PG1MODE)
  108. #define ENUM_PG1MODE_NP (4 << BITP_PG1MODE)
  109. #define ENUM_PG1MODE_CONT (5 << BITP_PG1MODE)
  110. /*Gen2 Modes*/
  111. #define BITP_PG2MODE 3
  112. #define ENUM_PG2MODE_OFF (0 << BITP_PG2MODE)
  113. #define ENUM_PG2MODE_1P (1 << BITP_PG2MODE)
  114. #define ENUM_PG2MODE_2P (2 << BITP_PG2MODE)
  115. #define ENUM_PG2MODE_3P (3 << BITP_PG2MODE)
  116. #define ENUM_PG2MODE_NP (4 << BITP_PG2MODE)
  117. #define ENUM_PG2MODE_CONT (5 << BITP_PG2MODE)
  118. /*Gen3 Modes*/
  119. #define BITP_PG3MODE 6
  120. #define ENUM_PG3MODE_OFF (0 << BITP_PG3MODE)
  121. #define ENUM_PG3MODE_1P (1 << BITP_PG3MODE)
  122. #define ENUM_PG3MODE_2P (2 << BITP_PG3MODE)
  123. #define ENUM_PG3MODE_3P (3 << BITP_PG3MODE)
  124. #define ENUM_PG3MODE_NP (4 << BITP_PG3MODE)
  125. #define ENUM_PG3MODE_CONT (5 << BITP_PG3MODE)
  126. /*Gen4 Modes*/
  127. #define BITP_PG4MODE 9
  128. #define ENUM_PG4MODE_OFF (0 << BITP_PG4MODE)
  129. #define ENUM_PG4MODE_1P (1 << BITP_PG4MODE)
  130. #define ENUM_PG4MODE_2P (2 << BITP_PG4MODE)
  131. #define ENUM_PG4MODE_3P (3 << BITP_PG4MODE)
  132. #define ENUM_PG4MODE_NP (4 << BITP_PG4MODE)
  133. #define ENUM_PG4MODE_CONT (5 << BITP_PG4MODE)
  134. /*Gen5 Modes*/
  135. #define BITP_PG5MODE 12
  136. #define ENUM_PG5MODE_OFF (0 << BITP_PG5MODE)
  137. #define ENUM_PG5MODE_1P (1 << BITP_PG5MODE)
  138. #define ENUM_PG5MODE_2P (2 << BITP_PG5MODE)
  139. #define ENUM_PG5MODE_3P (3 << BITP_PG5MODE)
  140. #define ENUM_PG5MODE_NP (4 << BITP_PG5MODE)
  141. #define ENUM_PG5MODE_CONT (5 << BITP_PG5MODE)
  142. /*Gen6 Modes*/
  143. #define BITP_PG6MODE 15
  144. #define ENUM_PG6MODE_OFF (0 << BITP_PG6MODE)
  145. #define ENUM_PG6MODE_1P (1 << BITP_PG6MODE)
  146. #define ENUM_PG6MODE_2P (2 << BITP_PG6MODE)
  147. #define ENUM_PG6MODE_3P (3 << BITP_PG6MODE)
  148. #define ENUM_PG6MODE_NP (4 << BITP_PG6MODE)
  149. #define ENUM_PG6MODE_CONT (5 << BITP_PG6MODE)
  150. /*Gen7 Modes*/
  151. #define BITP_PG7MODE 18
  152. #define BITM_PG7MODE (0x07 << BITP_PG7MODE)
  153. #define ENUM_PG7MODE_OFF (0 << BITP_PG7MODE)
  154. #define ENUM_PG7MODE_1P (1 << BITP_PG7MODE)
  155. #define ENUM_PG7MODE_2P (2 << BITP_PG7MODE)
  156. #define ENUM_PG7MODE_3P (3 << BITP_PG7MODE)
  157. #define ENUM_PG7MODE_NP (4 << BITP_PG7MODE)
  158. #define ENUM_PG7MODE_CONT (5 << BITP_PG7MODE)
  159. /**********************************************************************************
  160. * MEAS_CTRL_REG
  161. *********************************************************************************/
  162. #define BITP_MEAS_CTRL_T 0
  163. #define BITP_MEAS_CTRL_R 2
  164. #define BITP_MEAS_CTRL_SW 6
  165. #define BITP_MEAS_CTRL_M 10
  166. #define BITP_MEAS_CTRL_P 14
  167. #define BITP_MEAS_CTRL_P1D 18
  168. #define BITP_MEAS_CTRL_P2D 19
  169. #define BITP_MEAS_CTRL_P3D 20
  170. #define BITP_MEAS_CTRL_P4D 21
  171. #define BITP_MEAS_CTRL_P5D 22
  172. #define BITP_MEAS_CTRL_P6D 23
  173. #define BITM_MEAS_CTRL_T (0x03 << BITP_MEAS_CTRL_T)
  174. #define BITM_MEAS_CTRL_R (0xF << BITP_MEAS_CTRL_R)
  175. #define BITM_MEAS_CTRL_SW (0xF << BITP_MEAS_CTRL_SW)
  176. #define BITM_MEAS_CTRL_M (0xF << BITP_MEAS_CTRL_M)
  177. #define BITM_MEAS_CTRL_P (0xF << BITP_MEAS_CTRL_P)
  178. #define BITM_MEAS_CTRL_P1D (0x01 << BITP_MEAS_CTRL_P1D)
  179. #define BITM_MEAS_CTRL_P2D (0x01 << BITP_MEAS_CTRL_P2D)
  180. #define BITM_MEAS_CTRL_P3D (0x01 << BITP_MEAS_CTRL_P3D)
  181. #define BITM_MEAS_CTRL_P4D (0x01 << BITP_MEAS_CTRL_P4D)
  182. #define BITM_MEAS_CTRL_P5D (0x01 << BITP_MEAS_CTRL_P5D)
  183. #define BITM_MEAS_CTRL_P6D (0x01 << BITP_MEAS_CTRL_P6D)
  184. #define ENUM_MEAS_CTRL_P1D_IN (0x01 << BITP_MEAS_CTRL_P1D)
  185. #define ENUM_MEAS_CTRL_P2D_IN (0x01 << BITP_MEAS_CTRL_P2D)
  186. #define ENUM_MEAS_CTRL_P3D_IN (0x01 << BITP_MEAS_CTRL_P3D)
  187. #define ENUM_MEAS_CTRL_P4D_IN (0x01 << BITP_MEAS_CTRL_P4D)
  188. #define ENUM_MEAS_CTRL_P5D_IN (0x01 << BITP_MEAS_CTRL_P5D)
  189. #define ENUM_MEAS_CTRL_P6D_IN (0x01 << BITP_MEAS_CTRL_P6D)
  190. #define ENUM_MEAS_CTRL_P1D_OUT (0x00 << BITP_MEAS_CTRL_P1D)
  191. #define ENUM_MEAS_CTRL_P2D_OUT (0x00 << BITP_MEAS_CTRL_P2D)
  192. #define ENUM_MEAS_CTRL_P3D_OUT (0x00 << BITP_MEAS_CTRL_P3D)
  193. #define ENUM_MEAS_CTRL_P4D_OUT (0x00 << BITP_MEAS_CTRL_P4D)
  194. #define ENUM_MEAS_CTRL_P5D_OUT (0x00 << BITP_MEAS_CTRL_P5D)
  195. #define ENUM_MEAS_CTRL_P6D_OUT (0x00 << BITP_MEAS_CTRL_P6D)
  196. /**********************************************************************************
  197. * CORR_COEF_H_REG
  198. *********************************************************************************/
  199. #define BITP_CORR_COEF_H_CO 0
  200. #define BITM_CORR_COEF_H_CO (0xFF << BITP_CORR_COEF_H_CO)
  201. /**********************************************************************************
  202. * CORR_COEF_L_REG
  203. *********************************************************************************/
  204. #define BITP_CORR_COEF_L_CO 0
  205. #define BITM_CORR_COEF_L_CO (0xFFFFFF << BITP_CORR_COEF_L_CO)
  206. /**********************************************************************************
  207. * PGMODE1_REG
  208. *********************************************************************************/
  209. #define BITP_PG1MODE1_RSTP_1 0
  210. #define BITP_PG1MODE1_RST_P2 1
  211. #define BITP_PG1MODE1_RST_P3 2
  212. #define BITP_PG1MODE1_RST_P4 3
  213. #define BITP_PG1MODE1_RST5_P5 4
  214. #define BITP_PG1MODE1_RST6_P6 5
  215. #define BITP_PG1MODE1_RST7_P7 6
  216. #define BITM_PG1MODE1_RSTP_1 (0x01 << BITP_PG1MODE1_RSTP_1)
  217. #define BITM_PG1MODE1_RST_P2 (0x01 << BITP_PG1MODE1_RST_P2)
  218. #define BITM_PG1MODE1_RST_P3 (0x01 << BITP_PG1MODE1_RST_P3)
  219. #define BITM_PG1MODE1_RST_P4 (0x01 << BITP_PG1MODE1_RST_P4)
  220. #define BITM_PG1MODE1_RST5_P5 (0x01 << BITP_PG1MODE1_RST5_P5)
  221. #define BITM_PG1MODE1_RST6_P6 (0x01 << BITP_PG1MODE1_RST6_P6)
  222. #define BITM_PG1MODE1_RST7_P7 (0x01 << BITP_PG1MODE1_RST7_P7)
  223. #define ENUM_PG1MODE1_RSTP_1_ON (0x01 << BITP_PG1MODE1_RSTP_1)
  224. #define ENUM_PG1MODE1_RST_P2_ON (0x01 << BITP_PG1MODE1_RST_P2)
  225. #define ENUM_PG1MODE1_RST_P3_ON (0x01 << BITP_PG1MODE1_RST_P3)
  226. #define ENUM_PG1MODE1_RST_P4_ON (0x01 << BITP_PG1MODE1_RST_P4)
  227. #define ENUM_PG1MODE1_RST5_P5_ON (0x01 << BITP_PG1MODE1_RST5_P5)
  228. #define ENUM_PG1MODE1_RST6_P6_ON (0x01 << BITP_PG1MODE1_RST6_P6)
  229. #define ENUM_PG1MODE1_RST7_P7_ON (0x01 << BITP_PG1MODE1_RST7_P7)
  230. #define ENUM_PG1MODE1_RSTP_1_OFF (0x00 << BITP_PG1MODE1_RSTP_1)
  231. #define ENUM_PG1MODE1_RST_P2_OFF (0x00 << BITP_PG1MODE1_RST_P2)
  232. #define ENUM_PG1MODE1_RST_P3_OFF (0x00 << BITP_PG1MODE1_RST_P3)
  233. #define ENUM_PG1MODE1_RST_P4_OFF (0x00 << BITP_PG1MODE1_RST_P4)
  234. #define ENUM_PG1MODE1_RST5_P5_OFF (0x00 << BITP_PG1MODE1_RST5_P5)
  235. #define ENUM_PG1MODE1_RST6_P6_OFF (0x00 << BITP_PG1MODE1_RST6_P6)
  236. #define ENUM_PG1MODE1_RST7_P7_OFF (0x00 << BITP_PG1MODE1_RST7_P7)
  237. #define BITP_PGMODE1_POL_P1 10
  238. #define BITP_PGMODE1_POL_P2 11
  239. #define BITP_PGMODE1_POL_P3 12
  240. #define BITP_PGMODE1_POL_P4 13
  241. #define BITP_PGMODE1_POL_P5 14
  242. #define BITP_PGMODE1_POL_P6 15
  243. #define BITP_PGMODE1_POL_P7 16
  244. #define BITM_PGMODE1_POL_P1 (0x01 << BITP_PGMODE1_POL_P1)
  245. #define BITM_PGMODE1_POL_P2 (0x01 << BITP_PGMODE1_POL_P2)
  246. #define BITM_PGMODE1_POL_P3 (0x01 << BITP_PGMODE1_POL_P3)
  247. #define BITM_PGMODE1_POL_P4 (0x01 << BITP_PGMODE1_POL_P4)
  248. #define BITM_PGMODE1_POL_P5 (0x01 << BITP_PGMODE1_POL_P5)
  249. #define BITM_PGMODE1_POL_P6 (0x01 << BITP_PGMODE1_POL_P6)
  250. #define BITM_PGMODE1_POL_P7 (0x01 << BITP_PGMODE1_POL_P7)
  251. #define BITP_PGMODE1_FRONT_P1 17
  252. #define BITP_PGMODE1_FRONT_P2 18
  253. #define BITP_PGMODE1_FRONT_P3 19
  254. #define BITP_PGMODE1_FRONT_P4 20
  255. #define BITP_PGMODE1_FRONT_P5 21
  256. #define BITP_PGMODE1_FRONT_P6 22
  257. #define BITP_PGMODE1_FRONT_P7 23
  258. #define BITM_PGMODE1_FRONT_P1 (0x01 << BITP_PGMODE1_FRONT_P1)
  259. #define BITM_PGMODE1_FRONT_P2 (0x01 << BITP_PGMODE1_FRONT_P2)
  260. #define BITM_PGMODE1_FRONT_P3 (0x01 << BITP_PGMODE1_FRONT_P3)
  261. #define BITM_PGMODE1_FRONT_P4 (0x01 << BITP_PGMODE1_FRONT_P4)
  262. #define BITM_PGMODE1_FRONT_P5 (0x01 << BITP_PGMODE1_FRONT_P5)
  263. #define BITM_PGMODE1_FRONT_P6 (0x01 << BITP_PGMODE1_FRONT_P6)
  264. #define BITM_PGMODE1_FRONT_P7 (0x01 << BITP_PGMODE1_FRONT_P7)
  265. /**********************************************************************************
  266. * MUXCTRL2_REG
  267. *********************************************************************************/
  268. #define BITP_MUXCTRL2_SSM 0
  269. #define BITM_MUXCTRL2_SSM (0x1F << BITP_MUXCTRL2_SSM)
  270. #define BITP_MUXCTRL2_G1 5
  271. #define BITM_MUXCTRL2_G1 (0x1F << BITP_MUXCTRL2_G1)
  272. #define BITP_MUXCTRL2_G2 10
  273. #define BITM_MUXCTRL2_G2 (0x1F << BITP_MUXCTRL2_G2)
  274. #define BITP_MUXCTRL2_G3 15
  275. #define BITM_MUXCTRL2_G3 (0x1F << BITP_MUXCTRL2_G3)
  276. /**********************************************************************************
  277. * MUXCTRL3_REG
  278. *********************************************************************************/
  279. #define BITP_MUXCTRL3_ET1 0
  280. #define BITM_MUXCTRL3_ET1 (0x1F << BITP_MUXCTRL3_ET1)
  281. #define BITP_MUXCTRL3_ET2 5
  282. #define BITM_MUXCTRL3_ET2 (0x1F << BITP_MUXCTRL3_ET2)
  283. #define BITP_MUXCTRL3_ET 10
  284. #define BITM_MUXCTRL3_ET (0x1F << BITP_MUXCTRL3_ET)
  285. #define BITP_MUXCTRL3_GM 15
  286. #define BITM_MUXCTRL3_GM (0x1F << BITP_MUXCTRL3_GM)
  287. #define BITP_MUXCTRL3_IT2 20
  288. #define BITM_MUXCTRL3_IT2 (0xF << BITP_MUXCTRL3_IT2)
  289. /**********************************************************************************
  290. * MUXCTRL4_REG
  291. *********************************************************************************/
  292. #define BITP_MUXCTRL4_ET3 0
  293. #define BITM_MUXCTRL4_ET3 (0x1F << BITP_MUXCTRL4_ET3)
  294. #define BITP_MUXCTRL4_ET4 5
  295. #define BITM_MUXCTRL4_ET4 (0x1F << BITP_MUXCTRL4_ET4)
  296. #define BITP_MUXCTRL4_ET5 10
  297. #define BITM_MUXCTRL4_ET5 (0x1F << BITP_MUXCTRL4_ET5)
  298. #define BITP_MUXCTRL4_ET6 15
  299. #define BITM_MUXCTRL4_ET6 (0x1F << BITP_MUXCTRL4_ET6)
  300. /**********************************************************************************
  301. * PG7P1W_REG
  302. *********************************************************************************/
  303. #define BITP_PG7P1W_DELAY 0
  304. #define BITM_PG7P1W_DELAY (0xFFFFFF << BITP_PG7P1W_DELAY)
  305. /**********************************************************************************
  306. * PG7P1W_REG
  307. *********************************************************************************/
  308. #define BITP_PG7P1W_DELAY 0
  309. #define BITM_PG7P1W_DELAY (0xFFFFFF << BITP_PG7P1W_DELAY)
  310. /**********************************************************************************
  311. * PG7P2W_REG
  312. *********************************************************************************/
  313. #define BITP_PG7P2W_DELAY 0
  314. #define BITM_PG7P2W_DELAY (0xFFFFFF << BITP_PG7P2W_DELAY)
  315. /**********************************************************************************
  316. * PG7P3W_REG
  317. *********************************************************************************/
  318. #define BITP_PG7P3W_DELAY 0
  319. #define BITM_PG7P3W_DELAY (0xFFFFFF << BITP_PG7P3W_DELAY)
  320. /**********************************************************************************
  321. * MEASNUM_REG
  322. *********************************************************************************/
  323. #define BITP_MEASNUM_23_0 0
  324. #define BITM_MEASNUM_23_0 (0xFFFFFF << BITP_MEASNUM_23_0)
  325. /**********************************************************************************
  326. * CFGREG_REG
  327. *********************************************************************************/
  328. #define BITP_CFGREG_MEASSTART 0
  329. #define BITM_CFGREG_MEASSTART (0x01 << BITP_CFGREG_MEASSTART)
  330. #define BITP_CFGREG_MEASSTOP 1
  331. #define BITM_CFGREG_MEASSTOP (0x01 << BITP_CFGREG_MEASSTOP)
  332. #define ENUM_CFGREG_MEASSTART_START (0x01 << BITP_CFGREG_MEASSTART)
  333. #define ENUM_CFGREG_MEASSTOP_STOP (0x01 << BITP_CFGREG_MEASSTOP)
  334. #endif //USERPROGRAMME_REGMAP_H