Mailbox
The mailbox module can be configured using the MAILBOX_SYSCONFIG[3:2] SIDLEMODE bit field to
one of the following acknowledgment modes:
•
Force-idle mode (SIDLEMODE = 0x0): The mailbox module immediately enters the idle state on
receiving a low-power-mode request from the PRCM module. In this mode, the software must ensure
that there are no asserted output interrupts before requesting this mode to go into the idle state.
•
No-idle mode (SIDLEMODE = 0x1): The mailbox module never enters the idle state.
•
Smart-idle mode (SIDLEMODE = 0x2): After receiving a low-power-mode request from the PRCM
module, the mailbox module enters the idle state only after all asserted output interrupts are
acknowledged.
17.1.3.4 Interrupt Requests
An interrupt request allows the user of the mailbox to be notified when a message is received or when the
message queue is not full. There is one interrupt per user.
lists the event flags, and their mask,
that can cause module interrupts.
Table 17-5. Interrupt Events
Non-Maskable Event
Maskable Event Flag
Event Mask Bit
Event Unmask Bit
Description
Flag
(1)
MAILBOX_IRQSTATUS
MAILBOX_IRQSTATUS
MAILBOX_IRQENABLE
_RAW_u[0+m*2].NEWM
_CLR_u[0+m*2].NEWM
_CLR_u[0+m*2].
SGSTATUSUUMBm
SGSTATUSUUMBm
MAILBOX_IRQSTATUS
MAILBOX_IRQSTATUS
MAILBOX_IRQENABLE
MAILBOX_IRQENABLE
Mailbox m receives a
_RAW_u[0+m*2].NEWM
_CLR_u[0+m*2].NEWM
_CLR_u[0+m*2].
_SET_u[0+m*2].
new message
SGSTATUSUUMBm
SGSTATUSUUMBm
NEWMSGSTATUSUUM
NEWMSGSTATUSUUM
Bm
Bm
MAILBOX_IRQSTATUS
MAILBOX_IRQSTATUS
MAILBOX_IRQENABLE
MAILBOX_IRQENABLE
Mailbox m message
_RAW_u[1+m*2].NOTF
_CLR_u[1+m*2].NOTFU
_CLR_u[1+m*2].
_SET_u[1+m*2].
queue is not full
ULLSTATUSUMBm
LLSTATUSUMBm
NOTFULLSTATUSUMB
NOTFULLSTATUSUMB
m
m
(1)
MAILBOX.MAILBOX_IRQSTATUS_RAW_u register is mostly used for debug purposes.
CAUTION
Once an event generating the interrupt request has been processed by the
software, it must be cleared by writing a logical 1 in the corresponding bit of the
MAILBOX_IRQSTATUS_CLR_u register. Writing a logical 1 in a bit of the
MAILBOX_IRQSTATUS_CLR_u register will also clear to 0 the corresponding
bit in the appropriate MAILBOX_IRQSTATUS_RAW_u register.
An event can generate an interrupt request when a logical 1 is written to the corresponding unmask bit in
the MAILBOX_IRQENABLE_SET_u register. Events are reported in the appropriate
MAILBOX_IRQSTATUS_CLR_u and MAILBOX_IRQSTATUS_RAW_u registers.
An event stops generating interrupt requests when a logical 1 is written to the corresponding mask bit in
the MAILBOX_IRQENABLE_CLR_u register. Events are only reported in the appropriate
MAILBOX_IRQSTATUS_RAW_u register.
In case of the MAILBOX_IRQSTATUS_RAW_u register, the event is reported in the corresponding bit
even if the interrupt request generation is disabled for this event.
3240
Interprocessor Communication
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated