Owners manual
System
H3 Datasheet(Revision1.2) Copyright© 2015 Allwinner Technology Co.,Ltd.All Rights Reserved. Page 213
• Set a Message Queue as a transmitter (in the MSGBOX_CTRL_REG0/1).
• Check the FIFO status or the message status (in the MSGBOX_FIFO_STATUS_REG_M or MSGBOX_MSG_ STATUS_
REG_M).
• Write the message to the corresponding MSGBOX_MSG_REG_M register, if space is available.
The transmit interrupt might be used when the initial MSGBox status indicates that the Message Queue is full. In this
case, the sender can enable the corresponding MSGBOX_IRQ_EN_REG_U interrupt for the user. This allows the user to
be notified by interrupt when the message queue is not full.
4.13.3.2. Interrupt request
An interrupt request allows the user of the MSGBox to be notified when a new message is received or when the
message queue is not full.
An event can generate an interrupt request when enable the corresponding bit in the MSGBOX_IRQ_EN_REG_U (u is
the user number, where u=0 or 1) register. Events are reported in the appropriate MSGBOX_IRQ_STATUS_REG_U
register.
An event stops generating interrupt requests when disable the corresponding bit in the MSGBOX_IRQ_EN_REG_U
register.
In case of the MSGBOX_IRQ_STATUS_REG_U register, the event is reported in the corresponding bit even if the
interrupt request generation is disabled for this event.
4.13.4. Message Box Register List
Module Name
Base Address
MSGBOX
0x01C17000
Register Name
Offset
Description
MSGBOX_CTRL_REG0
0x0000
Message Queue Attribute Control Register 0
MSGBOX_CTRL_REG1
0x0004
Message Queue Attribute Control Register 1
MSGBOXU_IRQ_EN_REG
0x0040+n*0x20
IRQ Enable For User N(N=0,1)
MSGBOXU_IRQ_STATUS_REG
0x0050+n*0x20
IRQ Status For User N(N=0,1)
MSGBOXM_FIFO_STATUS_REG
0x0100+N*0x4
FIFO Status For Message Queue N(N = 0~7)
MSGBOXM_MSG_STATUS_REG
0x0140+N*0x4
Message Status For Message Queue N(N=0~7)
MSGBOXM_MSG_REG
0x0180+N*0x4
Message Register For Message Queue N(N=0~7)
confidential