Mailbox interface

nRF54L15 | nRF54L10 | nRF54L05 Datasheet

CTRL-AP implements a mailbox interface which enables the CPU to communicate with a debugger over the SWD interface.

The mailbox interface consists of a transmit register MAILBOX.TXDATA with its corresponding status register MAILBOX.TXSTATUS, and a receive register MAILBOX.RXDATA with its corresponding status register MAILBOX.RXSTATUS. Status bits in registers TXSTATUS/RXSTATUS will be set and cleared automatically when registers TXDATA/RXDATA are written to and read from, independently of the direction.
Figure 3. Mailbox register interface
Page-1 Rectangle.124 DAP-SIDE DAP-SIDE Rectangle.125 CPU-SIDE CPU-SIDE Rectangle.596 CTRL-AP MAILBOX REGISTERS CTRL-AP MAILBOX REGISTERS Rectangle.617 DAP DAP Sheet.77 Sheet.80 Sheet.82 Sheet.85 Sheet.87 Sheet.90 Rectangle.91 CPU CPU Sheet.93 Sheet.94 Sheet.115 TXDATA TXDATA Sheet.118 TXDATA TXDATA Sheet.120 RXDATA RXDATA Sheet.121 RXDATA RXDATA Rectangle.122 TXSTATUS TXSTATUS Rectangle.123 RXSTATUS RXSTATUS Rectangle.126 RXSTATUS RXSTATUS Rectangle.127 TXSTATUS TXSTATUS

Mailbox transfer sequence

  1. Sender writes TXDATA
  2. CTRL-AP sets sender's TXSTATUS to DataPending
  3. CTRL-AP sets receiver's RXSTATUS to DataPending
  4. Receiver reads RXDATA
  5. CTRL-AP sets receiver's RXSTATUS to NoDataPending
  6. CTRL-AP sets sender's TXSTATUS to NoDataPending

Events

EVENTS_RXREADY is generated when MAILBOX.RXSTATUS changes to DataPending. This indicates that a debugger has written new data to MAILBOX.RXDATA.

EVENTS_TXDONE is generated when the MAILBOX.TXSTATUSchanges to to NoDataPending. This indicates that a debugger has read the data from MAILBOX.TXDATA.