SWCU193A April 2023 – August 2024 CC2340R2 , CC2340R5 , CC2340R5-Q1
Table 5-7 lists the memory-mapped registers for the DBGSS registers. All register offset addresses not listed in Table 5-7 should be considered as reserved locations and the register contents should not be modified.
Offset | Acronym | Register Name | Section |
---|---|---|---|
0h | DESC | Module Description | Go |
44h | IMASK | Interrupt mask | Go |
4Ch | RIS | Raw interrupt status | Go |
54h | MIS | Masked interrupt status | Go |
5Ch | ISET | Interrupt set | Go |
64h | ICLR | Interrupt clear | Go |
6Ch | IMSET | Set Interupt Mask in IMASK | Go |
74h | IMCLR | Clear Interupt Mask in IMASK | Go |
100h | TXD | Transmit data register | Go |
104h | TXCTL | Transmit control register | Go |
108h | RXD | Receive data register | Go |
10Ch | RXCTL | Receive control register | Go |
110h | TXDPEEK | Transmit Data Peek Register | Go |
114h | RXDPEEK | Receive Data Peek Register | Go |
200h | SPECIAL_AUTH | Special enable authorization register | Go |
204h | SPECIAL_AUTH_SET | Special enable authorization set register | Go |
208h | SPECIAL_AUTH_CLR | Special enable authorization clear register | Go |
210h | APP_AUTH | Application authorization register | Go |
214h | APP_AUTH_SET | Application authorization set register | Go |
218h | APP_AUTH_CLR | Application authorization clear register | Go |
21Ch | DBGCTL | Debug control register | Go |
Complex bit access types are encoded to fit into small table cells. Table 5-8 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 |
DESC is shown in Table 5-9.
Return to the Summary Table.
Description Register. This register provides IP module ID, revision information, instance index and standard MMR registers offset.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | MODULEID | R/W | B24Dh | Module identifier used to uniquely identify this IP.
0h = Minimum value FFFFh = Maximum possible value |
15-12 | STDIPOFF | R/W | 1h | Standard IP MMR block offset. Standard IP MMRs are the set of from aggregated IRQ registers till DTB. 0: Standard IP MMRs do not exist 0x1-0xF: Standard IP MMRs begin at offset of (64*STDIPOFF from the base IP address) 0: STDIP MMRs do not exist 0x1-0xF: These MMRs begin at offset 64*STDIPOFF from IP base address 0h = Minimum Value Fh = Maximum possible value |
11-8 | INSTIDX | R/W | 0h | IP Instance ID number. If multiple instances of IP exist in the device, this field can identify the instance number (0-15).
0h = Minimum Value Fh = Maximum possible value |
7-4 | MAJREV | R/W | 1h | Major revision of IP (0-15).
0h = Minimum Value Fh = Maximum possible value |
3-0 | MINREV | R/W | 0h | Minor revision of IP (0-15).
0h = Minimum Value Fh = Maximum possible value |
IMASK is shown in Table 5-10.
Return to the Summary Table.
Interrupt mask. This register selects interrupt sources which are allowed to pass from RIS to MIS when the corresponding bit-fields are set to 1.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Reserved |
3 | PWRDWNIFG | R/W | 0h | PWRDWNIFG interrupt mask
0h = Interrupt is masked out 1h = Interrupt will request an interrupt service routine and corresponding bit in MIS will be set |
2 | PWRUPIFG | R/W | 0h | PWRUPIFG interrupt mask
0h = Interrupt is masked out 1h = Interrupt will request an interrupt service routine and corresponding bit in MIS will be set |
1 | RXIFG | R/W | 0h | RXIFG interrupt mask
0h = Interrupt is masked out 1h = Interrupt will request an interrupt service routine and corresponding bit in MIS will be set |
0 | TXIFG | R/W | 0h | TXIFG interrupt mask
0h = Disable Interrupt Mask 1h = Enable Interrupt Mask |
RIS is shown in Table 5-11.
Return to the Summary Table.
Raw interrupt status. This register reflects the state of all pending interrupts, regardless of masking. This register allows the user to implement a poll scheme. A flag set in this register can be cleared by writing 1 to the corresponding ICLR register bit.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Reserved |
3 | PWRDWNIFG | R/W | 0h | Raw interrupt status for PWRDWNIFG
0h = PWRDWNIFG did not occur 1h = PWRDWNIFG occurred |
2 | PWRUPIFG | R/W | 0h | Raw interrupt status for PWRUPIFG
0h = PWRUPIFG did not occur 1h = PWRUPIFG occurred |
1 | RXIFG | R/W | 0h | Raw interrupt status for RXIFG
0h = RXIFG did not occur 1h = RXIFG occurred |
0 | TXIFG | R/W | 0h | Raw interrupt status for TXIFG
0h = TXIFG did not occur 1h = TXIFG occurred |
MIS is shown in Table 5-12.
Return to the Summary Table.
Masked interrupt status. This register is simply a bitwise AND of the contents of IMASK and RIS registers. A flag set in this register can be cleared by writing 1 to the corresponding ICLR register bit.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Reserved |
3 | PWRDWNIFG | R/W | 0h | Masked interrupt status for PWRDWNIFG
0h = PWRDWNIFG did not request an interrupt service routine 1h = PWRDWNIFG requests an interrupt service routine |
2 | PWRUPIFG | R/W | 0h | Masked interrupt status for PWRUPIFG
0h = PWRUPIFG did not request an interrupt service routine 1h = PWRUPIFG requests an interrupt service routine |
1 | RXIFG | R/W | 0h | Masked interrupt status for RXIFG
0h = RXIFG did not request an interrupt service routine 1h = RXIFG requests an interrupt service routine |
0 | TXIFG | R/W | 0h | Masked interrupt status for TXIFG
0h = TXIFG did not request an interrupt service routine 1h = TXIFG requests an interrupt service routine |
ISET is shown in Table 5-13.
Return to the Summary Table.
Interrupt set register. This register can be used by software for diagnostics and safety checking purposes. Writing a 1 to a bit in this register will set the event and the corresponding RIS bit also gets set. If the corresponding IMASK bit is set, then the corresponding MIS register bit also gets set.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Reserved |
3 | PWRDWNIFG | R/W | 0h | Sets PWRDWNIFG in RIS register
0h = Writing a 0 has no effect 1h = Set interrupt |
2 | PWRUPIFG | R/W | 0h | Sets PWRUPIFG in RIS register
0h = Writing a 0 has no effect 1h = Set interrupt |
1 | RXIFG | R/W | 0h | Sets RXIFG in RIS register
0h = Writing a 0 has no effect 1h = Set interrupt |
0 | TXIFG | R/W | 0h | Sets TXIFG in RIS register
0h = Writing a 0 has no effect 1h = Set interrupt |
ICLR is shown in Table 5-14.
Return to the Summary Table.
Interrupt clear register. This register allows software to clear interrupts. Writing a 1 to a bit in this register will clear the event and the corresponding RIS bit also gets cleared. If the corresponding IMASK bit is set, then the corresponding MIS register bit also gets cleared.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Reserved |
3 | PWRDWNIFG | R/W | 0h | Clears PWRDWNIFG interrupt
0h = Writing a 0 has no effect 1h = Clear interrupt |
2 | PWRUPIFG | R/W | 0h | Clears PWRUPIFG interrupt
0h = Writing a 0 has no effect 1h = Clear interrupt |
1 | RXIFG | R/W | 0h | Clears RXIFG interrupt
0h = Writing a 0 has no effect 1h = Clear interrupt |
0 | TXIFG | R/W | 0h | Clears TXIFG interrupt
0h = Writing a 0 has no effect 1h = Clear interrupt |
IMSET is shown in Table 5-15.
Return to the Summary Table.
Interrupt mask set register. Writing a 1 to a bit in this register will set the corresponding IMASK bit.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Reserved |
3 | PWRDWNIFG | R/W | 0h | Set PWRDWNIFG interrupt mask
0h = Writing a 0 has no effect 1h = Set interrupt mask |
2 | PWRUPIFG | R/W | 0h | Set PWRUPIFG interrupt mask
0h = Writing a 0 has no effect 1h = Set interrupt mask |
1 | RXIFG | R/W | 0h | Set RXIFG interrupt mask
0h = Writing a 0 has no effect 1h = Set interrupt mask |
0 | TXIFG | R/W | 0h | Set TXIFG interrupt mask
0h = Writing a 0 has no effect 1h = Set interrupt mask |
IMCLR is shown in Table 5-16.
Return to the Summary Table.
Interrupt mask clear register. Writing a 1 to a bit in this register will clear the corresponding IMASK bit.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-4 | RESERVED | R | 0h | Reserved |
3 | PWRDWNIFG | R/W | 0h | Clears PWRDWNIFG interrupt mask
0h = Writing a 0 has no effect 1h = IMASK bit corresponding to PWRDWNIFG is cleared |
2 | PWRUPIFG | R/W | 0h | Clears PWRUPIFG interrupt mask
0h = Writing a 0 has no effect 1h = IMASK bit corresponding to PWRUPIFG is cleared |
1 | RXIFG | R/W | 0h | Clears RXIFG interrupt mask
0h = Writing a 0 has no effect 1h = IMASK bit corresponding to RXIFG is cleared |
0 | TXIFG | R/W | 0h | Clears TXIFG interrupt mask
0h = Writing a 0 has no effect 1h = IMASK bit corresponding to TXIFG is cleared |
TXD is shown in Table 5-17.
Return to the Summary Table.
Transmit data register. This register is used for sending SACI (SECAP command interface) data from the host to the device.
The host (SWD interface) can write this register. This updates the value of TXD, and sets TXCTL.TXDSTA = FULL
The host should only write TXD while TXCTL.TXDSTA = EMPTY.
If the host incorrectly writes TXD while TXCTL.TXDSTA = FULL, this will just update the value of TXD.
The host (SWD interface) can read the TXD register. This does not affect TXCTL.TXDSTA.
The device (boot code) can only read the TXD register. This sets TXCTL.TXDSTA = EMPTY.
The device should only read TXD while TXCTL.TXDSTA = FULL.
If the device incorrectly reads TXD while TXCTL.TXDSTA = EMPTY, this will just return the value of TXD.
If the host writes TXD on the same clock cycle as the device reads TXD:
The device reads the old TXD value.
TXD is updated with the new value, and TXCTL.TXDSTA is set to FULL.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | VAL | R | 0h | SACI command/parameter word. Valid value when TXCTL.TXDSTA=1. TXCTL.TXDSTA gets automatically cleared upon read. |
TXCTL is shown in Table 5-18.
Return to the Summary Table.
Transmit control register. This register contains status of the TXD register (full/empty), and also software defined flags that are used by the SACI protocol.
The host (SWD interface) can write the FLAGS field of the TXCTL register.
The host (SWD interface) can read the TXCTL register.
The device (boot code) can only read the TXCTL register.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-8 | RESERVED | R | 0h | Reserved |
7-1 | FLAGS | R | 0h | Software defined flags that are used by the SACI protocol (host to device). |
0 | TXDSTA | R | 0h | Indicates whether the host has written a word to the TXD register, which can be read by the device: TXDSTA is automatically set upon write to TXD register in SECAP and automatically gets cleared upon read from TXD 0h = The TXD register does not contain a new SACI parameter word from the host, and should not be read by the device. 1h = The TXD register contains a new SACI parameter word from the host, which can be read by the device. |
RXD is shown in Table 5-19.
Return to the Summary Table.
Receive data register. This register is used to send SACI command response data from the device to the host.
The device (boot code) can write the RXD register. This updates the value of RXD, and sets RXCTL.RXDSTA = FULL.
The device should only write RXD while RXCTL.RXDSTA = EMPTY.
If the device incorrectly writes RXD while RXCTL.RXDSTA = FULL, this will just update the value of RXD.
The device (boot code) can read the RXD register in order to flush it. This sets RXCTL.RXDSTA = EMPTY.
The host (SWD interface) can only read the RXD register. This sets RXCTL.RXDSTA = EMPTY.
The host should only read RXD while RXCTL.RXDSTA = FULL.
If the host incorrectly reads RXD while RXCTL.RXDSTA = EMPTY, this will just return the value of RXD.
If the device writes RXD on the same clock cycle as the host reads RXD:
The host reads the old RXD value.
RXD is updated with the new value, and RXCTL.RXDSTA is set to FULL.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | VAL | R/W | 0h | SACI command response word. RXCTL.RXDSTA automatically set upon write. RXCTL.RXDSTA automatically cleared upon read (flush operation). |
RXCTL is shown in Table 5-20.
Return to the Summary Table.
Receive control register. This register contains status of the RXD register (full/empty), and also software defined flags that are used by the SACI protocol.
The device (boot code) can write the FLAGS field of the RXCTL register.
The device (boot code) can read the RXCTL register.
The host (SWD interface) can only read the RXCTL register
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-8 | RESERVED | R | 0h | Reserved |
7-1 | FLAGS | R/W | 0h | Software defined flags that are used by the SACI protocol (device to host). |
0 | RXDSTA | R | 0h | Indicates whether the device has written a word to the RXD register, which can be read by the host: RXDSTA is automatically set upon write to RXD and automatically cleared upon read from RXD register of SECAP or RXD. 0h = The RXD register does not contain a new SACI response word from the device, and should not be read by the host. 1h = The RXD register contains a new SACI response word from the device, which can be read by the host. |
TXDPEEK is shown in Table 5-21.
Return to the Summary Table.
Transmit data peek register . This register is a read-only version of the TXD register that can be read by host and device without any side-effects.
This register is used to peek at the values in TXD without affecting the FULL/EMPTY flag.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | VAL | R | 0h | Transmit Data Peek Register. SACI command parameter word. TXCTL.TXDSTA not affected by read of TXDPEEK |
RXDPEEK is shown in Table 5-22.
Return to the Summary Table.
Receive data peek register. The RXDPEEK register is a read-only version of the RXD register that can be read by host and device without any side-effects
This register is used to peek at the values in Receive Data Register without affecting the FULL/EMPTY flag.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-0 | VAL | R | 0h | Receive Data Peek Register. SACI command response word. RXCTL.RXDSTA not affected by read of RXDPEEK |
SPECIAL_AUTH is shown in Table 5-23.
Return to the Summary Table.
This register indicates the status of different AP firewalls.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-7 | RESERVED | R | 0h | Reserved |
6 | DBGDIS | R | 0h | Indicates status of DBGDIS.
0h = Enables debugging capability. 1h = Disables debugging capability |
5 | AHBAPEN | R | 0h | Indicates status of AHBAPEN
0h = Disable AHB-AP 1h = Enable AHB-AP |
4 | CFGAPEN | R | 1h | Indicates status of CFGAPEN
0h = Disable CFG-AP 1h = Enable CFG-AP |
3 | RESERVED | R | 0h | Reserved |
2 | DFTAPEN | R | 0h | Indicates status of DFTAPEN
0h = Disable DFT-TAP 1h = Enable DFT-TAP |
1 | RESERVED | R | 1h | Reserved |
0 | SECAPEN | R | 1h | Indicates status of SECAP
0h = Disable SEC-AP 1h = Enable SEC-AP |
SPECIAL_AUTH_SET is shown in Table 5-24.
Return to the Summary Table.
This register is used for setting bits in SPECIAL_AUTH register.
This register is configured and locked during device boot.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | KEY | W | 0h | This field must be configured with 0xA5 in order to access this register.
A5h = This field must be written with 0xA5 to be able to set any of the enable bits |
23-7 | RESERVED | R | 0h | Reserved |
6 | DBGDIS | W | 0h | This bit sets DBGDIS in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = SET DBGDIS |
5 | AHBAPEN | W | 0h | This bit sets AHBAPEN in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = SET AHB-AP |
4 | CFGAPEN | W | 1h | This bit sets CFGAPEN in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = Set CFGAPEN |
3 | RESERVED | W | 0h | Reserved |
2 | DFTAPEN | W | 0h | This bit sets DFTAPEN in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = Set DFTAPEN |
1 | RESERVED | W | 1h | Reserved |
0 | SECAPEN | W | 1h | This bit sets SECAPEN bit in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = Set SECAPEN |
SPECIAL_AUTH_CLR is shown in Table 5-25.
Return to the Summary Table.
This register is used for clearing bits in SPECIAL_AUTH register.
This register is configured and locked during device boot.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | KEY | W | 0h | This field must be configured with 0x22 in order to access this register.
22h = This field must be written with 0x22 to be able to clear any of the enable bits |
23-7 | RESERVED | R | 0h | Reserved |
6 | DBGDIS | W | 0h | This bit clears DBGDIS in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = Clear DBGDIS |
5 | AHBAPEN | W | 0h | This bit clears AHBAPEN in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = Clear AHBAPEN |
4 | CFGAPEN | W | 0h | This bit clears CFGAPEN in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = Clear CFGAPEN |
3 | RESERVED | W | 0h | Reserved |
2 | DFTAPEN | W | 0h | This bit clears DFTAPEN in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = Clear DFTAPEN |
1 | RESERVED | W | 0h | Reserved |
0 | SECAPEN | W | 0h | This bit clears SECAPEN in SPECIAL_AUTH register.
0h = Writing 0 has no effect 1h = Clear SECAPEN |
APP_AUTH is shown in Table 5-26.
Return to the Summary Table.
This register indicates the debug privileges of ARM Cortex CPU.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-2 | RESERVED | R | 0h | Reserved |
1 | NIDEN | R | 0h | Controls non-invasive debug enable.
0h = Non-invasive debug disabled 1h = Non-invasive debug enabled |
0 | DBGEN | R | 0h | Controls invasive debug enable.
0h = Invasive debug disabled 1h = Invasive debug enabled |
APP_AUTH_SET is shown in Table 5-27.
Return to the Summary Table.
This register is used for setting bits in APP_AUTH register.
This register is configured and locked during device boot.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | KEY | W | 0h | This field must be configured with 0x39 in order to access this register.
39h = Write this value 0x39 to unlock writing to the APP_AUTH_SET register |
23-2 | RESERVED | R/W | 0h | Reserved |
1 | NIDEN | W | 0h | Sets NIDEN bit in [APP_AUTH ]register.
0h = Writing 0 has no effect 1h = Sets NIDEN |
0 | DBGEN | W | 0h | Sets DBGEN bit in APP_AUTH register.
0h = Writing 0 has no effect 1h = Sets DBGEN |
APP_AUTH_CLR is shown in Table 5-28.
Return to the Summary Table.
This register is used for clearing bits in APP_AUTH register.
This register is configured and locked during device boot.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-24 | KEY | W | 0h | This field must be configured with 0x7D in order to access this register.
7Dh = Write this value 0x7D to unlock writing to the APP_AUTH_CLR register |
23-2 | RESERVED | R/W | 0h | Reserved |
1 | NIDEN | W | 0h | Clears NIDEN bit in APP_AUTH register.
0h = Writing 0 has no effect 1h = Clears NIDEN |
0 | DBGEN | W | 0h | Clears DBGEN bit in APP_AUTH register.
0h = Writing 0 has no effect 1h = Clears DBGEN |
DBGCTL is shown in Table 5-29.
Return to the Summary Table.
Debug control register. This register is used for controlling debug connection and read out debug status.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-6 | RESERVED | R | 0h | Reserved |
5 | SWDCEN | R/W | 1h | This bit is used to enable connection between SWD pads and IceMelter (wakeup circuit used for detecting debug probe)
0h = Connection disabled 1h = Connection enabled |
4 | DBGPWRUPACK | R | 0h | This bit field specifies the status of dbgpwrupack from pmctl.
0h = dbgpwrupreq is not acknowledged 1h = dbgpwrupreq is acknowledged. |
3 | SYSPWRUPACK | R | 0h | This bit field specify the status of syspwrupack from pmctl.
0h = syspwrupreq is not acknowledged 1h = syspwrupreq is acknowledged |
2 | JTAGSEL | R | 0h | This bit field specifies the status of JTAG MODE for TEST TAP.
0h = TEST TAP disabled 1h = TEST TAP enabled |
1 | SWDSEL | R | 0h | This bit field specifies the status of SWD MODE for connection.
0h = debug connection disabled. 1h = debug connection enabled. |
0 | SWDOVR | R/W | 0h | This bit is used for connecting to IO pads to SWCLK/IO on SW-DP through a software request and establish SWD connection without IceMelter trigger for debug purpose.
0h = Transparent mode in which SWD connection is established via IceMelter Sequence. 1h = Force 1 or debug enable mode in which SWD connection is established bypassing IceMelter sequence |