1 /******************************************************************************
2 *  Filename:       hw_cpu_itm_h
3 *  Revised:        2018-05-14 12:24:52 +0200 (Mon, 14 May 2018)
4 *  Revision:       51990
5 *
6 * Copyright (c) 2015 - 2017, Texas Instruments Incorporated
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are met:
11 *
12 * 1) Redistributions of source code must retain the above copyright notice,
13 *    this list of conditions and the following disclaimer.
14 *
15 * 2) Redistributions in binary form must reproduce the above copyright notice,
16 *    this list of conditions and the following disclaimer in the documentation
17 *    and/or other materials provided with the distribution.
18 *
19 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may
20 *    be used to endorse or promote products derived from this software without
21 *    specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 *
35 ******************************************************************************/
36 
37 #ifndef __HW_CPU_ITM_H__
38 #define __HW_CPU_ITM_H__
39 
40 //*****************************************************************************
41 //
42 // This section defines the register offsets of
43 // CPU_ITM component
44 //
45 //*****************************************************************************
46 // Stimulus Port 0
47 #define CPU_ITM_O_STIM0                                             0x00000000
48 
49 // Stimulus Port 1
50 #define CPU_ITM_O_STIM1                                             0x00000004
51 
52 // Stimulus Port 2
53 #define CPU_ITM_O_STIM2                                             0x00000008
54 
55 // Stimulus Port 3
56 #define CPU_ITM_O_STIM3                                             0x0000000C
57 
58 // Stimulus Port 4
59 #define CPU_ITM_O_STIM4                                             0x00000010
60 
61 // Stimulus Port 5
62 #define CPU_ITM_O_STIM5                                             0x00000014
63 
64 // Stimulus Port 6
65 #define CPU_ITM_O_STIM6                                             0x00000018
66 
67 // Stimulus Port 7
68 #define CPU_ITM_O_STIM7                                             0x0000001C
69 
70 // Stimulus Port 8
71 #define CPU_ITM_O_STIM8                                             0x00000020
72 
73 // Stimulus Port 9
74 #define CPU_ITM_O_STIM9                                             0x00000024
75 
76 // Stimulus Port 10
77 #define CPU_ITM_O_STIM10                                            0x00000028
78 
79 // Stimulus Port 11
80 #define CPU_ITM_O_STIM11                                            0x0000002C
81 
82 // Stimulus Port 12
83 #define CPU_ITM_O_STIM12                                            0x00000030
84 
85 // Stimulus Port 13
86 #define CPU_ITM_O_STIM13                                            0x00000034
87 
88 // Stimulus Port 14
89 #define CPU_ITM_O_STIM14                                            0x00000038
90 
91 // Stimulus Port 15
92 #define CPU_ITM_O_STIM15                                            0x0000003C
93 
94 // Stimulus Port 16
95 #define CPU_ITM_O_STIM16                                            0x00000040
96 
97 // Stimulus Port 17
98 #define CPU_ITM_O_STIM17                                            0x00000044
99 
100 // Stimulus Port 18
101 #define CPU_ITM_O_STIM18                                            0x00000048
102 
103 // Stimulus Port 19
104 #define CPU_ITM_O_STIM19                                            0x0000004C
105 
106 // Stimulus Port 20
107 #define CPU_ITM_O_STIM20                                            0x00000050
108 
109 // Stimulus Port 21
110 #define CPU_ITM_O_STIM21                                            0x00000054
111 
112 // Stimulus Port 22
113 #define CPU_ITM_O_STIM22                                            0x00000058
114 
115 // Stimulus Port 23
116 #define CPU_ITM_O_STIM23                                            0x0000005C
117 
118 // Stimulus Port 24
119 #define CPU_ITM_O_STIM24                                            0x00000060
120 
121 // Stimulus Port 25
122 #define CPU_ITM_O_STIM25                                            0x00000064
123 
124 // Stimulus Port 26
125 #define CPU_ITM_O_STIM26                                            0x00000068
126 
127 // Stimulus Port 27
128 #define CPU_ITM_O_STIM27                                            0x0000006C
129 
130 // Stimulus Port 28
131 #define CPU_ITM_O_STIM28                                            0x00000070
132 
133 // Stimulus Port 29
134 #define CPU_ITM_O_STIM29                                            0x00000074
135 
136 // Stimulus Port 30
137 #define CPU_ITM_O_STIM30                                            0x00000078
138 
139 // Stimulus Port 31
140 #define CPU_ITM_O_STIM31                                            0x0000007C
141 
142 // Trace Enable
143 #define CPU_ITM_O_TER                                               0x00000E00
144 
145 // Trace Privilege
146 #define CPU_ITM_O_TPR                                               0x00000E40
147 
148 // Trace Control
149 #define CPU_ITM_O_TCR                                               0x00000E80
150 
151 // Lock Access
152 #define CPU_ITM_O_LAR                                               0x00000FB0
153 
154 // Lock Status
155 #define CPU_ITM_O_LSR                                               0x00000FB4
156 
157 //*****************************************************************************
158 //
159 // Register: CPU_ITM_O_STIM0
160 //
161 //*****************************************************************************
162 // Field:  [31:0] STIM0
163 //
164 // A write to this location causes data to be written into the FIFO if
165 // TER.STIMENA0 is set. Reading from the stimulus port returns the FIFO status
166 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
167 // provide an atomic read-modify-write, so it's users responsibility to ensure
168 // exclusive read-modify-write if this ITM port is used concurrently by
169 // interrupts or other threads.
170 #define CPU_ITM_STIM0_STIM0_W                                               32
171 #define CPU_ITM_STIM0_STIM0_M                                       0xFFFFFFFF
172 #define CPU_ITM_STIM0_STIM0_S                                                0
173 
174 //*****************************************************************************
175 //
176 // Register: CPU_ITM_O_STIM1
177 //
178 //*****************************************************************************
179 // Field:  [31:0] STIM1
180 //
181 // A write to this location causes data to be written into the FIFO if
182 // TER.STIMENA1 is set. Reading from the stimulus port returns the FIFO status
183 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
184 // provide an atomic read-modify-write, so it's users responsibility to ensure
185 // exclusive read-modify-write if this ITM port is used concurrently by
186 // interrupts or other threads.
187 #define CPU_ITM_STIM1_STIM1_W                                               32
188 #define CPU_ITM_STIM1_STIM1_M                                       0xFFFFFFFF
189 #define CPU_ITM_STIM1_STIM1_S                                                0
190 
191 //*****************************************************************************
192 //
193 // Register: CPU_ITM_O_STIM2
194 //
195 //*****************************************************************************
196 // Field:  [31:0] STIM2
197 //
198 // A write to this location causes data to be written into the FIFO if
199 // TER.STIMENA2 is set. Reading from the stimulus port returns the FIFO status
200 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
201 // provide an atomic read-modify-write, so it's users responsibility to ensure
202 // exclusive read-modify-write if this ITM port is used concurrently by
203 // interrupts or other threads.
204 #define CPU_ITM_STIM2_STIM2_W                                               32
205 #define CPU_ITM_STIM2_STIM2_M                                       0xFFFFFFFF
206 #define CPU_ITM_STIM2_STIM2_S                                                0
207 
208 //*****************************************************************************
209 //
210 // Register: CPU_ITM_O_STIM3
211 //
212 //*****************************************************************************
213 // Field:  [31:0] STIM3
214 //
215 // A write to this location causes data to be written into the FIFO if
216 // TER.STIMENA3 is set. Reading from the stimulus port returns the FIFO status
217 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
218 // provide an atomic read-modify-write, so it's users responsibility to ensure
219 // exclusive read-modify-write if this ITM port is used concurrently by
220 // interrupts or other threads.
221 #define CPU_ITM_STIM3_STIM3_W                                               32
222 #define CPU_ITM_STIM3_STIM3_M                                       0xFFFFFFFF
223 #define CPU_ITM_STIM3_STIM3_S                                                0
224 
225 //*****************************************************************************
226 //
227 // Register: CPU_ITM_O_STIM4
228 //
229 //*****************************************************************************
230 // Field:  [31:0] STIM4
231 //
232 // A write to this location causes data to be written into the FIFO if
233 // TER.STIMENA4 is set. Reading from the stimulus port returns the FIFO status
234 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
235 // provide an atomic read-modify-write, so it's users responsibility to ensure
236 // exclusive read-modify-write if this ITM port is used concurrently by
237 // interrupts or other threads.
238 #define CPU_ITM_STIM4_STIM4_W                                               32
239 #define CPU_ITM_STIM4_STIM4_M                                       0xFFFFFFFF
240 #define CPU_ITM_STIM4_STIM4_S                                                0
241 
242 //*****************************************************************************
243 //
244 // Register: CPU_ITM_O_STIM5
245 //
246 //*****************************************************************************
247 // Field:  [31:0] STIM5
248 //
249 // A write to this location causes data to be written into the FIFO if
250 // TER.STIMENA5 is set. Reading from the stimulus port returns the FIFO status
251 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
252 // provide an atomic read-modify-write, so it's users responsibility to ensure
253 // exclusive read-modify-write if this ITM port is used concurrently by
254 // interrupts or other threads.
255 #define CPU_ITM_STIM5_STIM5_W                                               32
256 #define CPU_ITM_STIM5_STIM5_M                                       0xFFFFFFFF
257 #define CPU_ITM_STIM5_STIM5_S                                                0
258 
259 //*****************************************************************************
260 //
261 // Register: CPU_ITM_O_STIM6
262 //
263 //*****************************************************************************
264 // Field:  [31:0] STIM6
265 //
266 // A write to this location causes data to be written into the FIFO if
267 // TER.STIMENA6 is set. Reading from the stimulus port returns the FIFO status
268 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
269 // provide an atomic read-modify-write, so it's users responsibility to ensure
270 // exclusive read-modify-write if this ITM port is used concurrently by
271 // interrupts or other threads.
272 #define CPU_ITM_STIM6_STIM6_W                                               32
273 #define CPU_ITM_STIM6_STIM6_M                                       0xFFFFFFFF
274 #define CPU_ITM_STIM6_STIM6_S                                                0
275 
276 //*****************************************************************************
277 //
278 // Register: CPU_ITM_O_STIM7
279 //
280 //*****************************************************************************
281 // Field:  [31:0] STIM7
282 //
283 // A write to this location causes data to be written into the FIFO if
284 // TER.STIMENA7 is set. Reading from the stimulus port returns the FIFO status
285 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
286 // provide an atomic read-modify-write, so it's users responsibility to ensure
287 // exclusive read-modify-write if this ITM port is used concurrently by
288 // interrupts or other threads.
289 #define CPU_ITM_STIM7_STIM7_W                                               32
290 #define CPU_ITM_STIM7_STIM7_M                                       0xFFFFFFFF
291 #define CPU_ITM_STIM7_STIM7_S                                                0
292 
293 //*****************************************************************************
294 //
295 // Register: CPU_ITM_O_STIM8
296 //
297 //*****************************************************************************
298 // Field:  [31:0] STIM8
299 //
300 // A write to this location causes data to be written into the FIFO if
301 // TER.STIMENA8 is set. Reading from the stimulus port returns the FIFO status
302 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
303 // provide an atomic read-modify-write, so it's users responsibility to ensure
304 // exclusive read-modify-write if this ITM port is used concurrently by
305 // interrupts or other threads.
306 #define CPU_ITM_STIM8_STIM8_W                                               32
307 #define CPU_ITM_STIM8_STIM8_M                                       0xFFFFFFFF
308 #define CPU_ITM_STIM8_STIM8_S                                                0
309 
310 //*****************************************************************************
311 //
312 // Register: CPU_ITM_O_STIM9
313 //
314 //*****************************************************************************
315 // Field:  [31:0] STIM9
316 //
317 // A write to this location causes data to be written into the FIFO if
318 // TER.STIMENA9 is set. Reading from the stimulus port returns the FIFO status
319 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
320 // provide an atomic read-modify-write, so it's users responsibility to ensure
321 // exclusive read-modify-write if this ITM port is used concurrently by
322 // interrupts or other threads.
323 #define CPU_ITM_STIM9_STIM9_W                                               32
324 #define CPU_ITM_STIM9_STIM9_M                                       0xFFFFFFFF
325 #define CPU_ITM_STIM9_STIM9_S                                                0
326 
327 //*****************************************************************************
328 //
329 // Register: CPU_ITM_O_STIM10
330 //
331 //*****************************************************************************
332 // Field:  [31:0] STIM10
333 //
334 // A write to this location causes data to be written into the FIFO if
335 // TER.STIMENA10 is set. Reading from the stimulus port returns the FIFO status
336 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
337 // provide an atomic read-modify-write, so it's users responsibility to ensure
338 // exclusive read-modify-write if this ITM port is used concurrently by
339 // interrupts or other threads.
340 #define CPU_ITM_STIM10_STIM10_W                                             32
341 #define CPU_ITM_STIM10_STIM10_M                                     0xFFFFFFFF
342 #define CPU_ITM_STIM10_STIM10_S                                              0
343 
344 //*****************************************************************************
345 //
346 // Register: CPU_ITM_O_STIM11
347 //
348 //*****************************************************************************
349 // Field:  [31:0] STIM11
350 //
351 // A write to this location causes data to be written into the FIFO if
352 // TER.STIMENA11 is set. Reading from the stimulus port returns the FIFO status
353 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
354 // provide an atomic read-modify-write, so it's users responsibility to ensure
355 // exclusive read-modify-write if this ITM port is used concurrently by
356 // interrupts or other threads.
357 #define CPU_ITM_STIM11_STIM11_W                                             32
358 #define CPU_ITM_STIM11_STIM11_M                                     0xFFFFFFFF
359 #define CPU_ITM_STIM11_STIM11_S                                              0
360 
361 //*****************************************************************************
362 //
363 // Register: CPU_ITM_O_STIM12
364 //
365 //*****************************************************************************
366 // Field:  [31:0] STIM12
367 //
368 // A write to this location causes data to be written into the FIFO if
369 // TER.STIMENA12 is set. Reading from the stimulus port returns the FIFO status
370 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
371 // provide an atomic read-modify-write, so it's users responsibility to ensure
372 // exclusive read-modify-write if this ITM port is used concurrently by
373 // interrupts or other threads.
374 #define CPU_ITM_STIM12_STIM12_W                                             32
375 #define CPU_ITM_STIM12_STIM12_M                                     0xFFFFFFFF
376 #define CPU_ITM_STIM12_STIM12_S                                              0
377 
378 //*****************************************************************************
379 //
380 // Register: CPU_ITM_O_STIM13
381 //
382 //*****************************************************************************
383 // Field:  [31:0] STIM13
384 //
385 // A write to this location causes data to be written into the FIFO if
386 // TER.STIMENA13 is set. Reading from the stimulus port returns the FIFO status
387 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
388 // provide an atomic read-modify-write, so it's users responsibility to ensure
389 // exclusive read-modify-write if this ITM port is used concurrently by
390 // interrupts or other threads.
391 #define CPU_ITM_STIM13_STIM13_W                                             32
392 #define CPU_ITM_STIM13_STIM13_M                                     0xFFFFFFFF
393 #define CPU_ITM_STIM13_STIM13_S                                              0
394 
395 //*****************************************************************************
396 //
397 // Register: CPU_ITM_O_STIM14
398 //
399 //*****************************************************************************
400 // Field:  [31:0] STIM14
401 //
402 // A write to this location causes data to be written into the FIFO if
403 // TER.STIMENA14 is set. Reading from the stimulus port returns the FIFO status
404 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
405 // provide an atomic read-modify-write, so it's users responsibility to ensure
406 // exclusive read-modify-write if this ITM port is used concurrently by
407 // interrupts or other threads.
408 #define CPU_ITM_STIM14_STIM14_W                                             32
409 #define CPU_ITM_STIM14_STIM14_M                                     0xFFFFFFFF
410 #define CPU_ITM_STIM14_STIM14_S                                              0
411 
412 //*****************************************************************************
413 //
414 // Register: CPU_ITM_O_STIM15
415 //
416 //*****************************************************************************
417 // Field:  [31:0] STIM15
418 //
419 // A write to this location causes data to be written into the FIFO if
420 // TER.STIMENA15 is set. Reading from the stimulus port returns the FIFO status
421 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
422 // provide an atomic read-modify-write, so it's users responsibility to ensure
423 // exclusive read-modify-write if this ITM port is used concurrently by
424 // interrupts or other threads.
425 #define CPU_ITM_STIM15_STIM15_W                                             32
426 #define CPU_ITM_STIM15_STIM15_M                                     0xFFFFFFFF
427 #define CPU_ITM_STIM15_STIM15_S                                              0
428 
429 //*****************************************************************************
430 //
431 // Register: CPU_ITM_O_STIM16
432 //
433 //*****************************************************************************
434 // Field:  [31:0] STIM16
435 //
436 // A write to this location causes data to be written into the FIFO if
437 // TER.STIMENA16 is set. Reading from the stimulus port returns the FIFO status
438 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
439 // provide an atomic read-modify-write, so it's users responsibility to ensure
440 // exclusive read-modify-write if this ITM port is used concurrently by
441 // interrupts or other threads.
442 #define CPU_ITM_STIM16_STIM16_W                                             32
443 #define CPU_ITM_STIM16_STIM16_M                                     0xFFFFFFFF
444 #define CPU_ITM_STIM16_STIM16_S                                              0
445 
446 //*****************************************************************************
447 //
448 // Register: CPU_ITM_O_STIM17
449 //
450 //*****************************************************************************
451 // Field:  [31:0] STIM17
452 //
453 // A write to this location causes data to be written into the FIFO if
454 // TER.STIMENA17 is set. Reading from the stimulus port returns the FIFO status
455 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
456 // provide an atomic read-modify-write, so it's users responsibility to ensure
457 // exclusive read-modify-write if this ITM port is used concurrently by
458 // interrupts or other threads.
459 #define CPU_ITM_STIM17_STIM17_W                                             32
460 #define CPU_ITM_STIM17_STIM17_M                                     0xFFFFFFFF
461 #define CPU_ITM_STIM17_STIM17_S                                              0
462 
463 //*****************************************************************************
464 //
465 // Register: CPU_ITM_O_STIM18
466 //
467 //*****************************************************************************
468 // Field:  [31:0] STIM18
469 //
470 // A write to this location causes data to be written into the FIFO if
471 // TER.STIMENA18 is set. Reading from the stimulus port returns the FIFO status
472 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
473 // provide an atomic read-modify-write, so it's users responsibility to ensure
474 // exclusive read-modify-write if this ITM port is used concurrently by
475 // interrupts or other threads.
476 #define CPU_ITM_STIM18_STIM18_W                                             32
477 #define CPU_ITM_STIM18_STIM18_M                                     0xFFFFFFFF
478 #define CPU_ITM_STIM18_STIM18_S                                              0
479 
480 //*****************************************************************************
481 //
482 // Register: CPU_ITM_O_STIM19
483 //
484 //*****************************************************************************
485 // Field:  [31:0] STIM19
486 //
487 // A write to this location causes data to be written into the FIFO if
488 // TER.STIMENA19 is set. Reading from the stimulus port returns the FIFO status
489 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
490 // provide an atomic read-modify-write, so it's users responsibility to ensure
491 // exclusive read-modify-write if this ITM port is used concurrently by
492 // interrupts or other threads.
493 #define CPU_ITM_STIM19_STIM19_W                                             32
494 #define CPU_ITM_STIM19_STIM19_M                                     0xFFFFFFFF
495 #define CPU_ITM_STIM19_STIM19_S                                              0
496 
497 //*****************************************************************************
498 //
499 // Register: CPU_ITM_O_STIM20
500 //
501 //*****************************************************************************
502 // Field:  [31:0] STIM20
503 //
504 // A write to this location causes data to be written into the FIFO if
505 // TER.STIMENA20 is set. Reading from the stimulus port returns the FIFO status
506 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
507 // provide an atomic read-modify-write, so it's users responsibility to ensure
508 // exclusive read-modify-write if this ITM port is used concurrently by
509 // interrupts or other threads.
510 #define CPU_ITM_STIM20_STIM20_W                                             32
511 #define CPU_ITM_STIM20_STIM20_M                                     0xFFFFFFFF
512 #define CPU_ITM_STIM20_STIM20_S                                              0
513 
514 //*****************************************************************************
515 //
516 // Register: CPU_ITM_O_STIM21
517 //
518 //*****************************************************************************
519 // Field:  [31:0] STIM21
520 //
521 // A write to this location causes data to be written into the FIFO if
522 // TER.STIMENA21 is set. Reading from the stimulus port returns the FIFO status
523 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
524 // provide an atomic read-modify-write, so it's users responsibility to ensure
525 // exclusive read-modify-write if this ITM port is used concurrently by
526 // interrupts or other threads.
527 #define CPU_ITM_STIM21_STIM21_W                                             32
528 #define CPU_ITM_STIM21_STIM21_M                                     0xFFFFFFFF
529 #define CPU_ITM_STIM21_STIM21_S                                              0
530 
531 //*****************************************************************************
532 //
533 // Register: CPU_ITM_O_STIM22
534 //
535 //*****************************************************************************
536 // Field:  [31:0] STIM22
537 //
538 // A write to this location causes data to be written into the FIFO if
539 // TER.STIMENA22 is set. Reading from the stimulus port returns the FIFO status
540 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
541 // provide an atomic read-modify-write, so it's users responsibility to ensure
542 // exclusive read-modify-write if this ITM port is used concurrently by
543 // interrupts or other threads.
544 #define CPU_ITM_STIM22_STIM22_W                                             32
545 #define CPU_ITM_STIM22_STIM22_M                                     0xFFFFFFFF
546 #define CPU_ITM_STIM22_STIM22_S                                              0
547 
548 //*****************************************************************************
549 //
550 // Register: CPU_ITM_O_STIM23
551 //
552 //*****************************************************************************
553 // Field:  [31:0] STIM23
554 //
555 // A write to this location causes data to be written into the FIFO if
556 // TER.STIMENA23 is set. Reading from the stimulus port returns the FIFO status
557 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
558 // provide an atomic read-modify-write, so it's users responsibility to ensure
559 // exclusive read-modify-write if this ITM port is used concurrently by
560 // interrupts or other threads.
561 #define CPU_ITM_STIM23_STIM23_W                                             32
562 #define CPU_ITM_STIM23_STIM23_M                                     0xFFFFFFFF
563 #define CPU_ITM_STIM23_STIM23_S                                              0
564 
565 //*****************************************************************************
566 //
567 // Register: CPU_ITM_O_STIM24
568 //
569 //*****************************************************************************
570 // Field:  [31:0] STIM24
571 //
572 // A write to this location causes data to be written into the FIFO if
573 // TER.STIMENA24 is set. Reading from the stimulus port returns the FIFO status
574 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
575 // provide an atomic read-modify-write, so it's users responsibility to ensure
576 // exclusive read-modify-write if this ITM port is used concurrently by
577 // interrupts or other threads.
578 #define CPU_ITM_STIM24_STIM24_W                                             32
579 #define CPU_ITM_STIM24_STIM24_M                                     0xFFFFFFFF
580 #define CPU_ITM_STIM24_STIM24_S                                              0
581 
582 //*****************************************************************************
583 //
584 // Register: CPU_ITM_O_STIM25
585 //
586 //*****************************************************************************
587 // Field:  [31:0] STIM25
588 //
589 // A write to this location causes data to be written into the FIFO if
590 // TER.STIMENA25 is set. Reading from the stimulus port returns the FIFO status
591 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
592 // provide an atomic read-modify-write, so it's users responsibility to ensure
593 // exclusive read-modify-write if this ITM port is used concurrently by
594 // interrupts or other threads.
595 #define CPU_ITM_STIM25_STIM25_W                                             32
596 #define CPU_ITM_STIM25_STIM25_M                                     0xFFFFFFFF
597 #define CPU_ITM_STIM25_STIM25_S                                              0
598 
599 //*****************************************************************************
600 //
601 // Register: CPU_ITM_O_STIM26
602 //
603 //*****************************************************************************
604 // Field:  [31:0] STIM26
605 //
606 // A write to this location causes data to be written into the FIFO if
607 // TER.STIMENA26 is set. Reading from the stimulus port returns the FIFO status
608 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
609 // provide an atomic read-modify-write, so it's users responsibility to ensure
610 // exclusive read-modify-write if this ITM port is used concurrently by
611 // interrupts or other threads.
612 #define CPU_ITM_STIM26_STIM26_W                                             32
613 #define CPU_ITM_STIM26_STIM26_M                                     0xFFFFFFFF
614 #define CPU_ITM_STIM26_STIM26_S                                              0
615 
616 //*****************************************************************************
617 //
618 // Register: CPU_ITM_O_STIM27
619 //
620 //*****************************************************************************
621 // Field:  [31:0] STIM27
622 //
623 // A write to this location causes data to be written into the FIFO if
624 // TER.STIMENA27 is set. Reading from the stimulus port returns the FIFO status
625 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
626 // provide an atomic read-modify-write, so it's users responsibility to ensure
627 // exclusive read-modify-write if this ITM port is used concurrently by
628 // interrupts or other threads.
629 #define CPU_ITM_STIM27_STIM27_W                                             32
630 #define CPU_ITM_STIM27_STIM27_M                                     0xFFFFFFFF
631 #define CPU_ITM_STIM27_STIM27_S                                              0
632 
633 //*****************************************************************************
634 //
635 // Register: CPU_ITM_O_STIM28
636 //
637 //*****************************************************************************
638 // Field:  [31:0] STIM28
639 //
640 // A write to this location causes data to be written into the FIFO if
641 // TER.STIMENA28 is set. Reading from the stimulus port returns the FIFO status
642 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
643 // provide an atomic read-modify-write, so it's users responsibility to ensure
644 // exclusive read-modify-write if this ITM port is used concurrently by
645 // interrupts or other threads.
646 #define CPU_ITM_STIM28_STIM28_W                                             32
647 #define CPU_ITM_STIM28_STIM28_M                                     0xFFFFFFFF
648 #define CPU_ITM_STIM28_STIM28_S                                              0
649 
650 //*****************************************************************************
651 //
652 // Register: CPU_ITM_O_STIM29
653 //
654 //*****************************************************************************
655 // Field:  [31:0] STIM29
656 //
657 // A write to this location causes data to be written into the FIFO if
658 // TER.STIMENA29 is set. Reading from the stimulus port returns the FIFO status
659 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
660 // provide an atomic read-modify-write, so it's users responsibility to ensure
661 // exclusive read-modify-write if this ITM port is used concurrently by
662 // interrupts or other threads.
663 #define CPU_ITM_STIM29_STIM29_W                                             32
664 #define CPU_ITM_STIM29_STIM29_M                                     0xFFFFFFFF
665 #define CPU_ITM_STIM29_STIM29_S                                              0
666 
667 //*****************************************************************************
668 //
669 // Register: CPU_ITM_O_STIM30
670 //
671 //*****************************************************************************
672 // Field:  [31:0] STIM30
673 //
674 // A write to this location causes data to be written into the FIFO if
675 // TER.STIMENA30 is set. Reading from the stimulus port returns the FIFO status
676 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
677 // provide an atomic read-modify-write, so it's users responsibility to ensure
678 // exclusive read-modify-write if this ITM port is used concurrently by
679 // interrupts or other threads.
680 #define CPU_ITM_STIM30_STIM30_W                                             32
681 #define CPU_ITM_STIM30_STIM30_M                                     0xFFFFFFFF
682 #define CPU_ITM_STIM30_STIM30_S                                              0
683 
684 //*****************************************************************************
685 //
686 // Register: CPU_ITM_O_STIM31
687 //
688 //*****************************************************************************
689 // Field:  [31:0] STIM31
690 //
691 // A write to this location causes data to be written into the FIFO if
692 // TER.STIMENA31 is set. Reading from the stimulus port returns the FIFO status
693 // in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
694 // provide an atomic read-modify-write, so it's users responsibility to ensure
695 // exclusive read-modify-write if this ITM port is used concurrently by
696 // interrupts or other threads.
697 #define CPU_ITM_STIM31_STIM31_W                                             32
698 #define CPU_ITM_STIM31_STIM31_M                                     0xFFFFFFFF
699 #define CPU_ITM_STIM31_STIM31_S                                              0
700 
701 //*****************************************************************************
702 //
703 // Register: CPU_ITM_O_TER
704 //
705 //*****************************************************************************
706 // Field:    [31] STIMENA31
707 //
708 // Bit mask to enable tracing on ITM stimulus port 31.
709 #define CPU_ITM_TER_STIMENA31                                       0x80000000
710 #define CPU_ITM_TER_STIMENA31_BITN                                          31
711 #define CPU_ITM_TER_STIMENA31_M                                     0x80000000
712 #define CPU_ITM_TER_STIMENA31_S                                             31
713 
714 // Field:    [30] STIMENA30
715 //
716 // Bit mask to enable tracing on ITM stimulus port 30.
717 #define CPU_ITM_TER_STIMENA30                                       0x40000000
718 #define CPU_ITM_TER_STIMENA30_BITN                                          30
719 #define CPU_ITM_TER_STIMENA30_M                                     0x40000000
720 #define CPU_ITM_TER_STIMENA30_S                                             30
721 
722 // Field:    [29] STIMENA29
723 //
724 // Bit mask to enable tracing on ITM stimulus port 29.
725 #define CPU_ITM_TER_STIMENA29                                       0x20000000
726 #define CPU_ITM_TER_STIMENA29_BITN                                          29
727 #define CPU_ITM_TER_STIMENA29_M                                     0x20000000
728 #define CPU_ITM_TER_STIMENA29_S                                             29
729 
730 // Field:    [28] STIMENA28
731 //
732 // Bit mask to enable tracing on ITM stimulus port 28.
733 #define CPU_ITM_TER_STIMENA28                                       0x10000000
734 #define CPU_ITM_TER_STIMENA28_BITN                                          28
735 #define CPU_ITM_TER_STIMENA28_M                                     0x10000000
736 #define CPU_ITM_TER_STIMENA28_S                                             28
737 
738 // Field:    [27] STIMENA27
739 //
740 // Bit mask to enable tracing on ITM stimulus port 27.
741 #define CPU_ITM_TER_STIMENA27                                       0x08000000
742 #define CPU_ITM_TER_STIMENA27_BITN                                          27
743 #define CPU_ITM_TER_STIMENA27_M                                     0x08000000
744 #define CPU_ITM_TER_STIMENA27_S                                             27
745 
746 // Field:    [26] STIMENA26
747 //
748 // Bit mask to enable tracing on ITM stimulus port 26.
749 #define CPU_ITM_TER_STIMENA26                                       0x04000000
750 #define CPU_ITM_TER_STIMENA26_BITN                                          26
751 #define CPU_ITM_TER_STIMENA26_M                                     0x04000000
752 #define CPU_ITM_TER_STIMENA26_S                                             26
753 
754 // Field:    [25] STIMENA25
755 //
756 // Bit mask to enable tracing on ITM stimulus port 25.
757 #define CPU_ITM_TER_STIMENA25                                       0x02000000
758 #define CPU_ITM_TER_STIMENA25_BITN                                          25
759 #define CPU_ITM_TER_STIMENA25_M                                     0x02000000
760 #define CPU_ITM_TER_STIMENA25_S                                             25
761 
762 // Field:    [24] STIMENA24
763 //
764 // Bit mask to enable tracing on ITM stimulus port 24.
765 #define CPU_ITM_TER_STIMENA24                                       0x01000000
766 #define CPU_ITM_TER_STIMENA24_BITN                                          24
767 #define CPU_ITM_TER_STIMENA24_M                                     0x01000000
768 #define CPU_ITM_TER_STIMENA24_S                                             24
769 
770 // Field:    [23] STIMENA23
771 //
772 // Bit mask to enable tracing on ITM stimulus port 23.
773 #define CPU_ITM_TER_STIMENA23                                       0x00800000
774 #define CPU_ITM_TER_STIMENA23_BITN                                          23
775 #define CPU_ITM_TER_STIMENA23_M                                     0x00800000
776 #define CPU_ITM_TER_STIMENA23_S                                             23
777 
778 // Field:    [22] STIMENA22
779 //
780 // Bit mask to enable tracing on ITM stimulus port 22.
781 #define CPU_ITM_TER_STIMENA22                                       0x00400000
782 #define CPU_ITM_TER_STIMENA22_BITN                                          22
783 #define CPU_ITM_TER_STIMENA22_M                                     0x00400000
784 #define CPU_ITM_TER_STIMENA22_S                                             22
785 
786 // Field:    [21] STIMENA21
787 //
788 // Bit mask to enable tracing on ITM stimulus port 21.
789 #define CPU_ITM_TER_STIMENA21                                       0x00200000
790 #define CPU_ITM_TER_STIMENA21_BITN                                          21
791 #define CPU_ITM_TER_STIMENA21_M                                     0x00200000
792 #define CPU_ITM_TER_STIMENA21_S                                             21
793 
794 // Field:    [20] STIMENA20
795 //
796 // Bit mask to enable tracing on ITM stimulus port 20.
797 #define CPU_ITM_TER_STIMENA20                                       0x00100000
798 #define CPU_ITM_TER_STIMENA20_BITN                                          20
799 #define CPU_ITM_TER_STIMENA20_M                                     0x00100000
800 #define CPU_ITM_TER_STIMENA20_S                                             20
801 
802 // Field:    [19] STIMENA19
803 //
804 // Bit mask to enable tracing on ITM stimulus port 19.
805 #define CPU_ITM_TER_STIMENA19                                       0x00080000
806 #define CPU_ITM_TER_STIMENA19_BITN                                          19
807 #define CPU_ITM_TER_STIMENA19_M                                     0x00080000
808 #define CPU_ITM_TER_STIMENA19_S                                             19
809 
810 // Field:    [18] STIMENA18
811 //
812 // Bit mask to enable tracing on ITM stimulus port 18.
813 #define CPU_ITM_TER_STIMENA18                                       0x00040000
814 #define CPU_ITM_TER_STIMENA18_BITN                                          18
815 #define CPU_ITM_TER_STIMENA18_M                                     0x00040000
816 #define CPU_ITM_TER_STIMENA18_S                                             18
817 
818 // Field:    [17] STIMENA17
819 //
820 // Bit mask to enable tracing on ITM stimulus port 17.
821 #define CPU_ITM_TER_STIMENA17                                       0x00020000
822 #define CPU_ITM_TER_STIMENA17_BITN                                          17
823 #define CPU_ITM_TER_STIMENA17_M                                     0x00020000
824 #define CPU_ITM_TER_STIMENA17_S                                             17
825 
826 // Field:    [16] STIMENA16
827 //
828 // Bit mask to enable tracing on ITM stimulus port 16.
829 #define CPU_ITM_TER_STIMENA16                                       0x00010000
830 #define CPU_ITM_TER_STIMENA16_BITN                                          16
831 #define CPU_ITM_TER_STIMENA16_M                                     0x00010000
832 #define CPU_ITM_TER_STIMENA16_S                                             16
833 
834 // Field:    [15] STIMENA15
835 //
836 // Bit mask to enable tracing on ITM stimulus port 15.
837 #define CPU_ITM_TER_STIMENA15                                       0x00008000
838 #define CPU_ITM_TER_STIMENA15_BITN                                          15
839 #define CPU_ITM_TER_STIMENA15_M                                     0x00008000
840 #define CPU_ITM_TER_STIMENA15_S                                             15
841 
842 // Field:    [14] STIMENA14
843 //
844 // Bit mask to enable tracing on ITM stimulus port 14.
845 #define CPU_ITM_TER_STIMENA14                                       0x00004000
846 #define CPU_ITM_TER_STIMENA14_BITN                                          14
847 #define CPU_ITM_TER_STIMENA14_M                                     0x00004000
848 #define CPU_ITM_TER_STIMENA14_S                                             14
849 
850 // Field:    [13] STIMENA13
851 //
852 // Bit mask to enable tracing on ITM stimulus port 13.
853 #define CPU_ITM_TER_STIMENA13                                       0x00002000
854 #define CPU_ITM_TER_STIMENA13_BITN                                          13
855 #define CPU_ITM_TER_STIMENA13_M                                     0x00002000
856 #define CPU_ITM_TER_STIMENA13_S                                             13
857 
858 // Field:    [12] STIMENA12
859 //
860 // Bit mask to enable tracing on ITM stimulus port 12.
861 #define CPU_ITM_TER_STIMENA12                                       0x00001000
862 #define CPU_ITM_TER_STIMENA12_BITN                                          12
863 #define CPU_ITM_TER_STIMENA12_M                                     0x00001000
864 #define CPU_ITM_TER_STIMENA12_S                                             12
865 
866 // Field:    [11] STIMENA11
867 //
868 // Bit mask to enable tracing on ITM stimulus port 11.
869 #define CPU_ITM_TER_STIMENA11                                       0x00000800
870 #define CPU_ITM_TER_STIMENA11_BITN                                          11
871 #define CPU_ITM_TER_STIMENA11_M                                     0x00000800
872 #define CPU_ITM_TER_STIMENA11_S                                             11
873 
874 // Field:    [10] STIMENA10
875 //
876 // Bit mask to enable tracing on ITM stimulus port 10.
877 #define CPU_ITM_TER_STIMENA10                                       0x00000400
878 #define CPU_ITM_TER_STIMENA10_BITN                                          10
879 #define CPU_ITM_TER_STIMENA10_M                                     0x00000400
880 #define CPU_ITM_TER_STIMENA10_S                                             10
881 
882 // Field:     [9] STIMENA9
883 //
884 // Bit mask to enable tracing on ITM stimulus port 9.
885 #define CPU_ITM_TER_STIMENA9                                        0x00000200
886 #define CPU_ITM_TER_STIMENA9_BITN                                            9
887 #define CPU_ITM_TER_STIMENA9_M                                      0x00000200
888 #define CPU_ITM_TER_STIMENA9_S                                               9
889 
890 // Field:     [8] STIMENA8
891 //
892 // Bit mask to enable tracing on ITM stimulus port 8.
893 #define CPU_ITM_TER_STIMENA8                                        0x00000100
894 #define CPU_ITM_TER_STIMENA8_BITN                                            8
895 #define CPU_ITM_TER_STIMENA8_M                                      0x00000100
896 #define CPU_ITM_TER_STIMENA8_S                                               8
897 
898 // Field:     [7] STIMENA7
899 //
900 // Bit mask to enable tracing on ITM stimulus port 7.
901 #define CPU_ITM_TER_STIMENA7                                        0x00000080
902 #define CPU_ITM_TER_STIMENA7_BITN                                            7
903 #define CPU_ITM_TER_STIMENA7_M                                      0x00000080
904 #define CPU_ITM_TER_STIMENA7_S                                               7
905 
906 // Field:     [6] STIMENA6
907 //
908 // Bit mask to enable tracing on ITM stimulus port 6.
909 #define CPU_ITM_TER_STIMENA6                                        0x00000040
910 #define CPU_ITM_TER_STIMENA6_BITN                                            6
911 #define CPU_ITM_TER_STIMENA6_M                                      0x00000040
912 #define CPU_ITM_TER_STIMENA6_S                                               6
913 
914 // Field:     [5] STIMENA5
915 //
916 // Bit mask to enable tracing on ITM stimulus port 5.
917 #define CPU_ITM_TER_STIMENA5                                        0x00000020
918 #define CPU_ITM_TER_STIMENA5_BITN                                            5
919 #define CPU_ITM_TER_STIMENA5_M                                      0x00000020
920 #define CPU_ITM_TER_STIMENA5_S                                               5
921 
922 // Field:     [4] STIMENA4
923 //
924 // Bit mask to enable tracing on ITM stimulus port 4.
925 #define CPU_ITM_TER_STIMENA4                                        0x00000010
926 #define CPU_ITM_TER_STIMENA4_BITN                                            4
927 #define CPU_ITM_TER_STIMENA4_M                                      0x00000010
928 #define CPU_ITM_TER_STIMENA4_S                                               4
929 
930 // Field:     [3] STIMENA3
931 //
932 // Bit mask to enable tracing on ITM stimulus port 3.
933 #define CPU_ITM_TER_STIMENA3                                        0x00000008
934 #define CPU_ITM_TER_STIMENA3_BITN                                            3
935 #define CPU_ITM_TER_STIMENA3_M                                      0x00000008
936 #define CPU_ITM_TER_STIMENA3_S                                               3
937 
938 // Field:     [2] STIMENA2
939 //
940 // Bit mask to enable tracing on ITM stimulus port 2.
941 #define CPU_ITM_TER_STIMENA2                                        0x00000004
942 #define CPU_ITM_TER_STIMENA2_BITN                                            2
943 #define CPU_ITM_TER_STIMENA2_M                                      0x00000004
944 #define CPU_ITM_TER_STIMENA2_S                                               2
945 
946 // Field:     [1] STIMENA1
947 //
948 // Bit mask to enable tracing on ITM stimulus port 1.
949 #define CPU_ITM_TER_STIMENA1                                        0x00000002
950 #define CPU_ITM_TER_STIMENA1_BITN                                            1
951 #define CPU_ITM_TER_STIMENA1_M                                      0x00000002
952 #define CPU_ITM_TER_STIMENA1_S                                               1
953 
954 // Field:     [0] STIMENA0
955 //
956 // Bit mask to enable tracing on ITM stimulus port 0.
957 #define CPU_ITM_TER_STIMENA0                                        0x00000001
958 #define CPU_ITM_TER_STIMENA0_BITN                                            0
959 #define CPU_ITM_TER_STIMENA0_M                                      0x00000001
960 #define CPU_ITM_TER_STIMENA0_S                                               0
961 
962 //*****************************************************************************
963 //
964 // Register: CPU_ITM_O_TPR
965 //
966 //*****************************************************************************
967 // Field:   [3:0] PRIVMASK
968 //
969 // Bit mask to enable unprivileged (User) access to ITM stimulus ports:
970 //
971 // Bit [0] enables stimulus ports 0, 1, ..., and 7.
972 // Bit [1] enables stimulus ports 8, 9, ..., and 15.
973 // Bit [2] enables stimulus ports 16, 17, ..., and 23.
974 // Bit [3] enables stimulus ports 24, 25, ..., and 31.
975 //
976 // 0: User access allowed to stimulus ports
977 // 1: Privileged access only to stimulus ports
978 #define CPU_ITM_TPR_PRIVMASK_W                                               4
979 #define CPU_ITM_TPR_PRIVMASK_M                                      0x0000000F
980 #define CPU_ITM_TPR_PRIVMASK_S                                               0
981 
982 //*****************************************************************************
983 //
984 // Register: CPU_ITM_O_TCR
985 //
986 //*****************************************************************************
987 // Field:    [23] BUSY
988 //
989 // Set when ITM events present and being drained.
990 #define CPU_ITM_TCR_BUSY                                            0x00800000
991 #define CPU_ITM_TCR_BUSY_BITN                                               23
992 #define CPU_ITM_TCR_BUSY_M                                          0x00800000
993 #define CPU_ITM_TCR_BUSY_S                                                  23
994 
995 // Field: [22:16] ATBID
996 //
997 // Trace Bus ID for CoreSight system. Optional identifier for multi-source
998 // trace stream formatting. If multi-source trace is in use, this field must be
999 // written with a non-zero value.
1000 #define CPU_ITM_TCR_ATBID_W                                                  7
1001 #define CPU_ITM_TCR_ATBID_M                                         0x007F0000
1002 #define CPU_ITM_TCR_ATBID_S                                                 16
1003 
1004 // Field:   [9:8] TSPRESCALE
1005 //
1006 // Timestamp prescaler
1007 // ENUMs:
1008 // DIV64                    Divide by 64
1009 // DIV16                    Divide by 16
1010 // DIV4                     Divide by 4
1011 // NOPRESCALING             No prescaling
1012 #define CPU_ITM_TCR_TSPRESCALE_W                                             2
1013 #define CPU_ITM_TCR_TSPRESCALE_M                                    0x00000300
1014 #define CPU_ITM_TCR_TSPRESCALE_S                                             8
1015 #define CPU_ITM_TCR_TSPRESCALE_DIV64                                0x00000300
1016 #define CPU_ITM_TCR_TSPRESCALE_DIV16                                0x00000200
1017 #define CPU_ITM_TCR_TSPRESCALE_DIV4                                 0x00000100
1018 #define CPU_ITM_TCR_TSPRESCALE_NOPRESCALING                         0x00000000
1019 
1020 // Field:     [4] SWOENA
1021 //
1022 // Enables asynchronous clocking of the timestamp counter (when TSENA = 1). If
1023 // TSENA = 0, writing this bit to 1 does not enable asynchronous clocking of
1024 // the timestamp counter.
1025 //
1026 // 0x0: Mode disabled. Timestamp counter uses system clock from the core and
1027 // counts continuously.
1028 // 0x1: Timestamp counter uses lineout (data related) clock from TPIU
1029 // interface. The timestamp counter is held in reset while the output line is
1030 // idle.
1031 #define CPU_ITM_TCR_SWOENA                                          0x00000010
1032 #define CPU_ITM_TCR_SWOENA_BITN                                              4
1033 #define CPU_ITM_TCR_SWOENA_M                                        0x00000010
1034 #define CPU_ITM_TCR_SWOENA_S                                                 4
1035 
1036 // Field:     [3] DWTENA
1037 //
1038 // Enables the DWT stimulus (hardware event packet emission to the TPIU from
1039 // the DWT)
1040 #define CPU_ITM_TCR_DWTENA                                          0x00000008
1041 #define CPU_ITM_TCR_DWTENA_BITN                                              3
1042 #define CPU_ITM_TCR_DWTENA_M                                        0x00000008
1043 #define CPU_ITM_TCR_DWTENA_S                                                 3
1044 
1045 // Field:     [2] SYNCENA
1046 //
1047 // Enables synchronization packet transmission for a synchronous TPIU.
1048 // CPU_DWT:CTRL.SYNCTAP must be configured for the correct synchronization
1049 // speed.
1050 #define CPU_ITM_TCR_SYNCENA                                         0x00000004
1051 #define CPU_ITM_TCR_SYNCENA_BITN                                             2
1052 #define CPU_ITM_TCR_SYNCENA_M                                       0x00000004
1053 #define CPU_ITM_TCR_SYNCENA_S                                                2
1054 
1055 // Field:     [1] TSENA
1056 //
1057 // Enables differential timestamps. Differential timestamps are emitted when a
1058 // packet is written to the FIFO with a non-zero timestamp counter, and when
1059 // the timestamp counter overflows. Timestamps are emitted during idle times
1060 // after a fixed number of two million cycles. This provides a time reference
1061 // for packets and inter-packet gaps. If SWOENA (bit [4]) is set, timestamps
1062 // are triggered by activity on the internal trace bus only. In this case there
1063 // is no regular timestamp output when the ITM is idle.
1064 #define CPU_ITM_TCR_TSENA                                           0x00000002
1065 #define CPU_ITM_TCR_TSENA_BITN                                               1
1066 #define CPU_ITM_TCR_TSENA_M                                         0x00000002
1067 #define CPU_ITM_TCR_TSENA_S                                                  1
1068 
1069 // Field:     [0] ITMENA
1070 //
1071 // Enables ITM. This is the master enable, and must be set before ITM Stimulus
1072 // and Trace Enable registers can be written.
1073 #define CPU_ITM_TCR_ITMENA                                          0x00000001
1074 #define CPU_ITM_TCR_ITMENA_BITN                                              0
1075 #define CPU_ITM_TCR_ITMENA_M                                        0x00000001
1076 #define CPU_ITM_TCR_ITMENA_S                                                 0
1077 
1078 //*****************************************************************************
1079 //
1080 // Register: CPU_ITM_O_LAR
1081 //
1082 //*****************************************************************************
1083 // Field:  [31:0] LOCK_ACCESS
1084 //
1085 // A privileged write of 0xC5ACCE55 enables more write access to Control
1086 // Registers TER, TPR and TCR. An invalid write removes write access.
1087 #define CPU_ITM_LAR_LOCK_ACCESS_W                                           32
1088 #define CPU_ITM_LAR_LOCK_ACCESS_M                                   0xFFFFFFFF
1089 #define CPU_ITM_LAR_LOCK_ACCESS_S                                            0
1090 
1091 //*****************************************************************************
1092 //
1093 // Register: CPU_ITM_O_LSR
1094 //
1095 //*****************************************************************************
1096 // Field:     [2] BYTEACC
1097 //
1098 // Reads 0 which means 8-bit lock access is not be implemented.
1099 #define CPU_ITM_LSR_BYTEACC                                         0x00000004
1100 #define CPU_ITM_LSR_BYTEACC_BITN                                             2
1101 #define CPU_ITM_LSR_BYTEACC_M                                       0x00000004
1102 #define CPU_ITM_LSR_BYTEACC_S                                                2
1103 
1104 // Field:     [1] ACCESS
1105 //
1106 // Write access to component is blocked. All writes are ignored, reads are
1107 // permitted.
1108 #define CPU_ITM_LSR_ACCESS                                          0x00000002
1109 #define CPU_ITM_LSR_ACCESS_BITN                                              1
1110 #define CPU_ITM_LSR_ACCESS_M                                        0x00000002
1111 #define CPU_ITM_LSR_ACCESS_S                                                 1
1112 
1113 // Field:     [0] PRESENT
1114 //
1115 // Indicates that a lock mechanism exists for this component.
1116 #define CPU_ITM_LSR_PRESENT                                         0x00000001
1117 #define CPU_ITM_LSR_PRESENT_BITN                                             0
1118 #define CPU_ITM_LSR_PRESENT_M                                       0x00000001
1119 #define CPU_ITM_LSR_PRESENT_S                                                0
1120 
1121 
1122 #endif // __CPU_ITM__
1123