am_reg_itm.h 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657
  1. //*****************************************************************************
  2. //
  3. // am_reg_itm.h
  4. //! @file
  5. //!
  6. //! @brief Register macros for the ITM module
  7. //
  8. //*****************************************************************************
  9. //*****************************************************************************
  10. //
  11. // Copyright (c) 2017, Ambiq Micro
  12. // All rights reserved.
  13. //
  14. // Redistribution and use in source and binary forms, with or without
  15. // modification, are permitted provided that the following conditions are met:
  16. //
  17. // 1. Redistributions of source code must retain the above copyright notice,
  18. // this list of conditions and the following disclaimer.
  19. //
  20. // 2. Redistributions in binary form must reproduce the above copyright
  21. // notice, this list of conditions and the following disclaimer in the
  22. // documentation and/or other materials provided with the distribution.
  23. //
  24. // 3. Neither the name of the copyright holder nor the names of its
  25. // contributors may be used to endorse or promote products derived from this
  26. // software without specific prior written permission.
  27. //
  28. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  29. // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  30. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  31. // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
  32. // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  33. // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  34. // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  35. // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  36. // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  37. // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  38. // POSSIBILITY OF SUCH DAMAGE.
  39. //
  40. // This is part of revision 1.2.11 of the AmbiqSuite Development Package.
  41. //
  42. //*****************************************************************************
  43. #ifndef AM_REG_ITM_H
  44. #define AM_REG_ITM_H
  45. //*****************************************************************************
  46. //
  47. // Instance finder. (1 instance(s) available)
  48. //
  49. //*****************************************************************************
  50. #define AM_REG_ITM_NUM_MODULES 1
  51. #define AM_REG_ITMn(n) \
  52. (REG_ITM_BASEADDR + 0x00000000 * n)
  53. //*****************************************************************************
  54. //
  55. // Register offsets.
  56. //
  57. //*****************************************************************************
  58. #define AM_REG_ITM_STIM0_O 0xE0000000
  59. #define AM_REG_ITM_STIM1_O 0xE0000004
  60. #define AM_REG_ITM_STIM2_O 0xE0000008
  61. #define AM_REG_ITM_STIM3_O 0xE000000C
  62. #define AM_REG_ITM_STIM4_O 0xE0000010
  63. #define AM_REG_ITM_STIM5_O 0xE0000014
  64. #define AM_REG_ITM_STIM6_O 0xE0000018
  65. #define AM_REG_ITM_STIM7_O 0xE000001C
  66. #define AM_REG_ITM_STIM8_O 0xE0000020
  67. #define AM_REG_ITM_STIM9_O 0xE0000024
  68. #define AM_REG_ITM_STIM10_O 0xE0000028
  69. #define AM_REG_ITM_STIM11_O 0xE000002C
  70. #define AM_REG_ITM_STIM12_O 0xE0000030
  71. #define AM_REG_ITM_STIM13_O 0xE0000034
  72. #define AM_REG_ITM_STIM14_O 0xE0000038
  73. #define AM_REG_ITM_STIM15_O 0xE000003C
  74. #define AM_REG_ITM_STIM16_O 0xE0000040
  75. #define AM_REG_ITM_STIM17_O 0xE0000044
  76. #define AM_REG_ITM_STIM18_O 0xE0000048
  77. #define AM_REG_ITM_STIM19_O 0xE000004C
  78. #define AM_REG_ITM_STIM20_O 0xE0000050
  79. #define AM_REG_ITM_STIM21_O 0xE0000054
  80. #define AM_REG_ITM_STIM22_O 0xE0000058
  81. #define AM_REG_ITM_STIM23_O 0xE000005C
  82. #define AM_REG_ITM_STIM24_O 0xE0000060
  83. #define AM_REG_ITM_STIM25_O 0xE0000064
  84. #define AM_REG_ITM_STIM26_O 0xE0000068
  85. #define AM_REG_ITM_STIM27_O 0xE000006C
  86. #define AM_REG_ITM_STIM28_O 0xE0000070
  87. #define AM_REG_ITM_STIM29_O 0xE0000074
  88. #define AM_REG_ITM_STIM30_O 0xE0000078
  89. #define AM_REG_ITM_STIM31_O 0xE000007C
  90. #define AM_REG_ITM_TER_O 0xE0000E00
  91. #define AM_REG_ITM_TPR_O 0xE0000E40
  92. #define AM_REG_ITM_TCR_O 0xE0000E80
  93. #define AM_REG_ITM_LOCKSREG_O 0xE0000FB4
  94. #define AM_REG_ITM_PID4_O 0xE0000FD0
  95. #define AM_REG_ITM_PID5_O 0xE0000FD4
  96. #define AM_REG_ITM_PID6_O 0xE0000FD8
  97. #define AM_REG_ITM_PID7_O 0xE0000FDC
  98. #define AM_REG_ITM_PID0_O 0xE0000FE0
  99. #define AM_REG_ITM_PID1_O 0xE0000FE4
  100. #define AM_REG_ITM_PID2_O 0xE0000FE8
  101. #define AM_REG_ITM_PID3_O 0xE0000FEC
  102. #define AM_REG_ITM_CID0_O 0xE0000FF0
  103. #define AM_REG_ITM_CID1_O 0xE0000FF4
  104. #define AM_REG_ITM_CID2_O 0xE0000FF8
  105. #define AM_REG_ITM_CID3_O 0xE0000FFC
  106. #define AM_REG_ITM_LOCKAREG_O 0xE0000FB0
  107. //*****************************************************************************
  108. //
  109. // Key values.
  110. //
  111. //*****************************************************************************
  112. #define AM_REG_ITM_LOCKAREG_KEYVAL 0xC5ACCE55
  113. //*****************************************************************************
  114. //
  115. // ITM_STIM0 - Stimulus Port Register 0
  116. //
  117. //*****************************************************************************
  118. // Stimulus Port Register 0.
  119. #define AM_REG_ITM_STIM0_STIM0_S 0
  120. #define AM_REG_ITM_STIM0_STIM0_M 0xFFFFFFFF
  121. #define AM_REG_ITM_STIM0_STIM0(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  122. //*****************************************************************************
  123. //
  124. // ITM_STIM1 - Stimulus Port Register 1
  125. //
  126. //*****************************************************************************
  127. // Stimulus Port Register 1.
  128. #define AM_REG_ITM_STIM1_STIM1_S 0
  129. #define AM_REG_ITM_STIM1_STIM1_M 0xFFFFFFFF
  130. #define AM_REG_ITM_STIM1_STIM1(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  131. //*****************************************************************************
  132. //
  133. // ITM_STIM2 - Stimulus Port Register 2
  134. //
  135. //*****************************************************************************
  136. // Stimulus Port Register 2.
  137. #define AM_REG_ITM_STIM2_STIM2_S 0
  138. #define AM_REG_ITM_STIM2_STIM2_M 0xFFFFFFFF
  139. #define AM_REG_ITM_STIM2_STIM2(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  140. //*****************************************************************************
  141. //
  142. // ITM_STIM3 - Stimulus Port Register 3
  143. //
  144. //*****************************************************************************
  145. // Stimulus Port Register 3.
  146. #define AM_REG_ITM_STIM3_STIM3_S 0
  147. #define AM_REG_ITM_STIM3_STIM3_M 0xFFFFFFFF
  148. #define AM_REG_ITM_STIM3_STIM3(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  149. //*****************************************************************************
  150. //
  151. // ITM_STIM4 - Stimulus Port Register 4
  152. //
  153. //*****************************************************************************
  154. // Stimulus Port Register 4.
  155. #define AM_REG_ITM_STIM4_STIM4_S 0
  156. #define AM_REG_ITM_STIM4_STIM4_M 0xFFFFFFFF
  157. #define AM_REG_ITM_STIM4_STIM4(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  158. //*****************************************************************************
  159. //
  160. // ITM_STIM5 - Stimulus Port Register 5
  161. //
  162. //*****************************************************************************
  163. // Stimulus Port Register 5.
  164. #define AM_REG_ITM_STIM5_STIM5_S 0
  165. #define AM_REG_ITM_STIM5_STIM5_M 0xFFFFFFFF
  166. #define AM_REG_ITM_STIM5_STIM5(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  167. //*****************************************************************************
  168. //
  169. // ITM_STIM6 - Stimulus Port Register 6
  170. //
  171. //*****************************************************************************
  172. // Stimulus Port Register 6.
  173. #define AM_REG_ITM_STIM6_STIM6_S 0
  174. #define AM_REG_ITM_STIM6_STIM6_M 0xFFFFFFFF
  175. #define AM_REG_ITM_STIM6_STIM6(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  176. //*****************************************************************************
  177. //
  178. // ITM_STIM7 - Stimulus Port Register 7
  179. //
  180. //*****************************************************************************
  181. // Stimulus Port Register 7.
  182. #define AM_REG_ITM_STIM7_STIM7_S 0
  183. #define AM_REG_ITM_STIM7_STIM7_M 0xFFFFFFFF
  184. #define AM_REG_ITM_STIM7_STIM7(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  185. //*****************************************************************************
  186. //
  187. // ITM_STIM8 - Stimulus Port Register 8
  188. //
  189. //*****************************************************************************
  190. // Stimulus Port Register 8.
  191. #define AM_REG_ITM_STIM8_STIM8_S 0
  192. #define AM_REG_ITM_STIM8_STIM8_M 0xFFFFFFFF
  193. #define AM_REG_ITM_STIM8_STIM8(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  194. //*****************************************************************************
  195. //
  196. // ITM_STIM9 - Stimulus Port Register 9
  197. //
  198. //*****************************************************************************
  199. // Stimulus Port Register 9.
  200. #define AM_REG_ITM_STIM9_STIM9_S 0
  201. #define AM_REG_ITM_STIM9_STIM9_M 0xFFFFFFFF
  202. #define AM_REG_ITM_STIM9_STIM9(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  203. //*****************************************************************************
  204. //
  205. // ITM_STIM10 - Stimulus Port Register 10
  206. //
  207. //*****************************************************************************
  208. // Stimulus Port Register 10.
  209. #define AM_REG_ITM_STIM10_STIM10_S 0
  210. #define AM_REG_ITM_STIM10_STIM10_M 0xFFFFFFFF
  211. #define AM_REG_ITM_STIM10_STIM10(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  212. //*****************************************************************************
  213. //
  214. // ITM_STIM11 - Stimulus Port Register 11
  215. //
  216. //*****************************************************************************
  217. // Stimulus Port Register 11.
  218. #define AM_REG_ITM_STIM11_STIM11_S 0
  219. #define AM_REG_ITM_STIM11_STIM11_M 0xFFFFFFFF
  220. #define AM_REG_ITM_STIM11_STIM11(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  221. //*****************************************************************************
  222. //
  223. // ITM_STIM12 - Stimulus Port Register 12
  224. //
  225. //*****************************************************************************
  226. // Stimulus Port Register 12.
  227. #define AM_REG_ITM_STIM12_STIM12_S 0
  228. #define AM_REG_ITM_STIM12_STIM12_M 0xFFFFFFFF
  229. #define AM_REG_ITM_STIM12_STIM12(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  230. //*****************************************************************************
  231. //
  232. // ITM_STIM13 - Stimulus Port Register 13
  233. //
  234. //*****************************************************************************
  235. // Stimulus Port Register 13.
  236. #define AM_REG_ITM_STIM13_STIM13_S 0
  237. #define AM_REG_ITM_STIM13_STIM13_M 0xFFFFFFFF
  238. #define AM_REG_ITM_STIM13_STIM13(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  239. //*****************************************************************************
  240. //
  241. // ITM_STIM14 - Stimulus Port Register 14
  242. //
  243. //*****************************************************************************
  244. // Stimulus Port Register 14.
  245. #define AM_REG_ITM_STIM14_STIM14_S 0
  246. #define AM_REG_ITM_STIM14_STIM14_M 0xFFFFFFFF
  247. #define AM_REG_ITM_STIM14_STIM14(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  248. //*****************************************************************************
  249. //
  250. // ITM_STIM15 - Stimulus Port Register 15
  251. //
  252. //*****************************************************************************
  253. // Stimulus Port Register 15.
  254. #define AM_REG_ITM_STIM15_STIM15_S 0
  255. #define AM_REG_ITM_STIM15_STIM15_M 0xFFFFFFFF
  256. #define AM_REG_ITM_STIM15_STIM15(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  257. //*****************************************************************************
  258. //
  259. // ITM_STIM16 - Stimulus Port Register 16
  260. //
  261. //*****************************************************************************
  262. // Stimulus Port Register 16.
  263. #define AM_REG_ITM_STIM16_STIM16_S 0
  264. #define AM_REG_ITM_STIM16_STIM16_M 0xFFFFFFFF
  265. #define AM_REG_ITM_STIM16_STIM16(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  266. //*****************************************************************************
  267. //
  268. // ITM_STIM17 - Stimulus Port Register 17
  269. //
  270. //*****************************************************************************
  271. // Stimulus Port Register 17.
  272. #define AM_REG_ITM_STIM17_STIM17_S 0
  273. #define AM_REG_ITM_STIM17_STIM17_M 0xFFFFFFFF
  274. #define AM_REG_ITM_STIM17_STIM17(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  275. //*****************************************************************************
  276. //
  277. // ITM_STIM18 - Stimulus Port Register 18
  278. //
  279. //*****************************************************************************
  280. // Stimulus Port Register 18.
  281. #define AM_REG_ITM_STIM18_STIM18_S 0
  282. #define AM_REG_ITM_STIM18_STIM18_M 0xFFFFFFFF
  283. #define AM_REG_ITM_STIM18_STIM18(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  284. //*****************************************************************************
  285. //
  286. // ITM_STIM19 - Stimulus Port Register 19
  287. //
  288. //*****************************************************************************
  289. // Stimulus Port Register 19.
  290. #define AM_REG_ITM_STIM19_STIM19_S 0
  291. #define AM_REG_ITM_STIM19_STIM19_M 0xFFFFFFFF
  292. #define AM_REG_ITM_STIM19_STIM19(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  293. //*****************************************************************************
  294. //
  295. // ITM_STIM20 - Stimulus Port Register 20
  296. //
  297. //*****************************************************************************
  298. // Stimulus Port Register 20.
  299. #define AM_REG_ITM_STIM20_STIM20_S 0
  300. #define AM_REG_ITM_STIM20_STIM20_M 0xFFFFFFFF
  301. #define AM_REG_ITM_STIM20_STIM20(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  302. //*****************************************************************************
  303. //
  304. // ITM_STIM21 - Stimulus Port Register 21
  305. //
  306. //*****************************************************************************
  307. // Stimulus Port Register 21.
  308. #define AM_REG_ITM_STIM21_STIM21_S 0
  309. #define AM_REG_ITM_STIM21_STIM21_M 0xFFFFFFFF
  310. #define AM_REG_ITM_STIM21_STIM21(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  311. //*****************************************************************************
  312. //
  313. // ITM_STIM22 - Stimulus Port Register 22
  314. //
  315. //*****************************************************************************
  316. // Stimulus Port Register 22.
  317. #define AM_REG_ITM_STIM22_STIM22_S 0
  318. #define AM_REG_ITM_STIM22_STIM22_M 0xFFFFFFFF
  319. #define AM_REG_ITM_STIM22_STIM22(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  320. //*****************************************************************************
  321. //
  322. // ITM_STIM23 - Stimulus Port Register 23
  323. //
  324. //*****************************************************************************
  325. // Stimulus Port Register 23.
  326. #define AM_REG_ITM_STIM23_STIM23_S 0
  327. #define AM_REG_ITM_STIM23_STIM23_M 0xFFFFFFFF
  328. #define AM_REG_ITM_STIM23_STIM23(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  329. //*****************************************************************************
  330. //
  331. // ITM_STIM24 - Stimulus Port Register 24
  332. //
  333. //*****************************************************************************
  334. // Stimulus Port Register 24.
  335. #define AM_REG_ITM_STIM24_STIM24_S 0
  336. #define AM_REG_ITM_STIM24_STIM24_M 0xFFFFFFFF
  337. #define AM_REG_ITM_STIM24_STIM24(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  338. //*****************************************************************************
  339. //
  340. // ITM_STIM25 - Stimulus Port Register 25
  341. //
  342. //*****************************************************************************
  343. // Stimulus Port Register 25.
  344. #define AM_REG_ITM_STIM25_STIM25_S 0
  345. #define AM_REG_ITM_STIM25_STIM25_M 0xFFFFFFFF
  346. #define AM_REG_ITM_STIM25_STIM25(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  347. //*****************************************************************************
  348. //
  349. // ITM_STIM26 - Stimulus Port Register 26
  350. //
  351. //*****************************************************************************
  352. // Stimulus Port Register 26.
  353. #define AM_REG_ITM_STIM26_STIM26_S 0
  354. #define AM_REG_ITM_STIM26_STIM26_M 0xFFFFFFFF
  355. #define AM_REG_ITM_STIM26_STIM26(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  356. //*****************************************************************************
  357. //
  358. // ITM_STIM27 - Stimulus Port Register 27
  359. //
  360. //*****************************************************************************
  361. // Stimulus Port Register 27.
  362. #define AM_REG_ITM_STIM27_STIM27_S 0
  363. #define AM_REG_ITM_STIM27_STIM27_M 0xFFFFFFFF
  364. #define AM_REG_ITM_STIM27_STIM27(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  365. //*****************************************************************************
  366. //
  367. // ITM_STIM28 - Stimulus Port Register 28
  368. //
  369. //*****************************************************************************
  370. // Stimulus Port Register 28.
  371. #define AM_REG_ITM_STIM28_STIM28_S 0
  372. #define AM_REG_ITM_STIM28_STIM28_M 0xFFFFFFFF
  373. #define AM_REG_ITM_STIM28_STIM28(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  374. //*****************************************************************************
  375. //
  376. // ITM_STIM29 - Stimulus Port Register 29
  377. //
  378. //*****************************************************************************
  379. // Stimulus Port Register 29.
  380. #define AM_REG_ITM_STIM29_STIM29_S 0
  381. #define AM_REG_ITM_STIM29_STIM29_M 0xFFFFFFFF
  382. #define AM_REG_ITM_STIM29_STIM29(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  383. //*****************************************************************************
  384. //
  385. // ITM_STIM30 - Stimulus Port Register 30
  386. //
  387. //*****************************************************************************
  388. // Stimulus Port Register 30.
  389. #define AM_REG_ITM_STIM30_STIM30_S 0
  390. #define AM_REG_ITM_STIM30_STIM30_M 0xFFFFFFFF
  391. #define AM_REG_ITM_STIM30_STIM30(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  392. //*****************************************************************************
  393. //
  394. // ITM_STIM31 - Stimulus Port Register 31
  395. //
  396. //*****************************************************************************
  397. // Stimulus Port Register 31.
  398. #define AM_REG_ITM_STIM31_STIM31_S 0
  399. #define AM_REG_ITM_STIM31_STIM31_M 0xFFFFFFFF
  400. #define AM_REG_ITM_STIM31_STIM31(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  401. //*****************************************************************************
  402. //
  403. // ITM_TER - Trace Enable Register.
  404. //
  405. //*****************************************************************************
  406. // Bit mask to enable tracing on ITM stimulus ports. One bit per stimulus port..
  407. #define AM_REG_ITM_TER_STIMENA_S 0
  408. #define AM_REG_ITM_TER_STIMENA_M 0xFFFFFFFF
  409. #define AM_REG_ITM_TER_STIMENA(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  410. //*****************************************************************************
  411. //
  412. // ITM_TPR - Trace Privilege Register.
  413. //
  414. //*****************************************************************************
  415. // Bit mask to enable tracing on ITM stimulus ports. bit[0] = stimulus
  416. // ports[7:0], bit[1] = stimulus ports[15:8], bit[2] = stimulus ports[23:16],
  417. // bit[3] = stimulus ports[31:24].
  418. #define AM_REG_ITM_TPR_PRIVMASK_S 0
  419. #define AM_REG_ITM_TPR_PRIVMASK_M 0x0000000F
  420. #define AM_REG_ITM_TPR_PRIVMASK(n) (((uint32_t)(n) << 0) & 0x0000000F)
  421. //*****************************************************************************
  422. //
  423. // ITM_TCR - Trace Control Register.
  424. //
  425. //*****************************************************************************
  426. // Set when ITM events present and being drained.
  427. #define AM_REG_ITM_TCR_BUSY_S 23
  428. #define AM_REG_ITM_TCR_BUSY_M 0x00800000
  429. #define AM_REG_ITM_TCR_BUSY(n) (((uint32_t)(n) << 23) & 0x00800000)
  430. // ATB ID for CoreSight system.
  431. #define AM_REG_ITM_TCR_ATB_ID_S 16
  432. #define AM_REG_ITM_TCR_ATB_ID_M 0x007F0000
  433. #define AM_REG_ITM_TCR_ATB_ID(n) (((uint32_t)(n) << 16) & 0x007F0000)
  434. // Global Timestamp Frequency.
  435. #define AM_REG_ITM_TCR_TS_FREQ_S 10
  436. #define AM_REG_ITM_TCR_TS_FREQ_M 0x00000C00
  437. #define AM_REG_ITM_TCR_TS_FREQ(n) (((uint32_t)(n) << 10) & 0x00000C00)
  438. // Timestamp prescaler: 0b00 = no prescaling 0b01 = divide by 4 0b10 = divide by
  439. // 16 0b11 = divide by 64.
  440. #define AM_REG_ITM_TCR_TS_PRESCALE_S 8
  441. #define AM_REG_ITM_TCR_TS_PRESCALE_M 0x00000300
  442. #define AM_REG_ITM_TCR_TS_PRESCALE(n) (((uint32_t)(n) << 8) & 0x00000300)
  443. // Enable SWV behavior – count on TPIUEMIT and TPIUBAUD.
  444. #define AM_REG_ITM_TCR_SWV_ENABLE_S 4
  445. #define AM_REG_ITM_TCR_SWV_ENABLE_M 0x00000010
  446. #define AM_REG_ITM_TCR_SWV_ENABLE(n) (((uint32_t)(n) << 4) & 0x00000010)
  447. // Enables the DWT stimulus.
  448. #define AM_REG_ITM_TCR_DWT_ENABLE_S 3
  449. #define AM_REG_ITM_TCR_DWT_ENABLE_M 0x00000008
  450. #define AM_REG_ITM_TCR_DWT_ENABLE(n) (((uint32_t)(n) << 3) & 0x00000008)
  451. // Enables sync packets for TPIU.
  452. #define AM_REG_ITM_TCR_SYNC_ENABLE_S 2
  453. #define AM_REG_ITM_TCR_SYNC_ENABLE_M 0x00000004
  454. #define AM_REG_ITM_TCR_SYNC_ENABLE(n) (((uint32_t)(n) << 2) & 0x00000004)
  455. // Enables differential timestamps. Differential timestamps are emitted when a
  456. // packet is written to the FIFO with a non-zero timestamp counter, and when the
  457. // timestamp counter overflows. Timestamps are emitted during idle times after a
  458. // fixed number of cycles. This provides a time reference for packets and inter-
  459. // packet gaps.
  460. #define AM_REG_ITM_TCR_TS_ENABLE_S 1
  461. #define AM_REG_ITM_TCR_TS_ENABLE_M 0x00000002
  462. #define AM_REG_ITM_TCR_TS_ENABLE(n) (((uint32_t)(n) << 1) & 0x00000002)
  463. // Enable ITM. This is the master enable, and must be set before ITM Stimulus
  464. // and Trace Enable registers can be written.
  465. #define AM_REG_ITM_TCR_ITM_ENABLE_S 0
  466. #define AM_REG_ITM_TCR_ITM_ENABLE_M 0x00000001
  467. #define AM_REG_ITM_TCR_ITM_ENABLE(n) (((uint32_t)(n) << 0) & 0x00000001)
  468. //*****************************************************************************
  469. //
  470. // ITM_LOCKSREG - Lock Status Register
  471. //
  472. //*****************************************************************************
  473. // You cannot implement 8-bit lock accesses.
  474. #define AM_REG_ITM_LOCKSREG_BYTEACC_S 2
  475. #define AM_REG_ITM_LOCKSREG_BYTEACC_M 0x00000004
  476. #define AM_REG_ITM_LOCKSREG_BYTEACC(n) (((uint32_t)(n) << 2) & 0x00000004)
  477. // Write access to component is blocked. All writes are ignored, reads are
  478. // permitted.
  479. #define AM_REG_ITM_LOCKSREG_ACCESS_S 1
  480. #define AM_REG_ITM_LOCKSREG_ACCESS_M 0x00000002
  481. #define AM_REG_ITM_LOCKSREG_ACCESS(n) (((uint32_t)(n) << 1) & 0x00000002)
  482. // Indicates that a lock mechanism exists for this component.
  483. #define AM_REG_ITM_LOCKSREG_PRESENT_S 0
  484. #define AM_REG_ITM_LOCKSREG_PRESENT_M 0x00000001
  485. #define AM_REG_ITM_LOCKSREG_PRESENT(n) (((uint32_t)(n) << 0) & 0x00000001)
  486. //*****************************************************************************
  487. //
  488. // ITM_PID4 - Peripheral Identification Register 4
  489. //
  490. //*****************************************************************************
  491. // Peripheral Identification 4.
  492. #define AM_REG_ITM_PID4_PID4_S 0
  493. #define AM_REG_ITM_PID4_PID4_M 0xFFFFFFFF
  494. #define AM_REG_ITM_PID4_PID4(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  495. //*****************************************************************************
  496. //
  497. // ITM_PID5 - Peripheral Identification Register 5
  498. //
  499. //*****************************************************************************
  500. // Peripheral Identification 5.
  501. #define AM_REG_ITM_PID5_PID5_S 0
  502. #define AM_REG_ITM_PID5_PID5_M 0xFFFFFFFF
  503. #define AM_REG_ITM_PID5_PID5(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  504. //*****************************************************************************
  505. //
  506. // ITM_PID6 - Peripheral Identification Register 6
  507. //
  508. //*****************************************************************************
  509. // Peripheral Identification 6.
  510. #define AM_REG_ITM_PID6_PID6_S 0
  511. #define AM_REG_ITM_PID6_PID6_M 0xFFFFFFFF
  512. #define AM_REG_ITM_PID6_PID6(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  513. //*****************************************************************************
  514. //
  515. // ITM_PID7 - Peripheral Identification Register 7
  516. //
  517. //*****************************************************************************
  518. // Peripheral Identification 7.
  519. #define AM_REG_ITM_PID7_PID7_S 0
  520. #define AM_REG_ITM_PID7_PID7_M 0xFFFFFFFF
  521. #define AM_REG_ITM_PID7_PID7(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  522. //*****************************************************************************
  523. //
  524. // ITM_PID0 - Peripheral Identification Register 0
  525. //
  526. //*****************************************************************************
  527. // Peripheral Identification 0.
  528. #define AM_REG_ITM_PID0_PID0_S 0
  529. #define AM_REG_ITM_PID0_PID0_M 0xFFFFFFFF
  530. #define AM_REG_ITM_PID0_PID0(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  531. //*****************************************************************************
  532. //
  533. // ITM_PID1 - Peripheral Identification Register 1
  534. //
  535. //*****************************************************************************
  536. // Peripheral Identification 1.
  537. #define AM_REG_ITM_PID1_PID1_S 0
  538. #define AM_REG_ITM_PID1_PID1_M 0xFFFFFFFF
  539. #define AM_REG_ITM_PID1_PID1(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  540. //*****************************************************************************
  541. //
  542. // ITM_PID2 - Peripheral Identification Register 2
  543. //
  544. //*****************************************************************************
  545. // Peripheral Identification 2.
  546. #define AM_REG_ITM_PID2_PID2_S 0
  547. #define AM_REG_ITM_PID2_PID2_M 0xFFFFFFFF
  548. #define AM_REG_ITM_PID2_PID2(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  549. //*****************************************************************************
  550. //
  551. // ITM_PID3 - Peripheral Identification Register 3
  552. //
  553. //*****************************************************************************
  554. // Peripheral Identification 3.
  555. #define AM_REG_ITM_PID3_PID3_S 0
  556. #define AM_REG_ITM_PID3_PID3_M 0xFFFFFFFF
  557. #define AM_REG_ITM_PID3_PID3(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  558. //*****************************************************************************
  559. //
  560. // ITM_CID0 - Component Identification Register 1
  561. //
  562. //*****************************************************************************
  563. // Component Identification 1.
  564. #define AM_REG_ITM_CID0_CID0_S 0
  565. #define AM_REG_ITM_CID0_CID0_M 0xFFFFFFFF
  566. #define AM_REG_ITM_CID0_CID0(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  567. //*****************************************************************************
  568. //
  569. // ITM_CID1 - Component Identification Register 1
  570. //
  571. //*****************************************************************************
  572. // Component Identification 1.
  573. #define AM_REG_ITM_CID1_CID1_S 0
  574. #define AM_REG_ITM_CID1_CID1_M 0xFFFFFFFF
  575. #define AM_REG_ITM_CID1_CID1(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  576. //*****************************************************************************
  577. //
  578. // ITM_CID2 - Component Identification Register 2
  579. //
  580. //*****************************************************************************
  581. // Component Identification 2.
  582. #define AM_REG_ITM_CID2_CID2_S 0
  583. #define AM_REG_ITM_CID2_CID2_M 0xFFFFFFFF
  584. #define AM_REG_ITM_CID2_CID2(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  585. //*****************************************************************************
  586. //
  587. // ITM_CID3 - Component Identification Register 3
  588. //
  589. //*****************************************************************************
  590. // Component Identification 3.
  591. #define AM_REG_ITM_CID3_CID3_S 0
  592. #define AM_REG_ITM_CID3_CID3_M 0xFFFFFFFF
  593. #define AM_REG_ITM_CID3_CID3(n) (((uint32_t)(n) << 0) & 0xFFFFFFFF)
  594. #endif // AM_REG_ITM_H