Functional Overview
ARM DDI 0306B
Copyright © 2003, 2004. ARM Limited. All rights reserved.
2-5
Figure 2-3 Basic operation
The IPCM operates as follows:
1.
Core0 has a message to send to Core1. Core0 claims the mailbox by setting bit 0
in the Mailbox Source Register. Core0 then sets bit 1 in the Mailbox Destination
Register, enables the interrupts and programs the message into the Mailbox Data
Registers. Finally, Core0 sends the message by writing 01 to the Mailbox Send
Register. This asserts the interrupt to Core1.
2.
When Core1 is interrupted, it reads the Masked Interrupt Status Register for
IPCMINT[1]
to determine which mailbox contains the message. Core1 reads the
message in that mailbox, then clears the interrupt and asserts the acknowledge
interrupt by writing 10 to the Mailbox Send Register.
3.
Core0 is interrupted with the acknowledge message, completing the operation.
Core0 then decides whether to retain the mailbox to send another message or
release the mailbox, freeing it up for other cores in the system to use it.
2.2.2
Channel ID
The Channel ID is defined as the one-hot encoded value that corresponds to a specific
interrupt output from the IPCM. An IPCM configured to have 32 interrupt outputs has
32 corresponding Channel IDs. The Channel ID programs the Mailbox Source, Mailbox
Destination, and Mailbox Mask Registers.
Core0
Core1
IPCM
Interrupt
controller0
Interrupt
controller1
AHB
IPCMINT[0]
IPCMINT[1]
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from