Communication between the on-chip processors of the device uses a queued mailbox-interrupt mechanism.
The queued mailbox-interrupt mechanism allows the software to establish a communication channel between two processors through a set of registers and associated interrupt signals by sending and receiving messages (mailboxes).
The device implements the following mailbox types:
- System mailbox:
- Number of instances: 13
- Used for communication between: MPU, DSP1, DSP2, IPU1, and IPU2 subsystems
- Reference name: MAILBOX(1..13)
- IVA mailbox:
- Number of instances: 1
- Used for communication between: IVA local user (ICONT1, or ICONT2) and three external users (selected among MPU, DSP1, DSP2, IPU1, and IPU2 subsystems)
- Reference name: IVA_MBOX
- EVEx mailbox (where x = 1, 2):
- Number of instances: 3 (per EVE)
- Used for communication between:
- EVEx local user (ARP32) and three external users (selected among MPU, DSP1, DSP2, IPU1, and IPU2) - EVEx_MBOX0 and EVEx_MBOX1 are dedicated for this communication
- EVE1 and EVE2 local users - EVEx_MBOX2 is dedicated for this communication
- Reference name: EVEx_MBOX(0..2)
Each mailbox module supports the following features:
- Parameters configurable at design time (see Table 21-1):
- Number of users
- Number of mailbox message queues
- Number of messages (FIFO depth) for each message queue
- 32-bit message width
- Message reception and queue-not-full notification using interrupts
- Support of 16-/32-bit addressing scheme
- Power management support
Table 21-1 shows the configuartion of the mailbox modules in the device.
Table 21-1 Mailbox Configuration in the DeviceModule Parameters | Mailbox Type |
---|
System Mailbox | IVA Mailbox | EVEx Mailbox (0..2) |
---|
MAILBOX1 | MAILBOX2..13 |
---|
Number of users | 3 | 4 | 4 | 4 |
Number of mailbox message queues | 8 | 12 | 6 | 16 |
Number of messages (FIFO depth) for each message queue | 4 | 4 | 4 |