/******************************************************************************
*  Filename:       hw_cpu_itm_h
*  Revised:        2016-03-14 09:20:59 +0100 (Mon, 14 Mar 2016)
*  Revision:       45924
*
* Copyright (c) 2015 - 2016, Texas Instruments Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1) Redistributions of source code must retain the above copyright notice,
*    this list of conditions and the following disclaimer.
*
* 2) Redistributions in binary form must reproduce the above copyright notice,
*    this list of conditions and the following disclaimer in the documentation
*    and/or other materials provided with the distribution.
*
* 3) Neither the name of the ORGANIZATION nor the names of its contributors may
*    be used to endorse or promote products derived from this software without
*    specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/

#ifndef __HW_CPU_ITM_H__
#define __HW_CPU_ITM_H__

//*****************************************************************************
//
// This section defines the register offsets of
// CPU_ITM component
//
//*****************************************************************************
// Stimulus Port 0
#define CPU_ITM_O_STIM0                                             0x00000000

// Stimulus Port 1
#define CPU_ITM_O_STIM1                                             0x00000004

// Stimulus Port 2
#define CPU_ITM_O_STIM2                                             0x00000008

// Stimulus Port 3
#define CPU_ITM_O_STIM3                                             0x0000000C

// Stimulus Port 4
#define CPU_ITM_O_STIM4                                             0x00000010

// Stimulus Port 5
#define CPU_ITM_O_STIM5                                             0x00000014

// Stimulus Port 6
#define CPU_ITM_O_STIM6                                             0x00000018

// Stimulus Port 7
#define CPU_ITM_O_STIM7                                             0x0000001C

// Stimulus Port 8
#define CPU_ITM_O_STIM8                                             0x00000020

// Stimulus Port 9
#define CPU_ITM_O_STIM9                                             0x00000024

// Stimulus Port 10
#define CPU_ITM_O_STIM10                                            0x00000028

// Stimulus Port 11
#define CPU_ITM_O_STIM11                                            0x0000002C

// Stimulus Port 12
#define CPU_ITM_O_STIM12                                            0x00000030

// Stimulus Port 13
#define CPU_ITM_O_STIM13                                            0x00000034

// Stimulus Port 14
#define CPU_ITM_O_STIM14                                            0x00000038

// Stimulus Port 15
#define CPU_ITM_O_STIM15                                            0x0000003C

// Stimulus Port 16
#define CPU_ITM_O_STIM16                                            0x00000040

// Stimulus Port 17
#define CPU_ITM_O_STIM17                                            0x00000044

// Stimulus Port 18
#define CPU_ITM_O_STIM18                                            0x00000048

// Stimulus Port 19
#define CPU_ITM_O_STIM19                                            0x0000004C

// Stimulus Port 20
#define CPU_ITM_O_STIM20                                            0x00000050

// Stimulus Port 21
#define CPU_ITM_O_STIM21                                            0x00000054

// Stimulus Port 22
#define CPU_ITM_O_STIM22                                            0x00000058

// Stimulus Port 23
#define CPU_ITM_O_STIM23                                            0x0000005C

// Stimulus Port 24
#define CPU_ITM_O_STIM24                                            0x00000060

// Stimulus Port 25
#define CPU_ITM_O_STIM25                                            0x00000064

// Stimulus Port 26
#define CPU_ITM_O_STIM26                                            0x00000068

// Stimulus Port 27
#define CPU_ITM_O_STIM27                                            0x0000006C

// Stimulus Port 28
#define CPU_ITM_O_STIM28                                            0x00000070

// Stimulus Port 29
#define CPU_ITM_O_STIM29                                            0x00000074

// Stimulus Port 30
#define CPU_ITM_O_STIM30                                            0x00000078

// Stimulus Port 31
#define CPU_ITM_O_STIM31                                            0x0000007C

// Trace Enable
#define CPU_ITM_O_TER                                               0x00000E00

// Trace Privilege
#define CPU_ITM_O_TPR                                               0x00000E40

// Trace Control
#define CPU_ITM_O_TCR                                               0x00000E80

// Lock Access
#define CPU_ITM_O_LAR                                               0x00000FB0

// Lock Status
#define CPU_ITM_O_LSR                                               0x00000FB4

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM0
//
//*****************************************************************************
// Field:  [31:0] STIM0
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA0 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM0_STIM0_W                                               32
#define CPU_ITM_STIM0_STIM0_M                                       0xFFFFFFFF
#define CPU_ITM_STIM0_STIM0_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM1
//
//*****************************************************************************
// Field:  [31:0] STIM1
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA1 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM1_STIM1_W                                               32
#define CPU_ITM_STIM1_STIM1_M                                       0xFFFFFFFF
#define CPU_ITM_STIM1_STIM1_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM2
//
//*****************************************************************************
// Field:  [31:0] STIM2
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA2 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM2_STIM2_W                                               32
#define CPU_ITM_STIM2_STIM2_M                                       0xFFFFFFFF
#define CPU_ITM_STIM2_STIM2_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM3
//
//*****************************************************************************
// Field:  [31:0] STIM3
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA3 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM3_STIM3_W                                               32
#define CPU_ITM_STIM3_STIM3_M                                       0xFFFFFFFF
#define CPU_ITM_STIM3_STIM3_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM4
//
//*****************************************************************************
// Field:  [31:0] STIM4
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA4 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM4_STIM4_W                                               32
#define CPU_ITM_STIM4_STIM4_M                                       0xFFFFFFFF
#define CPU_ITM_STIM4_STIM4_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM5
//
//*****************************************************************************
// Field:  [31:0] STIM5
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA5 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM5_STIM5_W                                               32
#define CPU_ITM_STIM5_STIM5_M                                       0xFFFFFFFF
#define CPU_ITM_STIM5_STIM5_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM6
//
//*****************************************************************************
// Field:  [31:0] STIM6
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA6 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM6_STIM6_W                                               32
#define CPU_ITM_STIM6_STIM6_M                                       0xFFFFFFFF
#define CPU_ITM_STIM6_STIM6_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM7
//
//*****************************************************************************
// Field:  [31:0] STIM7
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA7 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM7_STIM7_W                                               32
#define CPU_ITM_STIM7_STIM7_M                                       0xFFFFFFFF
#define CPU_ITM_STIM7_STIM7_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM8
//
//*****************************************************************************
// Field:  [31:0] STIM8
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA8 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM8_STIM8_W                                               32
#define CPU_ITM_STIM8_STIM8_M                                       0xFFFFFFFF
#define CPU_ITM_STIM8_STIM8_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM9
//
//*****************************************************************************
// Field:  [31:0] STIM9
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA9 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM9_STIM9_W                                               32
#define CPU_ITM_STIM9_STIM9_M                                       0xFFFFFFFF
#define CPU_ITM_STIM9_STIM9_S                                                0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM10
//
//*****************************************************************************
// Field:  [31:0] STIM10
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA10 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM10_STIM10_W                                             32
#define CPU_ITM_STIM10_STIM10_M                                     0xFFFFFFFF
#define CPU_ITM_STIM10_STIM10_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM11
//
//*****************************************************************************
// Field:  [31:0] STIM11
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA11 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM11_STIM11_W                                             32
#define CPU_ITM_STIM11_STIM11_M                                     0xFFFFFFFF
#define CPU_ITM_STIM11_STIM11_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM12
//
//*****************************************************************************
// Field:  [31:0] STIM12
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA12 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM12_STIM12_W                                             32
#define CPU_ITM_STIM12_STIM12_M                                     0xFFFFFFFF
#define CPU_ITM_STIM12_STIM12_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM13
//
//*****************************************************************************
// Field:  [31:0] STIM13
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA13 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM13_STIM13_W                                             32
#define CPU_ITM_STIM13_STIM13_M                                     0xFFFFFFFF
#define CPU_ITM_STIM13_STIM13_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM14
//
//*****************************************************************************
// Field:  [31:0] STIM14
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA14 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM14_STIM14_W                                             32
#define CPU_ITM_STIM14_STIM14_M                                     0xFFFFFFFF
#define CPU_ITM_STIM14_STIM14_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM15
//
//*****************************************************************************
// Field:  [31:0] STIM15
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA15 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM15_STIM15_W                                             32
#define CPU_ITM_STIM15_STIM15_M                                     0xFFFFFFFF
#define CPU_ITM_STIM15_STIM15_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM16
//
//*****************************************************************************
// Field:  [31:0] STIM16
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA16 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM16_STIM16_W                                             32
#define CPU_ITM_STIM16_STIM16_M                                     0xFFFFFFFF
#define CPU_ITM_STIM16_STIM16_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM17
//
//*****************************************************************************
// Field:  [31:0] STIM17
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA17 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM17_STIM17_W                                             32
#define CPU_ITM_STIM17_STIM17_M                                     0xFFFFFFFF
#define CPU_ITM_STIM17_STIM17_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM18
//
//*****************************************************************************
// Field:  [31:0] STIM18
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA18 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM18_STIM18_W                                             32
#define CPU_ITM_STIM18_STIM18_M                                     0xFFFFFFFF
#define CPU_ITM_STIM18_STIM18_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM19
//
//*****************************************************************************
// Field:  [31:0] STIM19
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA19 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM19_STIM19_W                                             32
#define CPU_ITM_STIM19_STIM19_M                                     0xFFFFFFFF
#define CPU_ITM_STIM19_STIM19_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM20
//
//*****************************************************************************
// Field:  [31:0] STIM20
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA20 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM20_STIM20_W                                             32
#define CPU_ITM_STIM20_STIM20_M                                     0xFFFFFFFF
#define CPU_ITM_STIM20_STIM20_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM21
//
//*****************************************************************************
// Field:  [31:0] STIM21
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA21 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM21_STIM21_W                                             32
#define CPU_ITM_STIM21_STIM21_M                                     0xFFFFFFFF
#define CPU_ITM_STIM21_STIM21_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM22
//
//*****************************************************************************
// Field:  [31:0] STIM22
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA22 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM22_STIM22_W                                             32
#define CPU_ITM_STIM22_STIM22_M                                     0xFFFFFFFF
#define CPU_ITM_STIM22_STIM22_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM23
//
//*****************************************************************************
// Field:  [31:0] STIM23
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA23 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM23_STIM23_W                                             32
#define CPU_ITM_STIM23_STIM23_M                                     0xFFFFFFFF
#define CPU_ITM_STIM23_STIM23_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM24
//
//*****************************************************************************
// Field:  [31:0] STIM24
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA24 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM24_STIM24_W                                             32
#define CPU_ITM_STIM24_STIM24_M                                     0xFFFFFFFF
#define CPU_ITM_STIM24_STIM24_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM25
//
//*****************************************************************************
// Field:  [31:0] STIM25
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA25 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM25_STIM25_W                                             32
#define CPU_ITM_STIM25_STIM25_M                                     0xFFFFFFFF
#define CPU_ITM_STIM25_STIM25_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM26
//
//*****************************************************************************
// Field:  [31:0] STIM26
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA26 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM26_STIM26_W                                             32
#define CPU_ITM_STIM26_STIM26_M                                     0xFFFFFFFF
#define CPU_ITM_STIM26_STIM26_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM27
//
//*****************************************************************************
// Field:  [31:0] STIM27
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA27 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM27_STIM27_W                                             32
#define CPU_ITM_STIM27_STIM27_M                                     0xFFFFFFFF
#define CPU_ITM_STIM27_STIM27_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM28
//
//*****************************************************************************
// Field:  [31:0] STIM28
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA28 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM28_STIM28_W                                             32
#define CPU_ITM_STIM28_STIM28_M                                     0xFFFFFFFF
#define CPU_ITM_STIM28_STIM28_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM29
//
//*****************************************************************************
// Field:  [31:0] STIM29
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA29 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM29_STIM29_W                                             32
#define CPU_ITM_STIM29_STIM29_M                                     0xFFFFFFFF
#define CPU_ITM_STIM29_STIM29_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM30
//
//*****************************************************************************
// Field:  [31:0] STIM30
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA30 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM30_STIM30_W                                             32
#define CPU_ITM_STIM30_STIM30_M                                     0xFFFFFFFF
#define CPU_ITM_STIM30_STIM30_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_STIM31
//
//*****************************************************************************
// Field:  [31:0] STIM31
//
// A write to this location causes data to be written into the FIFO if
// TER.STIMENA31 is set. Reading from the stimulus port returns the FIFO status
// in bit [0]: 0 = full, 1 = not full. The polled FIFO interface does not
// provide an atomic read-modify-write, so it's users responsibility to ensure
// exclusive read-modify-write if this ITM port is used concurrently by
// interrupts or other threads.
#define CPU_ITM_STIM31_STIM31_W                                             32
#define CPU_ITM_STIM31_STIM31_M                                     0xFFFFFFFF
#define CPU_ITM_STIM31_STIM31_S                                              0

//*****************************************************************************
//
// Register: CPU_ITM_O_TER
//
//*****************************************************************************
// Field:    [31] STIMENA31
//
// Bit mask to enable tracing on ITM stimulus port 31.
#define CPU_ITM_TER_STIMENA31                                       0x80000000
#define CPU_ITM_TER_STIMENA31_BITN                                          31
#define CPU_ITM_TER_STIMENA31_M                                     0x80000000
#define CPU_ITM_TER_STIMENA31_S                                             31

// Field:    [30] STIMENA30
//
// Bit mask to enable tracing on ITM stimulus port 30.
#define CPU_ITM_TER_STIMENA30                                       0x40000000
#define CPU_ITM_TER_STIMENA30_BITN                                          30
#define CPU_ITM_TER_STIMENA30_M                                     0x40000000
#define CPU_ITM_TER_STIMENA30_S                                             30

// Field:    [29] STIMENA29
//
// Bit mask to enable tracing on ITM stimulus port 29.
#define CPU_ITM_TER_STIMENA29                                       0x20000000
#define CPU_ITM_TER_STIMENA29_BITN                                          29
#define CPU_ITM_TER_STIMENA29_M                                     0x20000000
#define CPU_ITM_TER_STIMENA29_S                                             29

// Field:    [28] STIMENA28
//
// Bit mask to enable tracing on ITM stimulus port 28.
#define CPU_ITM_TER_STIMENA28                                       0x10000000
#define CPU_ITM_TER_STIMENA28_BITN                                          28
#define CPU_ITM_TER_STIMENA28_M                                     0x10000000
#define CPU_ITM_TER_STIMENA28_S                                             28

// Field:    [27] STIMENA27
//
// Bit mask to enable tracing on ITM stimulus port 27.
#define CPU_ITM_TER_STIMENA27                                       0x08000000
#define CPU_ITM_TER_STIMENA27_BITN                                          27
#define CPU_ITM_TER_STIMENA27_M                                     0x08000000
#define CPU_ITM_TER_STIMENA27_S                                             27

// Field:    [26] STIMENA26
//
// Bit mask to enable tracing on ITM stimulus port 26.
#define CPU_ITM_TER_STIMENA26                                       0x04000000
#define CPU_ITM_TER_STIMENA26_BITN                                          26
#define CPU_ITM_TER_STIMENA26_M                                     0x04000000
#define CPU_ITM_TER_STIMENA26_S                                             26

// Field:    [25] STIMENA25
//
// Bit mask to enable tracing on ITM stimulus port 25.
#define CPU_ITM_TER_STIMENA25                                       0x02000000
#define CPU_ITM_TER_STIMENA25_BITN                                          25
#define CPU_ITM_TER_STIMENA25_M                                     0x02000000
#define CPU_ITM_TER_STIMENA25_S                                             25

// Field:    [24] STIMENA24
//
// Bit mask to enable tracing on ITM stimulus port 24.
#define CPU_ITM_TER_STIMENA24                                       0x01000000
#define CPU_ITM_TER_STIMENA24_BITN                                          24
#define CPU_ITM_TER_STIMENA24_M                                     0x01000000
#define CPU_ITM_TER_STIMENA24_S                                             24

// Field:    [23] STIMENA23
//
// Bit mask to enable tracing on ITM stimulus port 23.
#define CPU_ITM_TER_STIMENA23                                       0x00800000
#define CPU_ITM_TER_STIMENA23_BITN                                          23
#define CPU_ITM_TER_STIMENA23_M                                     0x00800000
#define CPU_ITM_TER_STIMENA23_S                                             23

// Field:    [22] STIMENA22
//
// Bit mask to enable tracing on ITM stimulus port 22.
#define CPU_ITM_TER_STIMENA22                                       0x00400000
#define CPU_ITM_TER_STIMENA22_BITN                                          22
#define CPU_ITM_TER_STIMENA22_M                                     0x00400000
#define CPU_ITM_TER_STIMENA22_S                                             22

// Field:    [21] STIMENA21
//
// Bit mask to enable tracing on ITM stimulus port 21.
#define CPU_ITM_TER_STIMENA21                                       0x00200000
#define CPU_ITM_TER_STIMENA21_BITN                                          21
#define CPU_ITM_TER_STIMENA21_M                                     0x00200000
#define CPU_ITM_TER_STIMENA21_S                                             21

// Field:    [20] STIMENA20
//
// Bit mask to enable tracing on ITM stimulus port 20.
#define CPU_ITM_TER_STIMENA20                                       0x00100000
#define CPU_ITM_TER_STIMENA20_BITN                                          20
#define CPU_ITM_TER_STIMENA20_M                                     0x00100000
#define CPU_ITM_TER_STIMENA20_S                                             20

// Field:    [19] STIMENA19
//
// Bit mask to enable tracing on ITM stimulus port 19.
#define CPU_ITM_TER_STIMENA19                                       0x00080000
#define CPU_ITM_TER_STIMENA19_BITN                                          19
#define CPU_ITM_TER_STIMENA19_M                                     0x00080000
#define CPU_ITM_TER_STIMENA19_S                                             19

// Field:    [18] STIMENA18
//
// Bit mask to enable tracing on ITM stimulus port 18.
#define CPU_ITM_TER_STIMENA18                                       0x00040000
#define CPU_ITM_TER_STIMENA18_BITN                                          18
#define CPU_ITM_TER_STIMENA18_M                                     0x00040000
#define CPU_ITM_TER_STIMENA18_S                                             18

// Field:    [17] STIMENA17
//
// Bit mask to enable tracing on ITM stimulus port 17.
#define CPU_ITM_TER_STIMENA17                                       0x00020000
#define CPU_ITM_TER_STIMENA17_BITN                                          17
#define CPU_ITM_TER_STIMENA17_M                                     0x00020000
#define CPU_ITM_TER_STIMENA17_S                                             17

// Field:    [16] STIMENA16
//
// Bit mask to enable tracing on ITM stimulus port 16.
#define CPU_ITM_TER_STIMENA16                                       0x00010000
#define CPU_ITM_TER_STIMENA16_BITN                                          16
#define CPU_ITM_TER_STIMENA16_M                                     0x00010000
#define CPU_ITM_TER_STIMENA16_S                                             16

// Field:    [15] STIMENA15
//
// Bit mask to enable tracing on ITM stimulus port 15.
#define CPU_ITM_TER_STIMENA15                                       0x00008000
#define CPU_ITM_TER_STIMENA15_BITN                                          15
#define CPU_ITM_TER_STIMENA15_M                                     0x00008000
#define CPU_ITM_TER_STIMENA15_S                                             15

// Field:    [14] STIMENA14
//
// Bit mask to enable tracing on ITM stimulus port 14.
#define CPU_ITM_TER_STIMENA14                                       0x00004000
#define CPU_ITM_TER_STIMENA14_BITN                                          14
#define CPU_ITM_TER_STIMENA14_M                                     0x00004000
#define CPU_ITM_TER_STIMENA14_S                                             14

// Field:    [13] STIMENA13
//
// Bit mask to enable tracing on ITM stimulus port 13.
#define CPU_ITM_TER_STIMENA13                                       0x00002000
#define CPU_ITM_TER_STIMENA13_BITN                                          13
#define CPU_ITM_TER_STIMENA13_M                                     0x00002000
#define CPU_ITM_TER_STIMENA13_S                                             13

// Field:    [12] STIMENA12
//
// Bit mask to enable tracing on ITM stimulus port 12.
#define CPU_ITM_TER_STIMENA12                                       0x00001000
#define CPU_ITM_TER_STIMENA12_BITN                                          12
#define CPU_ITM_TER_STIMENA12_M                                     0x00001000
#define CPU_ITM_TER_STIMENA12_S                                             12

// Field:    [11] STIMENA11
//
// Bit mask to enable tracing on ITM stimulus port 11.
#define CPU_ITM_TER_STIMENA11                                       0x00000800
#define CPU_ITM_TER_STIMENA11_BITN                                          11
#define CPU_ITM_TER_STIMENA11_M                                     0x00000800
#define CPU_ITM_TER_STIMENA11_S                                             11

// Field:    [10] STIMENA10
//
// Bit mask to enable tracing on ITM stimulus port 10.
#define CPU_ITM_TER_STIMENA10                                       0x00000400
#define CPU_ITM_TER_STIMENA10_BITN                                          10
#define CPU_ITM_TER_STIMENA10_M                                     0x00000400
#define CPU_ITM_TER_STIMENA10_S                                             10

// Field:     [9] STIMENA9
//
// Bit mask to enable tracing on ITM stimulus port 9.
#define CPU_ITM_TER_STIMENA9                                        0x00000200
#define CPU_ITM_TER_STIMENA9_BITN                                            9
#define CPU_ITM_TER_STIMENA9_M                                      0x00000200
#define CPU_ITM_TER_STIMENA9_S                                               9

// Field:     [8] STIMENA8
//
// Bit mask to enable tracing on ITM stimulus port 8.
#define CPU_ITM_TER_STIMENA8                                        0x00000100
#define CPU_ITM_TER_STIMENA8_BITN                                            8
#define CPU_ITM_TER_STIMENA8_M                                      0x00000100
#define CPU_ITM_TER_STIMENA8_S                                               8

// Field:     [7] STIMENA7
//
// Bit mask to enable tracing on ITM stimulus port 7.
#define CPU_ITM_TER_STIMENA7                                        0x00000080
#define CPU_ITM_TER_STIMENA7_BITN                                            7
#define CPU_ITM_TER_STIMENA7_M                                      0x00000080
#define CPU_ITM_TER_STIMENA7_S                                               7

// Field:     [6] STIMENA6
//
// Bit mask to enable tracing on ITM stimulus port 6.
#define CPU_ITM_TER_STIMENA6                                        0x00000040
#define CPU_ITM_TER_STIMENA6_BITN                                            6
#define CPU_ITM_TER_STIMENA6_M                                      0x00000040
#define CPU_ITM_TER_STIMENA6_S                                               6

// Field:     [5] STIMENA5
//
// Bit mask to enable tracing on ITM stimulus port 5.
#define CPU_ITM_TER_STIMENA5                                        0x00000020
#define CPU_ITM_TER_STIMENA5_BITN                                            5
#define CPU_ITM_TER_STIMENA5_M                                      0x00000020
#define CPU_ITM_TER_STIMENA5_S                                               5

// Field:     [4] STIMENA4
//
// Bit mask to enable tracing on ITM stimulus port 4.
#define CPU_ITM_TER_STIMENA4                                        0x00000010
#define CPU_ITM_TER_STIMENA4_BITN                                            4
#define CPU_ITM_TER_STIMENA4_M                                      0x00000010
#define CPU_ITM_TER_STIMENA4_S                                               4

// Field:     [3] STIMENA3
//
// Bit mask to enable tracing on ITM stimulus port 3.
#define CPU_ITM_TER_STIMENA3                                        0x00000008
#define CPU_ITM_TER_STIMENA3_BITN                                            3
#define CPU_ITM_TER_STIMENA3_M                                      0x00000008
#define CPU_ITM_TER_STIMENA3_S                                               3

// Field:     [2] STIMENA2
//
// Bit mask to enable tracing on ITM stimulus port 2.
#define CPU_ITM_TER_STIMENA2                                        0x00000004
#define CPU_ITM_TER_STIMENA2_BITN                                            2
#define CPU_ITM_TER_STIMENA2_M                                      0x00000004
#define CPU_ITM_TER_STIMENA2_S                                               2

// Field:     [1] STIMENA1
//
// Bit mask to enable tracing on ITM stimulus port 1.
#define CPU_ITM_TER_STIMENA1                                        0x00000002
#define CPU_ITM_TER_STIMENA1_BITN                                            1
#define CPU_ITM_TER_STIMENA1_M                                      0x00000002
#define CPU_ITM_TER_STIMENA1_S                                               1

// Field:     [0] STIMENA0
//
// Bit mask to enable tracing on ITM stimulus port 0.
#define CPU_ITM_TER_STIMENA0                                        0x00000001
#define CPU_ITM_TER_STIMENA0_BITN                                            0
#define CPU_ITM_TER_STIMENA0_M                                      0x00000001
#define CPU_ITM_TER_STIMENA0_S                                               0

//*****************************************************************************
//
// Register: CPU_ITM_O_TPR
//
//*****************************************************************************
// Field:   [3:0] PRIVMASK
//
// Bit mask to enable unprivileged (User) access to ITM stimulus ports:
//
// Bit [0] enables stimulus ports 0, 1, ..., and 7.
// Bit [1] enables stimulus ports 8, 9, ..., and 15.
// Bit [2] enables stimulus ports 16, 17, ..., and 23.
// Bit [3] enables stimulus ports 24, 25, ..., and 31.
//
// 0: User access allowed to stimulus ports
// 1: Privileged access only to stimulus ports
#define CPU_ITM_TPR_PRIVMASK_W                                               4
#define CPU_ITM_TPR_PRIVMASK_M                                      0x0000000F
#define CPU_ITM_TPR_PRIVMASK_S                                               0

//*****************************************************************************
//
// Register: CPU_ITM_O_TCR
//
//*****************************************************************************
// Field:    [23] BUSY
//
// Set when ITM events present and being drained.
#define CPU_ITM_TCR_BUSY                                            0x00800000
#define CPU_ITM_TCR_BUSY_BITN                                               23
#define CPU_ITM_TCR_BUSY_M                                          0x00800000
#define CPU_ITM_TCR_BUSY_S                                                  23

// Field: [22:16] ATBID
//
// Trace Bus ID for CoreSight system. Optional identifier for multi-source
// trace stream formatting. If multi-source trace is in use, this field must be
// written with a non-zero value.
#define CPU_ITM_TCR_ATBID_W                                                  7
#define CPU_ITM_TCR_ATBID_M                                         0x007F0000
#define CPU_ITM_TCR_ATBID_S                                                 16

// Field:   [9:8] TSPRESCALE
//
// Timestamp prescaler
// ENUMs:
// DIV64                    Divide by 64
// DIV16                    Divide by 16
// DIV4                     Divide by 4
// NOPRESCALING             No prescaling
#define CPU_ITM_TCR_TSPRESCALE_W                                             2
#define CPU_ITM_TCR_TSPRESCALE_M                                    0x00000300
#define CPU_ITM_TCR_TSPRESCALE_S                                             8
#define CPU_ITM_TCR_TSPRESCALE_DIV64                                0x00000300
#define CPU_ITM_TCR_TSPRESCALE_DIV16                                0x00000200
#define CPU_ITM_TCR_TSPRESCALE_DIV4                                 0x00000100
#define CPU_ITM_TCR_TSPRESCALE_NOPRESCALING                         0x00000000

// Field:     [4] SWOENA
//
// Enables asynchronous clocking of the timestamp counter (when TSENA = 1). If
// TSENA = 0, writing this bit to 1 does not enable asynchronous clocking of
// the timestamp counter.
//
// 0x0: Mode disabled. Timestamp counter uses system clock from the core and
// counts continuously.
// 0x1: Timestamp counter uses lineout (data related) clock from TPIU
// interface. The timestamp counter is held in reset while the output line is
// idle.
#define CPU_ITM_TCR_SWOENA                                          0x00000010
#define CPU_ITM_TCR_SWOENA_BITN                                              4
#define CPU_ITM_TCR_SWOENA_M                                        0x00000010
#define CPU_ITM_TCR_SWOENA_S                                                 4

// Field:     [3] DWTENA
//
// Enables the DWT stimulus (hardware event packet emission to the TPIU from
// the DWT)
#define CPU_ITM_TCR_DWTENA                                          0x00000008
#define CPU_ITM_TCR_DWTENA_BITN                                              3
#define CPU_ITM_TCR_DWTENA_M                                        0x00000008
#define CPU_ITM_TCR_DWTENA_S                                                 3

// Field:     [2] SYNCENA
//
// Enables synchronization packet transmission for a synchronous TPIU.
// CPU_DWT:CTRL.SYNCTAP must be configured for the correct synchronization
// speed.
#define CPU_ITM_TCR_SYNCENA                                         0x00000004
#define CPU_ITM_TCR_SYNCENA_BITN                                             2
#define CPU_ITM_TCR_SYNCENA_M                                       0x00000004
#define CPU_ITM_TCR_SYNCENA_S                                                2

// Field:     [1] TSENA
//
// Enables differential timestamps. Differential timestamps are emitted when a
// packet is written to the FIFO with a non-zero timestamp counter, and when
// the timestamp counter overflows. Timestamps are emitted during idle times
// after a fixed number of two million cycles. This provides a time reference
// for packets and inter-packet gaps. If SWOENA (bit [4]) is set, timestamps
// are triggered by activity on the internal trace bus only. In this case there
// is no regular timestamp output when the ITM is idle.
#define CPU_ITM_TCR_TSENA                                           0x00000002
#define CPU_ITM_TCR_TSENA_BITN                                               1
#define CPU_ITM_TCR_TSENA_M                                         0x00000002
#define CPU_ITM_TCR_TSENA_S                                                  1

// Field:     [0] ITMENA
//
// Enables ITM. This is the master enable, and must be set before ITM Stimulus
// and Trace Enable registers can be written.
#define CPU_ITM_TCR_ITMENA                                          0x00000001
#define CPU_ITM_TCR_ITMENA_BITN                                              0
#define CPU_ITM_TCR_ITMENA_M                                        0x00000001
#define CPU_ITM_TCR_ITMENA_S                                                 0

//*****************************************************************************
//
// Register: CPU_ITM_O_LAR
//
//*****************************************************************************
// Field:  [31:0] LOCK_ACCESS
//
// A privileged write of 0xC5ACCE55 enables more write access to Control
// Registers TER, TPR and TCR. An invalid write removes write access.
#define CPU_ITM_LAR_LOCK_ACCESS_W                                           32
#define CPU_ITM_LAR_LOCK_ACCESS_M                                   0xFFFFFFFF
#define CPU_ITM_LAR_LOCK_ACCESS_S                                            0

//*****************************************************************************
//
// Register: CPU_ITM_O_LSR
//
//*****************************************************************************
// Field:     [2] BYTEACC
//
// Reads 0 which means 8-bit lock access is not be implemented.
#define CPU_ITM_LSR_BYTEACC                                         0x00000004
#define CPU_ITM_LSR_BYTEACC_BITN                                             2
#define CPU_ITM_LSR_BYTEACC_M                                       0x00000004
#define CPU_ITM_LSR_BYTEACC_S                                                2

// Field:     [1] ACCESS
//
// Write access to component is blocked. All writes are ignored, reads are
// permitted.
#define CPU_ITM_LSR_ACCESS                                          0x00000002
#define CPU_ITM_LSR_ACCESS_BITN                                              1
#define CPU_ITM_LSR_ACCESS_M                                        0x00000002
#define CPU_ITM_LSR_ACCESS_S                                                 1

// Field:     [0] PRESENT
//
// Indicates that a lock mechanism exists for this component.
#define CPU_ITM_LSR_PRESENT                                         0x00000001
#define CPU_ITM_LSR_PRESENT_BITN                                             0
#define CPU_ITM_LSR_PRESENT_M                                       0x00000001
#define CPU_ITM_LSR_PRESENT_S                                                0


#endif // __CPU_ITM__
