monitor.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. /* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
  2. * All rights reserved.
  3. *
  4. * This software is supplied "AS IS" without any warranties.
  5. * RDA assumes no responsibility or liability for the use of the software,
  6. * conveys no license or title under any patent, copyright, or mask work
  7. * right to the product. RDA reserves the right to make changes in the
  8. * software without notification. RDA also make no representation or
  9. * warranty that such application will be suitable for the specified use
  10. * without further testing or modification.
  11. */
  12. #ifndef _MONITOR_H_
  13. #define _MONITOR_H_
  14. // Auto generated by dtools(see dtools.txt for its version).
  15. // Don't edit it manually!
  16. #define REG_MONITOR_BASE (0x51502000)
  17. typedef volatile struct
  18. {
  19. uint32_t mon_sel0; // 0x00000000
  20. uint32_t mon_sel1; // 0x00000004
  21. uint32_t mon_sel2; // 0x00000008
  22. uint32_t mon_sel3; // 0x0000000c
  23. uint32_t mon_sel4; // 0x00000010
  24. uint32_t mon_sel5; // 0x00000014
  25. uint32_t mon_sel6; // 0x00000018
  26. uint32_t mon_sel7; // 0x0000001c
  27. uint32_t mon_con0; // 0x00000020
  28. uint32_t mon_con1; // 0x00000024
  29. uint32_t mon_con2; // 0x00000028
  30. uint32_t mon_con3; // 0x0000002c
  31. uint32_t mon_con4; // 0x00000030
  32. uint32_t mon_con5; // 0x00000034
  33. uint32_t mon_con6; // 0x00000038
  34. uint32_t mon_con7; // 0x0000003c
  35. uint32_t mon_enable; // 0x00000040
  36. uint32_t monitor_o; // 0x00000044
  37. } HWP_MONITOR_T;
  38. #define hwp_monitor ((HWP_MONITOR_T *)REG_ACCESS_ADDRESS(REG_MONITOR_BASE))
  39. // mon_sel0
  40. typedef union {
  41. uint32_t v;
  42. struct
  43. {
  44. uint32_t mon_sel0 : 11; // [10:0]
  45. uint32_t __31_11 : 21; // [31:11]
  46. } b;
  47. } REG_MONITOR_MON_SEL0_T;
  48. // mon_sel1
  49. typedef union {
  50. uint32_t v;
  51. struct
  52. {
  53. uint32_t mon_sel1 : 11; // [10:0]
  54. uint32_t __31_11 : 21; // [31:11]
  55. } b;
  56. } REG_MONITOR_MON_SEL1_T;
  57. // mon_sel2
  58. typedef union {
  59. uint32_t v;
  60. struct
  61. {
  62. uint32_t mon_sel2 : 11; // [10:0]
  63. uint32_t __31_11 : 21; // [31:11]
  64. } b;
  65. } REG_MONITOR_MON_SEL2_T;
  66. // mon_sel3
  67. typedef union {
  68. uint32_t v;
  69. struct
  70. {
  71. uint32_t mon_sel3 : 11; // [10:0]
  72. uint32_t __31_11 : 21; // [31:11]
  73. } b;
  74. } REG_MONITOR_MON_SEL3_T;
  75. // mon_sel4
  76. typedef union {
  77. uint32_t v;
  78. struct
  79. {
  80. uint32_t mon_sel4 : 11; // [10:0]
  81. uint32_t __31_11 : 21; // [31:11]
  82. } b;
  83. } REG_MONITOR_MON_SEL4_T;
  84. // mon_sel5
  85. typedef union {
  86. uint32_t v;
  87. struct
  88. {
  89. uint32_t mon_sel5 : 11; // [10:0]
  90. uint32_t __31_11 : 21; // [31:11]
  91. } b;
  92. } REG_MONITOR_MON_SEL5_T;
  93. // mon_sel6
  94. typedef union {
  95. uint32_t v;
  96. struct
  97. {
  98. uint32_t mon_sel6 : 11; // [10:0]
  99. uint32_t __31_11 : 21; // [31:11]
  100. } b;
  101. } REG_MONITOR_MON_SEL6_T;
  102. // mon_sel7
  103. typedef union {
  104. uint32_t v;
  105. struct
  106. {
  107. uint32_t mon_sel7 : 11; // [10:0]
  108. uint32_t __31_11 : 21; // [31:11]
  109. } b;
  110. } REG_MONITOR_MON_SEL7_T;
  111. // mon_con0
  112. typedef union {
  113. uint32_t v;
  114. struct
  115. {
  116. uint32_t mon_con0 : 3; // [2:0]
  117. uint32_t __31_3 : 29; // [31:3]
  118. } b;
  119. } REG_MONITOR_MON_CON0_T;
  120. // mon_con1
  121. typedef union {
  122. uint32_t v;
  123. struct
  124. {
  125. uint32_t mon_con1 : 3; // [2:0]
  126. uint32_t __31_3 : 29; // [31:3]
  127. } b;
  128. } REG_MONITOR_MON_CON1_T;
  129. // mon_con2
  130. typedef union {
  131. uint32_t v;
  132. struct
  133. {
  134. uint32_t mon_con2 : 3; // [2:0]
  135. uint32_t __31_3 : 29; // [31:3]
  136. } b;
  137. } REG_MONITOR_MON_CON2_T;
  138. // mon_con3
  139. typedef union {
  140. uint32_t v;
  141. struct
  142. {
  143. uint32_t mon_con3 : 3; // [2:0]
  144. uint32_t __31_3 : 29; // [31:3]
  145. } b;
  146. } REG_MONITOR_MON_CON3_T;
  147. // mon_con4
  148. typedef union {
  149. uint32_t v;
  150. struct
  151. {
  152. uint32_t mon_con4 : 3; // [2:0]
  153. uint32_t __31_3 : 29; // [31:3]
  154. } b;
  155. } REG_MONITOR_MON_CON4_T;
  156. // mon_con5
  157. typedef union {
  158. uint32_t v;
  159. struct
  160. {
  161. uint32_t mon_con5 : 3; // [2:0]
  162. uint32_t __31_3 : 29; // [31:3]
  163. } b;
  164. } REG_MONITOR_MON_CON5_T;
  165. // mon_con6
  166. typedef union {
  167. uint32_t v;
  168. struct
  169. {
  170. uint32_t mon_con6 : 3; // [2:0]
  171. uint32_t __31_3 : 29; // [31:3]
  172. } b;
  173. } REG_MONITOR_MON_CON6_T;
  174. // mon_con7
  175. typedef union {
  176. uint32_t v;
  177. struct
  178. {
  179. uint32_t mon_con7 : 3; // [2:0]
  180. uint32_t __31_3 : 29; // [31:3]
  181. } b;
  182. } REG_MONITOR_MON_CON7_T;
  183. // mon_enable
  184. typedef union {
  185. uint32_t v;
  186. struct
  187. {
  188. uint32_t mon_enable : 1; // [0]
  189. uint32_t __31_1 : 31; // [31:1]
  190. } b;
  191. } REG_MONITOR_MON_ENABLE_T;
  192. // monitor_o
  193. typedef union {
  194. uint32_t v;
  195. struct
  196. {
  197. uint32_t monitor_signal : 8; // [7:0], read only
  198. uint32_t __31_8 : 24; // [31:8]
  199. } b;
  200. } REG_MONITOR_MONITOR_O_T;
  201. // mon_sel0
  202. #define MONITOR_MON_SEL0(n) (((n)&0x7ff) << 0)
  203. // mon_sel1
  204. #define MONITOR_MON_SEL1(n) (((n)&0x7ff) << 0)
  205. // mon_sel2
  206. #define MONITOR_MON_SEL2(n) (((n)&0x7ff) << 0)
  207. // mon_sel3
  208. #define MONITOR_MON_SEL3(n) (((n)&0x7ff) << 0)
  209. // mon_sel4
  210. #define MONITOR_MON_SEL4(n) (((n)&0x7ff) << 0)
  211. // mon_sel5
  212. #define MONITOR_MON_SEL5(n) (((n)&0x7ff) << 0)
  213. // mon_sel6
  214. #define MONITOR_MON_SEL6(n) (((n)&0x7ff) << 0)
  215. // mon_sel7
  216. #define MONITOR_MON_SEL7(n) (((n)&0x7ff) << 0)
  217. // mon_con0
  218. #define MONITOR_MON_CON0(n) (((n)&0x7) << 0)
  219. // mon_con1
  220. #define MONITOR_MON_CON1(n) (((n)&0x7) << 0)
  221. // mon_con2
  222. #define MONITOR_MON_CON2(n) (((n)&0x7) << 0)
  223. // mon_con3
  224. #define MONITOR_MON_CON3(n) (((n)&0x7) << 0)
  225. // mon_con4
  226. #define MONITOR_MON_CON4(n) (((n)&0x7) << 0)
  227. // mon_con5
  228. #define MONITOR_MON_CON5(n) (((n)&0x7) << 0)
  229. // mon_con6
  230. #define MONITOR_MON_CON6(n) (((n)&0x7) << 0)
  231. // mon_con7
  232. #define MONITOR_MON_CON7(n) (((n)&0x7) << 0)
  233. // mon_enable
  234. #define MONITOR_MON_ENABLE (1 << 0)
  235. // monitor_o
  236. #define MONITOR_MONITOR_SIGNAL(n) (((n)&0xff) << 0)
  237. #endif // _MONITOR_H_