PDK API Guide for J721E
mailbox.h File Reference

Introduction

This file contains the function prototypes for Mailbox access.

Go to the source code of this file.

Macros

#define MAILBOX_QUEUE_0   0U
 MAILBOX_QUEUE_0 - Mailbox message queue 0. More...
 
#define MAILBOX_QUEUE_1   1U
 MAILBOX_QUEUE_1 - Mailbox message queue 1. More...
 
#define MAILBOX_QUEUE_2   2U
 MAILBOX_QUEUE_2 - Mailbox message queue 2. More...
 
#define MAILBOX_QUEUE_3   3U
 MAILBOX_QUEUE_3 - Mailbox message queue 3. More...
 
#define MAILBOX_QUEUE_4   4U
 MAILBOX_QUEUE_4 - Mailbox message queue 4. More...
 
#define MAILBOX_QUEUE_5   5U
 MAILBOX_QUEUE_5 - Mailbox message queue 5. More...
 
#define MAILBOX_QUEUE_6   6U
 MAILBOX_QUEUE_6 - Mailbox message queue 6. More...
 
#define MAILBOX_QUEUE_7   7U
 MAILBOX_QUEUE_7 - Mailbox message queue 7. More...
 
#define MAILBOX_QUEUE_8   8U
 MAILBOX_QUEUE_8 - Mailbox message queue 8. More...
 
#define MAILBOX_QUEUE_9   9U
 MAILBOX_QUEUE_9 - Mailbox message queue 9. More...
 
#define MAILBOX_QUEUE_10   10U
 MAILBOX_QUEUE_10 - Mailbox message queue 10. More...
 
#define MAILBOX_QUEUE_11   11U
 MAILBOX_QUEUE_11 - Mailbox message queue 11. More...
 
#define MAILBOX_QUEUE_12   12U
 MAILBOX_QUEUE_12 - Mailbox message queue 12. More...
 
#define MAILBOX_QUEUE_13   13U
 MAILBOX_QUEUE_13 - Mailbox message queue 13. More...
 
#define MAILBOX_QUEUE_14   14U
 MAILBOX_QUEUE_14 - Mailbox message queue 14. More...
 
#define MAILBOX_QUEUE_15   15U
 MAILBOX_QUEUE_15 - Mailbox message queue 15. More...
 
#define MESSAGE_VALID   0U
 MESSAGE_VALID - Valid message. More...
 
#define MESSAGE_INVALID   1U
 MESSAGE_INVALID - Invalid message. More...
 

Functions

void MailboxReset (uintptr_t baseAddr)
 This function resets the mailbox. More...
 
void MailboxConfigIdleMode (uintptr_t baseAddr, uint32_t idleMode)
 This function configures the idle mode of the mailbox. More...
 
uint32_t MailboxGetMessage (uintptr_t baseAddr, uint32_t queueId, uint32_t *msgPtr)
 This function gets the first message in the queue. More...
 
uint32_t MailboxSendMessage (uintptr_t baseAddr, uint32_t queueId, uint32_t msg)
 This function writes message in the queue. More...
 
void MailboxEnableNewMsgInt (uintptr_t baseAddr, uint32_t userId, uint32_t queueId)
 This function enables the new message interrupt for a user for given queue. More...
 
void MailboxEnableQueueNotFullInt (uintptr_t baseAddr, uint32_t userId, uint32_t queueId)
 This function enables the queue not full interrupt for a user for given queue. More...
 
void MailboxDisableNewMsgInt (uintptr_t baseAddr, uint32_t userId, uint32_t queueId)
 This function disables the new message interrupt for a user for given queue. More...
 
void MailboxDisableQueueNotFullInt (uintptr_t baseAddr, uint32_t userId, uint32_t queueId)
 This function disables the queue not full interrupt for a user for given queue. More...
 
void MailboxClrNewMsgStatus (uintptr_t baseAddr, uint32_t userId, uint32_t queueId)
 This function clears the queue not-full status. More...
 
void MailboxClrQueueNotFullStatus (uintptr_t baseAddr, uint32_t userId, uint32_t queueId)
 This function clears the queue not-full status. More...
 
uint32_t MailboxGetRawNewMsgStatus (uintptr_t baseAddr, uint32_t userId, uint32_t queueId)
 This function gets the raw new message status. More...
 
uint32_t MailboxGetRawQueueNotFullStatus (uintptr_t baseAddr, uint32_t userId, uint32_t queueId)
 This function gets the raw queue not-full status. More...
 
uint32_t MailboxGetIrqEnableStatus (uintptr_t baseAddr, uint32_t userId, uint32_t queueId)
 This function gets IRQ enable status. More...
 
uint32_t MailboxGetMessageCount (uintptr_t baseAddr, uint32_t queueId)
 This function gets message count in the mailbox. More...
 
void MailboxWriteMessage (uintptr_t baseAddr, uint32_t queueId, uint32_t msg)
 This function writes mailbox register. More...
 
void MailboxWriteEOI (uintptr_t baseAddr, uint32_t value)
 This function writes EOI register. More...
 
void MailboxReadMessage (uintptr_t baseAddr, uint32_t queueId, uint32_t *msgPtr)
 This function reads mailbox register. More...
 

Macro Definition Documentation

◆ MESSAGE_VALID

#define MESSAGE_VALID   0U

MESSAGE_VALID - Valid message.

◆ MESSAGE_INVALID

#define MESSAGE_INVALID   1U

MESSAGE_INVALID - Invalid message.

Function Documentation

◆ MailboxReset()

void MailboxReset ( uintptr_t  baseAddr)

This function resets the mailbox.

Parameters
baseAddrIt is the Memory address of the Mailbox instance. MAILBOXn (n = 1 to 10) Ex MAILBOX1, MAILBOX2, etc EVEn_MLBm (n = 1 to 3, m = 1 to 4)
Returns
None

◆ MailboxConfigIdleMode()

void MailboxConfigIdleMode ( uintptr_t  baseAddr,
uint32_t  idleMode 
)

This function configures the idle mode of the mailbox.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
idleModeIdle mode to be configured. Possible values are 0x0: Force-idle. An idle request is acknowledged unconditionally 0x1: No-idle. An idle request is never acknowledged 0x2: Smart-idle. Acknowledgement to an idle request is given based on the internal activity of the module
Returns
None

◆ MailboxGetMessage()

uint32_t MailboxGetMessage ( uintptr_t  baseAddr,
uint32_t  queueId,
uint32_t *  msgPtr 
)

This function gets the first message in the queue.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
queueIdQueue to be read
*msgPtrMessage pointer in which the message will be returned
Returns
Validity The return value indicates whether the message is valid

◆ MailboxSendMessage()

uint32_t MailboxSendMessage ( uintptr_t  baseAddr,
uint32_t  queueId,
uint32_t  msg 
)

This function writes message in the queue.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
queueIdQueue to be written
msgMessage to be sent
Returns
status The return value indicates whether the message is written to the queue. Possible values are, 0 - Written successfully 0 - Queue full

◆ MailboxEnableNewMsgInt()

void MailboxEnableNewMsgInt ( uintptr_t  baseAddr,
uint32_t  userId,
uint32_t  queueId 
)

This function enables the new message interrupt for a user for given queue.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
userIdUser for whom the new message should be intimated
queueIdQueue to be monitored for new message
Returns
None

◆ MailboxEnableQueueNotFullInt()

void MailboxEnableQueueNotFullInt ( uintptr_t  baseAddr,
uint32_t  userId,
uint32_t  queueId 
)

This function enables the queue not full interrupt for a user for given queue.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
userIdUser for whom the event should be intimated
queueIdQueue to be monitored for non-full condition
Returns
None

◆ MailboxDisableNewMsgInt()

void MailboxDisableNewMsgInt ( uintptr_t  baseAddr,
uint32_t  userId,
uint32_t  queueId 
)

This function disables the new message interrupt for a user for given queue.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
userIdUser for whom the new message event should be disabled
queueIdQueue to be monitored for new message
Returns
None

◆ MailboxDisableQueueNotFullInt()

void MailboxDisableQueueNotFullInt ( uintptr_t  baseAddr,
uint32_t  userId,
uint32_t  queueId 
)

This function disables the queue not full interrupt for a user for given queue.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
userIdUser for whom the event should be disabled
queueIdQueue for which the non-full event to be disabled
Returns
None

◆ MailboxClrNewMsgStatus()

void MailboxClrNewMsgStatus ( uintptr_t  baseAddr,
uint32_t  userId,
uint32_t  queueId 
)

This function clears the queue not-full status.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
userIdUser for whom the event should be cleared
queueIdQueue for which the event should be cleared
Returns
None

◆ MailboxClrQueueNotFullStatus()

void MailboxClrQueueNotFullStatus ( uintptr_t  baseAddr,
uint32_t  userId,
uint32_t  queueId 
)

This function clears the queue not-full status.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
userIdUser for whom the event should be cleared
queueIdQueue for which the event should be cleared
Returns
None

◆ MailboxGetRawNewMsgStatus()

uint32_t MailboxGetRawNewMsgStatus ( uintptr_t  baseAddr,
uint32_t  userId,
uint32_t  queueId 
)

This function gets the raw new message status.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
userIdUser for whom the event should be checked
queueIdQueue for which the event should be checked
Returns
status status of new message

◆ MailboxGetRawQueueNotFullStatus()

uint32_t MailboxGetRawQueueNotFullStatus ( uintptr_t  baseAddr,
uint32_t  userId,
uint32_t  queueId 
)

This function gets the raw queue not-full status.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
userIdUser for whom the event should be checked
queueIdQueue for which the event should be checked
Returns
status Queue not full status

◆ MailboxGetIrqEnableStatus()

uint32_t MailboxGetIrqEnableStatus ( uintptr_t  baseAddr,
uint32_t  userId,
uint32_t  queueId 
)

This function gets IRQ enable status.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
userIdUser for whom the event should be checked
queueIdQueue for which the event should be checked
Returns
status Queue not full status

◆ MailboxGetMessageCount()

uint32_t MailboxGetMessageCount ( uintptr_t  baseAddr,
uint32_t  queueId 
)

This function gets message count in the mailbox.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
queueIdMailbox FIFO id
Returns
status Queue not full status

◆ MailboxWriteMessage()

void MailboxWriteMessage ( uintptr_t  baseAddr,
uint32_t  queueId,
uint32_t  msg 
)

This function writes mailbox register.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
queueIdMailbox FIFO id
msgvalue to be written to mailbox
Returns
None

◆ MailboxWriteEOI()

void MailboxWriteEOI ( uintptr_t  baseAddr,
uint32_t  value 
)

This function writes EOI register.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
valueUser for whom the event should be checked
Returns
None

◆ MailboxReadMessage()

void MailboxReadMessage ( uintptr_t  baseAddr,
uint32_t  queueId,
uint32_t *  msgPtr 
)

This function reads mailbox register.

Parameters
baseAddrIt is the Memory address of the Mailbox instance.
queueIdMailbox FIFO id
msgPtrMessage pointer in which the message will be returned
Returns
None