SWCU185G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
Table 3-185 lists the memory-mapped registers for the CPU_TPIU registers. All register offset addresses not listed in Table 3-185 should be considered as reserved locations and the register contents should not be modified.
Offset | Acronym | Register Name | Section |
---|---|---|---|
0h | SSPSR | Supported Sync Port Sizes | SSPSR Register (Offset = 0h) [Reset = 0000000Bh] |
4h | CSPSR | Current Sync Port Size | CSPSR Register (Offset = 4h) [Reset = 00000001h] |
10h | ACPR | Async Clock Prescaler | ACPR Register (Offset = 10h) [Reset = 00000000h] |
F0h | SPPR | Selected Pin Protocol | SPPR Register (Offset = F0h) [Reset = 00000001h] |
300h | FFSR | Formatter and Flush Status | FFSR Register (Offset = 300h) [Reset = 00000008h] |
304h | FFCR | Formatter and Flush Control | FFCR Register (Offset = 304h) [Reset = 00000102h] |
308h | FSCR | Formatter Synchronization Counter | FSCR Register (Offset = 308h) [Reset = 00000000h] |
FA0h | CLAIMMASK | Claim Tag Mask | CLAIMMASK Register (Offset = FA0h) [Reset = 0000000Fh] |
FA0h | CLAIMSET | Claim Tag Set | CLAIMSET Register (Offset = FA0h) [Reset = 0000000Fh] |
FA4h | CLAIMTAG | Current Claim Tag | CLAIMTAG Register (Offset = FA4h) [Reset = 00000000h] |
FA4h | CLAIMCLR | Claim Tag Clear | CLAIMCLR Register (Offset = FA4h) [Reset = 00000000h] |
FC8h | DEVID | Device ID | DEVID Register (Offset = FC8h) [Reset = 00000CA0h] |
Complex bit access types are encoded to fit into small table cells. Table 3-186 shows the codes that are used for access types in this section.
Access Type | Code | Description |
---|---|---|
Read Type | ||
R | R | Read |
Write Type | ||
W | W | Write |
Reset or Default Value | ||
-n | Value after reset or the default value |
SSPSR is shown in Figure 3-149 and described in Table 3-187.
Return to the Summary Table.
Supported Sync Port Sizes
This register represents a single port size that is supported on the device, that is, 4, 2 or 1. This is to ensure that tools do not attempt to select a port width that an attached TPA cannot capture.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | FOUR | THREE | TWO | ONE | |||
R-0h | R-1h | R-0h | R-1h | R-1h | |||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
3 | FOUR | R | 1h | 4-bit port size support 0x0: Not supported 0x1: Supported |
2 | THREE | R | 0h | 3-bit port size support 0x0: Not supported 0x1: Supported |
1 | TWO | R | 1h | 2-bit port size support 0x0: Not supported 0x1: Supported |
0 | ONE | R | 1h | 1-bit port size support 0x0: Not supported 0x1: Supported |
CSPSR is shown in Figure 3-150 and described in Table 3-188.
Return to the Summary Table.
Current Sync Port Size
This register has the same format as SSPSR but only one bit can be set, and all others must be zero. Writing values with more than one bit set, or setting a bit that is not indicated as supported can cause Unpredictable behavior. On reset this defaults to the smallest possible port size, 1 bit.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | FOUR | THREE | TWO | ONE | |||
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-1h | |||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R/W | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
3 | FOUR | R/W | 0h | 4-bit port enable Writing values with more than one bit set in CSPSR, or setting a bit that is not indicated as supported in SSPSR can cause Unpredictable behavior. |
2 | THREE | R/W | 0h | 3-bit port enable Writing values with more than one bit set in CSPSR, or setting a bit that is not indicated as supported in SSPSR can cause Unpredictable behavior. |
1 | TWO | R/W | 0h | 2-bit port enable Writing values with more than one bit set in CSPSR, or setting a bit that is not indicated as supported in SSPSR can cause Unpredictable behavior. |
0 | ONE | R/W | 1h | 1-bit port enable Writing values with more than one bit set in CSPSR, or setting a bit that is not indicated as supported in SSPSR can cause Unpredictable behavior. |
ACPR is shown in Figure 3-151 and described in Table 3-189.
Return to the Summary Table.
Async Clock Prescaler
This register scales the baud rate of the asynchronous output.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PRESCALER | ||||||||||||||||||||||||||||||
R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-13 | RESERVED | R/W | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
12-0 | PRESCALER | R/W | 0h | Divisor for input trace clock is (PRESCALER + 1). |
SPPR is shown in Figure 3-152 and described in Table 3-190.
Return to the Summary Table.
Selected Pin Protocol
This register selects the protocol to be used for trace output.
Note: If this register is changed while trace data is being output, data corruption occurs.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R/W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | PROTOCOL | ||||||
R/W-0h | R/W-1h | ||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | RESERVED | R/W | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
1-0 | PROTOCOL | R/W | 1h | Trace output protocol
0h = TracePort mode 1h = SerialWire Output (Manchester). This is the reset value. 2h = SerialWire Output (NRZ) |
FFSR is shown in Figure 3-153 and described in Table 3-191.
Return to the Summary Table.
Formatter and Flush Status
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | |||||||
R-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | FTNONSTOP | RESERVED | |||||
R-0h | R-1h | R-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
3 | FTNONSTOP | R | 1h | 0: Formatter can be stopped 1: Formatter cannot be stopped |
2-0 | RESERVED | R | 0h | This field always reads as zero |
FFCR is shown in Figure 3-154 and described in Table 3-192.
Return to the Summary Table.
Formatter and Flush Control
When one of the two single wire output (SWO) modes is selected, ENFCONT enables the formatter to be bypassed. If the formatter is bypassed, only the ITM/DWT trace source (ATDATA2) passes through. The TPIU accepts and discards data that is presented on the ETM port (ATDATA1). This function is intended to be used when it is necessary to connect a device containing an ETM to a trace capture device that is only able to capture Serial Wire Output (SWO) data. Enabling or disabling the formatter causes momentary data corruption.
Note: If the selected pin protocol register (SPPR.PROTOCOL) is set to 0x00 (TracePort mode), this register always reads 0x102, because the formatter is automatically enabled. If one of the serial wire modes is then selected, the register reverts to its previously programmed value.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R/W-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | |||||||
R/W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RESERVED | TRIGIN | ||||||
R/W-0h | R/W-1h | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RESERVED | ENFCONT | RESERVED | |||||
R/W-0h | R/W-1h | R/W-0h | |||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-9 | RESERVED | R/W | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
8 | TRIGIN | R/W | 1h | Indicates that triggers are inserted when a trigger pin is asserted. |
7-2 | RESERVED | R/W | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
1 | ENFCONT | R/W | 1h | Enable continuous formatting: 0: Continuous formatting disabled 1: Continuous formatting enabled |
0 | RESERVED | R/W | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
FSCR is shown in Figure 3-155 and described in Table 3-193.
Return to the Summary Table.
Formatter Synchronization Counter
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
FSCR | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | FSCR | R | 0h | The global synchronization trigger is generated by the Program Counter (PC) Sampler block. This means that there is no synchronization counter in the TPIU. |
CLAIMMASK is shown in Figure 3-156 and described in Table 3-194.
Return to the Summary Table.
Claim Tag Mask
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CLAIMMASK | |||||||||||||||||||||||||||||||
R-Fh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CLAIMMASK | R | Fh | This register forms one half of the Claim Tag value. When reading this register returns the number of bits that can be set (each bit is considered separately): 0: This claim tag bit is not implemented 1: This claim tag bit is implemented The behavior when writing to this register is described in CLAIMSET. |
CLAIMSET is shown in Figure 3-157 and described in Table 3-195.
Return to the Summary Table.
Claim Tag Set
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CLAIMSET | |||||||||||||||||||||||||||||||
W-Fh | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CLAIMSET | W | Fh | This register forms one half of the Claim Tag value. Writing to this location allows individual bits to be set (each bit is considered separately): 0: No effect 1: Set this bit in the claim tag The behavior when reading from this location is described in CLAIMMASK. |
CLAIMTAG is shown in Figure 3-158 and described in Table 3-196.
Return to the Summary Table.
Current Claim Tag
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CLAIMTAG | |||||||||||||||||||||||||||||||
R-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CLAIMTAG | R | 0h | This register forms one half of the Claim Tag value. Reading this register returns the current Claim Tag value. Reading CLAIMMASK determines how many bits from this register must be used. The behavior when writing to this register is described in CLAIMCLR. |
CLAIMCLR is shown in Figure 3-159 and described in Table 3-197.
Return to the Summary Table.
Claim Tag Clear
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CLAIMCLR | |||||||||||||||||||||||||||||||
W-0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | CLAIMCLR | W | 0h | This register forms one half of the Claim Tag value. Writing to this location enables individual bits to be cleared (each bit is considered separately): 0: No effect 1: Clear this bit in the claim tag. The behavior when reading from this location is described in CLAIMTAG. |
DEVID is shown in Figure 3-160 and described in Table 3-198.
Return to the Summary Table.
Device ID
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DEVID | |||||||||||||||||||||||||||||||
R-CA0h | |||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | DEVID | R | CA0h | This field returns: 0xCA1 if there is an ETM present. 0xCA0 if there is no ETM present. |