PDK API Guide for AM64x
MAILBOX Driver OSAL API

Introduction

This is MAILBOX driver OSAL related configuration parameters and API

Files

file  mailbox_osal.h
 Mailbox Osal definitions.
 

Data Structures

struct  Mbox_OsalPrms
 Mailbox driver OSAL function pointers. More...
 

Functions

void MboxOsalPrms_init (Mbox_OsalPrms *osalPrms)
 Mbox_OsalPrms structure init function. More...
 

Typedefs

typedef uintptr_t(* Mbox_OsalDisableAllIntrFxn) (void)
 Mailbox OSAL interrupt disable function prototype. More...
 
typedef void(* Mbox_OsalRestoreAllIntrFxn) (uintptr_t cookie)
 Mailbox OSAL interrupt restore function prototype. More...
 
typedef void(* Mbox_OsalEnableIntrFxn) (uint32_t coreIntrNum)
 Mailbox OSAL intr disable function prototype. More...
 
typedef void(* Mbox_OsalDisableIntrFxn) (uint32_t coreIntrNum)
 Mailbox OSAL intr disable function prototype. More...
 
typedef void *(* Mbox_OsalMutexCreateFxn) (void)
 Mailbox OSAL mutex create function prototype to protect critical section. More...
 
typedef void(* Mbox_OsalMutexDeleteFxn) (void *mutexHandle)
 Mailbox OSAL mutex delete function prototype. More...
 
typedef int32_t(* Mbox_OsalMutexLockFxn) (void *mutexHandle, uint32_t timeout)
 Mailbox OSAL mutex lock function prototype. More...
 
typedef void(* Mbox_OsalMutexUnlockFxn) (void *mutexHandle, bool isISRContext)
 Mailbox OSAL mutex lock function prototype. More...
 
typedef void(* Mbox_OsalIsrFxn) (uintptr_t arg)
 Mailbox OSAL ISR callback function prototype. More...
 
typedef void(* Mbox_OsalDirectIsrFxn) (void)
 Mailbox OSAL Direct ISR callback function prototype. More...
 
typedef void *(* Mbox_OsalRegisterIntrFxn) (Mbox_OsalIsrFxn isrFxn, uint32_t coreIntrNum, uint32_t intrPriority, void *arg, char *name)
 Mailbox OSAL ISR register function prototype. More...
 
typedef void *(* Mbox_OsalRegisterDirectIntrFxn) (Mbox_OsalDirectIsrFxn isrFxn, uint32_t coreIntrNum, uint32_t intrPriority)
 Mailbox OASL Direct ISR register function prototype for R5F direct VIM registration. More...
 
typedef void(* Mbox_OsalUnRegisterIntrFxn) (void *hwiHandle, uint32_t coreIntrNum)
 Mailbox OSAL ISR unregister function prototype. More...
 

Typedef Documentation

◆ Mbox_OsalDisableAllIntrFxn

typedef uintptr_t(* Mbox_OsalDisableAllIntrFxn) (void)

Mailbox OSAL interrupt disable function prototype.

Returns
Cookie to be passed back to enable interrupt function

◆ Mbox_OsalRestoreAllIntrFxn

typedef void(* Mbox_OsalRestoreAllIntrFxn) (uintptr_t cookie)

Mailbox OSAL interrupt restore function prototype.

Parameters
cookie[IN] This is returned in disable interrupt function

◆ Mbox_OsalEnableIntrFxn

typedef void(* Mbox_OsalEnableIntrFxn) (uint32_t coreIntrNum)

Mailbox OSAL intr disable function prototype.

Parameters
coreIntrNum[IN] Interrupt to disable

◆ Mbox_OsalDisableIntrFxn

typedef void(* Mbox_OsalDisableIntrFxn) (uint32_t coreIntrNum)

Mailbox OSAL intr disable function prototype.

Parameters
coreIntrNum[IN] Interrupt to disable

◆ Mbox_OsalMutexCreateFxn

typedef void*(* Mbox_OsalMutexCreateFxn) (void)

Mailbox OSAL mutex create function prototype to protect critical section.

Returns
Pointer to mutex object

◆ Mbox_OsalMutexDeleteFxn

typedef void(* Mbox_OsalMutexDeleteFxn) (void *mutexHandle)

Mailbox OSAL mutex delete function prototype.

Parameters
mutexHandle[IN] Pointer to mutex object returned during create

◆ Mbox_OsalMutexLockFxn

typedef int32_t(* Mbox_OsalMutexLockFxn) (void *mutexHandle, uint32_t timeout)

Mailbox OSAL mutex lock function prototype.

Parameters
mutexHandle[IN] Pointer to mutex object returned during create

◆ Mbox_OsalMutexUnlockFxn

typedef void(* Mbox_OsalMutexUnlockFxn) (void *mutexHandle, bool isISRContext)

Mailbox OSAL mutex lock function prototype.

Parameters
mutexHandle[IN] Pointer to mutex object returned during create

◆ Mbox_OsalIsrFxn

typedef void(* Mbox_OsalIsrFxn) (uintptr_t arg)

Mailbox OSAL ISR callback function prototype.

Parameters
arg[IN] App data

◆ Mbox_OsalDirectIsrFxn

typedef void(* Mbox_OsalDirectIsrFxn) (void)

Mailbox OSAL Direct ISR callback function prototype.

◆ Mbox_OsalRegisterIntrFxn

typedef void*(* Mbox_OsalRegisterIntrFxn) (Mbox_OsalIsrFxn isrFxn, uint32_t coreIntrNum, uint32_t intrPriority, void *arg, char *name)

Mailbox OSAL ISR register function prototype.

Parameters
isrFxn[IN] ISR callback fxn pointer
coreIntrNum[IN] Core interrupt number to register
intrPriority[IN] Priority
arg[IN] Arg that will be passed back in the ISR
name[IN] Name for the ISR
Returns
Created HWI handle

◆ Mbox_OsalRegisterDirectIntrFxn

typedef void*(* Mbox_OsalRegisterDirectIntrFxn) (Mbox_OsalDirectIsrFxn isrFxn, uint32_t coreIntrNum, uint32_t intrPriority)

Mailbox OASL Direct ISR register function prototype for R5F direct VIM registration.

Parameters
isrFxn[IN] ISR callback fxn pointer
coreIntrNum[IN] Core interrupt number to register
intrPriority[IN] Priority
Returns
Created HWI handle

◆ Mbox_OsalUnRegisterIntrFxn

typedef void(* Mbox_OsalUnRegisterIntrFxn) (void *hwiHandle, uint32_t coreIntrNum)

Mailbox OSAL ISR unregister function prototype.

Parameters
hwiHandle[IN] HWI handle

Function Documentation

◆ MboxOsalPrms_init()

void MboxOsalPrms_init ( Mbox_OsalPrms osalPrms)

Mbox_OsalPrms structure init function.

Parameters
osalPrms[IN] Pointer to Mbox_OsalPrms structure.