78 #ifndef MAILBOX_DRIVER_H 79 #define MAILBOX_DRIVER_H 86 #include "ti/drv/mailbox/soc/mailbox_soc.h" 104 #define MAILBOX_ERRNO_BASE (-2100) 109 #define MAILBOX_SOK (0) 114 #define MAILBOX_EINVAL (MAILBOX_ERRNO_BASE-1) 120 #define MAILBOX_EINUSE (MAILBOX_ERRNO_BASE-2) 125 #define MAILBOX_ENOMEM (MAILBOX_ERRNO_BASE-3) 130 #define MAILBOX_EINVALCFG (MAILBOX_ERRNO_BASE-4) 139 #define MAILBOX_ETXFULL (MAILBOX_ERRNO_BASE-5) 145 #define MAILBOX_ETXACKTIMEDOUT (MAILBOX_ERRNO_BASE-6) 150 #define MAILBOX_EREADTIMEDOUT (MAILBOX_ERRNO_BASE-7) 155 #define MAILBOX_EINITIALIZED (MAILBOX_ERRNO_BASE-8) 160 #define MAILBOX_EOSAL (MAILBOX_ERRNO_BASE-9) 168 #define MAILBOX_EBADCHTYPE (MAILBOX_ERRNO_BASE-10) 175 #define MAILBOX_EBADCHID (MAILBOX_ERRNO_BASE-11) 180 #define MAILBOX_ECHINUSE (MAILBOX_ERRNO_BASE-12) 185 #define MAILBOX_ETIMEOUT (MAILBOX_ERRNO_BASE-13) 192 #define MAILBOX_NUM_ENDPOINT_TYPES ((uint8_t)3) 197 #define MAILBOX_DATA_BUFFER_SIZE ((uint32_t)2044U) 202 #define MAILBOX_WAIT_FOREVER (~((uint32_t) 0U)) 208 #define MAILBOX_OSAL_DEFAULT_PRIORITY (~((uint32_t) 0U)) 414 typedef void *(*Mailbox_PhyToVirtFxn)(uint64_t phyAddr);
427 typedef struct Mailbox_Config_t
498 typedef struct Mailbox_Stats_t
562 typedef struct Mailbox_initParams_t
584 typedef struct Mailbox_openParams_t
940 if(initParam !=
NULL)
954 if(openParam !=
NULL)
uint32_t numBytesRead
Number of bytes already read by past calls to the read API in current message.
Definition: mailbox.h:519
void *(* Mailbox_PhyToVirtFxn)(uint64_t phyAddr)
MAILBOX Physical to Virtual address translation callback function.
Definition: mailbox.h:414
uint32_t regRemToLocMask
Mailbox register.
Definition: mailbox.h:555
Definition: mailbox.h:348
Mailbox_ChType chType
Mailbox channel type.
Definition: mailbox.h:461
uint32_t Mailbox_Instance
Mailbox Instance Number.
Definition: mailbox_soc.h:62
int32_t Mailbox_close(Mbox_Handle handle)
Function to close a Mailbox peripheral specified by the Mailbox handle.
Mailbox Configuration Parameters.
Definition: mailbox.h:427
void * Mbox_Handle
A handle that is returned from a Mailbox_open() call.
Definition: mailbox.h:217
Mailbox_Callback readCallback
Pointer to read callback.
Definition: mailbox.h:448
Mailbox_ChID
Mailbox channel ID.
Definition: mailbox.h:335
Mailbox_DataTransferMode
Mailbox data transfer mode.
Definition: mailbox.h:280
Definition: mailbox.h:360
bool enableInterrupts
Whether to enable interrupts during interrupt registration or not. Some software may want to control ...
Definition: mailbox.h:487
Mailbox_Instance remoteEndpoint
Definition: mailbox.h:587
Definition: mailbox.h:321
#define MAILBOX_INST_INVALID
Invalid Mailbox INST.
Definition: mailbox_soc.h:84
Mailbox driver OSAL function pointers.
Definition: mailbox_osal.h:182
Mailbox_ChID chId
Channel ID for this instance of the driver. Used only when chType is set to MAILBOX_CHTYPE_MULTI.
Definition: mailbox.h:467
Definition: mailbox.h:268
uint32_t txBoxStatus
Status of TX box (full or empty)
Definition: mailbox.h:503
Definition: mailbox.h:364
uint16_t rxCount
Number of RX messages received.
Definition: mailbox.h:511
bool enableVIMDirectInterrupt
For R5F cores and select SoCs, the driver provides the ability to do direct VIM interrupt registratio...
Definition: mailbox.h:477
Definition: mailbox.h:232
Mailbox_Config cfg
Definition: mailbox.h:589
Mailbox_ChType
Mailbox channel type.
Definition: mailbox.h:310
Mailbox_Mode readMode
Mailbox read mode.
Definition: mailbox.h:432
uint32_t newMessageFlag
Flag used for read polling mode. Indicate if a new message has arrived.
Definition: mailbox.h:515
uint32_t readTimeout
Timeout for read semaphore.
Definition: mailbox.h:440
Definition: mailbox.h:237
Mailbox_PhyToVirtFxn phyToVirtFxn
Definition: mailbox.h:574
uint32_t regRemToLocRaw
Mailbox register.
Definition: mailbox.h:547
uint16_t boxFullIsrCount
Number of full box ISR received.
Definition: mailbox.h:523
#define MAILBOX_WAIT_FOREVER
Wait forever define.
Definition: mailbox.h:202
Definition: mailbox.h:316
Definition: mailbox.h:340
uint64_t Mailbox_defaultVirtToPhyFxn(const void *virtAddr)
Default virtual to physical translation function.
Mailbox Osal definitions.
Definition: mailbox.h:290
uint16_t readFlushCount
Number of times the readFlush API was called.
Definition: mailbox.h:531
int32_t Mailbox_write(Mbox_Handle handle, const uint8_t *buffer, uint32_t size)
Function that writes data to a Mailbox.
#define MAILBOX_EINVAL
Error Code: Invalid argument.
Definition: mailbox.h:114
#define MAILBOX_SOK
Error Code: Invalid argument.
Definition: mailbox.h:109
#define NULL
Define NULL if not defined.
Definition: csl_types.h:107
void MboxOsalPrms_init(Mbox_OsalPrms *osalPrms)
Mbox_OsalPrms structure init function.
Mailbox_Instance localEndpoint
Definition: mailbox.h:565
Definition: mailbox.h:368
int32_t Mailbox_disableInterrupts(Mbox_Handle handle)
Function to disable the mailbox interrupts for a mailbox instance. This functionality is not supporte...
static int32_t Mailbox_openParams_init(Mailbox_openParams *openParam)
open structure initialization function.
Definition: mailbox.h:951
Definition: mailbox.h:285
Mailbox_OpMode opMode
Driver mode of operation.
Definition: mailbox.h:452
Mailbox_OpMode
Mailbox operation mode settings.
Definition: mailbox.h:261
uint16_t txCount
Number of TX messages successfully sent (acknowledgement has been received)
Definition: mailbox.h:507
uint32_t regLclToRemRaw
Mailbox register.
Definition: mailbox.h:543
Mailbox Statistics.
Definition: mailbox.h:498
Mailbox_VirtToPhyFxn virtToPhyFxn
Definition: mailbox.h:571
Mailbox_Mode
Mailbox mode settings.
Definition: mailbox.h:225
void * Mailbox_defaultPhyToVirtFxn(uint64_t phyAddr)
Default physical to virtual translation function.
Mbox_Handle Mailbox_open(Mailbox_openParams *openParam, int32_t *errCode)
Function to initialize an instance of the mailbox driver.
uint8_t boxFullIsrErrCount
Number of full box ISR received with invalid arg.
Definition: mailbox.h:535
uint32_t Mailbox_GetMessageCount(Mbox_Handle handle)
Function that retrieves the number of messages available to be read.
uint32_t writeTimeout
Timeout for write semaphore.
Definition: mailbox.h:444
Mailbox_Mode writeMode
Mailbox write mode.
Definition: mailbox.h:436
Mbox_OsalPrms osalPrms
Definition: mailbox.h:568
Definition: mailbox.h:356
static int32_t Mailbox_initParams_init(Mailbox_initParams *initParam)
init structure initialization function.
Definition: mailbox.h:937
Mailbox initialization parameters.
Definition: mailbox.h:562
int32_t Mailbox_init(Mailbox_initParams *initParam)
Function to initialize the Mailbox module. It must be called only once per local endpoint.
Mailbox Open parameters.
Definition: mailbox.h:584
int32_t Mailbox_enableInterrupts(Mbox_Handle handle)
Function to enable the mailbox interrupts for a mailbox instance if enableInterrupts was set to false...
int32_t Mailbox_read(Mbox_Handle handle, uint8_t *buffer, uint32_t size)
Function that reads data from a Mailbox.
void(* Mailbox_Callback)(Mbox_Handle handle, Mailbox_Instance remoteEndpoint)
The definition of a callback function used by the MAILBOX driver when used in MAILBOX_MODE_CALLBACK....
Definition: mailbox.h:391
uint32_t regLclToRemMask
Mailbox register.
Definition: mailbox.h:551
Definition: mailbox.h:344
Definition: mailbox.h:246
Definition: mailbox.h:352
Definition: mailbox.h:325
Mailbox_DataTransferMode dataTransferMode
Data transfer mode.
Definition: mailbox.h:456
uint16_t size
Definition: tisci_boardcfg.h:112
int32_t Mailbox_deinit(void)
Function to deinitialize the Mailbox module. .
uint8_t boxEmptyIsrErrCount
Number of empty box ISR received with invalid arg.
Definition: mailbox.h:539
Definition: mailbox.h:372
int32_t Mailbox_readFlush(Mbox_Handle handle)
Function that should be called after application is done reading the message.
int32_t Mailbox_getStats(Mbox_Handle handle, Mailbox_Stats *stats)
Function that collects mailbox driver statistics.
Definition: mailbox.h:253
uint64_t(* Mailbox_VirtToPhyFxn)(const void *virtAddr)
Definition: mailbox.h:403
uint16_t boxEmptyIsrCount
Number of empty box ISR received.
Definition: mailbox.h:527