This file contains the OSAL API of the Enet driver.
Go to the source code of this file.
Data Structures | |
struct | EnetOsal_Cfg |
Enet OSAL configuration paramters. More... | |
Typedefs | |
typedef uintptr_t(* | EnetOsal_DisableAllIntr) (void) |
Enet OSAL intr disable function prototype. More... | |
typedef void(* | EnetOsal_RestoreAllIntr) (uintptr_t cookie) |
Enet OSAL intr restore function prototype. More... | |
typedef void(* | EnetOsal_RestoreIntr) (uint32_t coreIntrNum) |
Enet OSAL intr restore function prototype. More... | |
typedef void(* | EnetOsal_DisableIntr) (uint32_t coreIntrNum) |
Enet OSAL intr disable function prototype. More... | |
typedef void(* | EnetOsal_Isr) (uintptr_t arg) |
Enet OSAL ISR callback function prototype. More... | |
typedef void *(* | EnetOsal_RegisterIntr) (EnetOsal_Isr isrFxn, uint32_t coreIntrNum, uint32_t intrPriority, uint32_t triggerType, void *arg) |
Enet OSAL ISR register function prototype. More... | |
typedef void(* | EnetOsal_UnregisterIntr) (void *hHwi) |
Enet OSAL ISR unregister function prototype. More... | |
typedef void *(* | EnetOsal_CreateMutex) (void) |
Enet OSAL mutex create function prototype to protect critical section. More... | |
typedef void(* | EnetOsal_DeleteMutex) (void *hMutex) |
Enet OSAL mutex delete function prototype. More... | |
typedef void(* | EnetOsal_LockMutex) (void *hMutex) |
Enet OSAL mutex lock function prototype. More... | |
typedef void(* | EnetOsal_UnlockMutex) (void *hMutex) |
Enet OSAL mutex lock function prototype. More... | |
typedef bool(* | EnetOsal_IsCacheCoherent) (void) |
Enet OSAL cache coherency check function prototype. More... | |
typedef void(* | EnetOsal_CacheInv) (const void *addr, int32_t size) |
Enet OSAL cache invalidate function prototype. More... | |
typedef void(* | EnetOsal_CacheWb) (const void *addr, int32_t size) |
Enet OSAL cache writeback function prototype. More... | |
typedef void(* | EnetOsal_CacheWbInv) (const void *addr, int32_t size) |
Enet OSAL cache writeback invalidate function prototype. More... | |
typedef uint32_t(* | EnetOsal_TimerRead) (void) |
Enet OSAL timer read function prototype. More... | |
Enumerations | |
enum | EnetOSAL_armGicTrigType_t { ENETOSAL_ARM_GIC_TRIG_TYPE_LEVEL = 1, ENETOSAL_ARM_GIC_TRIG_TYPE_EDGE = 2, ENETOSAL_ARM_GIC_TRIG_TYPE_HIGH_LEVEL = 3, ENETOSAL_ARM_GIC_TRIG_TYPE_LOW_LEVEL = 4, ENETOSAL_ARM_GIC_TRIG_TYPE_RISING_EDGE = 5, ENETOSAL_ARM_GIC_TRIG_TYPE_FALLING_EDGE = 6 } |
Enumerates the types different trigger types. Please refer to Section 4.3.13 Interrupt Configuration Registers, GICD_ICFGRn of ARM Generic Interrupt Controller Architecture version 2.0 Architecture Specification document for details. More... | |
Functions | |
void | EnetOsal_init (const EnetOsal_Cfg *cfg) |
Initialize OSAL with provided configuration. More... | |
void | EnetOsal_deinit (void) |
Deinitialize OSAL. More... | |
uintptr_t | EnetOsal_disableAllIntr (void) |
Enet OSAL intr disable function prototype. More... | |
void | EnetOsal_restoreAllIntr (uintptr_t cookie) |
Enet OSAL intr restore function prototype. More... | |
void * | EnetOsal_registerIntr (EnetOsal_Isr isrFxn, uint32_t coreIntrNum, uint32_t intrPriority, uint32_t intrTrigType, void *arg) |
Register an ISR for an interrupt. More... | |
void | EnetOsal_unregisterIntr (void *hHwi) |
Unregister an interrupt. More... | |
void | EnetOsal_enableIntr (uint32_t coreIntrNum) |
Enable interrupt. More... | |
void | EnetOsal_disableIntr (uint32_t coreIntrNum) |
Disable interrupt. More... | |
void * | EnetOsal_createMutex (void) |
Create a mutex. More... | |
void | EnetOsal_deleteMutex (void *hMutex) |
Delete a mutex. More... | |
void | EnetOsal_lockMutex (void *hMutex) |
Lock a mutex. More... | |
void | EnetOsal_unlockMutex (void *hMutex) |
Unlock a mutex. More... | |
void | EnetOsal_cacheInv (const void *addr, int32_t size) |
Invalidate cache. More... | |
void | EnetOsal_cacheWb (const void *addr, int32_t size) |
Write-back cache. More... | |
void | EnetOsal_cacheWbInv (const void *addr, int32_t size) |
Write-back and invalidate cache. More... | |
uint32_t | EnetOsal_timerGetDiff (uint32_t startTime) |
Get the time difference with respect to timestamp. More... | |
uint32_t | EnetOsal_timerRead (void) |
Read current timer value. More... | |
typedef uintptr_t(* EnetOsal_DisableAllIntr) (void) |
Enet OSAL intr disable function prototype.
typedef void(* EnetOsal_RestoreAllIntr) (uintptr_t cookie) |
Enet OSAL intr restore function prototype.
cookie | This is returned in disable interrupt function |
typedef void(* EnetOsal_RestoreIntr) (uint32_t coreIntrNum) |
Enet OSAL intr restore function prototype.
coreIntrNum | Interrupt to restore |
typedef void(* EnetOsal_DisableIntr) (uint32_t coreIntrNum) |
Enet OSAL intr disable function prototype.
coreIntrNum | Interrupt to disable |
typedef void(* EnetOsal_Isr) (uintptr_t arg) |
Enet OSAL ISR callback function prototype.
arg | App data |
typedef void*(* EnetOsal_RegisterIntr) (EnetOsal_Isr isrFxn, uint32_t coreIntrNum, uint32_t intrPriority, uint32_t triggerType, void *arg) |
Enet OSAL ISR register function prototype.
isrFxn | ISR callback fxn pointer |
coreIntrNum | Core interrupt number to register |
intrPriority | Priority |
triggerType | interrupt trigger type for ARM corepac as EnetOSAL_armGicTrigType_t |
arg | Arg that will be passed back in the ISR |
typedef void(* EnetOsal_UnregisterIntr) (void *hHwi) |
Enet OSAL ISR unregister function prototype.
hHwi | Hwi handle |
typedef void*(* EnetOsal_CreateMutex) (void) |
Enet OSAL mutex create function prototype to protect critical section.
typedef void(* EnetOsal_DeleteMutex) (void *hMutex) |
Enet OSAL mutex delete function prototype.
hMutex | Pointer to mutex object returned during create |
typedef void(* EnetOsal_LockMutex) (void *hMutex) |
Enet OSAL mutex lock function prototype.
hMutex | Pointer to mutex object returned during create |
typedef void(* EnetOsal_UnlockMutex) (void *hMutex) |
Enet OSAL mutex lock function prototype.
hMutex | Pointer to mutex object returned during create |
typedef bool(* EnetOsal_IsCacheCoherent) (void) |
Enet OSAL cache coherency check function prototype.
typedef void(* EnetOsal_CacheInv) (const void *addr, int32_t size) |
Enet OSAL cache invalidate function prototype.
addr | Start address of the cache line/s |
size | Size (in bytes) of the memory to invalidate |
typedef void(* EnetOsal_CacheWb) (const void *addr, int32_t size) |
Enet OSAL cache writeback function prototype.
addr | Start address of the cache line/s |
size | Size (in bytes) of the memory to be written back |
typedef void(* EnetOsal_CacheWbInv) (const void *addr, int32_t size) |
Enet OSAL cache writeback invalidate function prototype.
addr | Start address of the cache line/s |
size | Size (in bytes) of the memory to be written back |
typedef uint32_t(* EnetOsal_TimerRead) (void) |
Enet OSAL timer read function prototype.
Enumerates the types different trigger types. Please refer to Section 4.3.13 Interrupt Configuration Registers, GICD_ICFGRn of ARM Generic Interrupt Controller Architecture version 2.0 Architecture Specification document for details.
void EnetOsal_init | ( | const EnetOsal_Cfg * | cfg | ) |
Initialize OSAL with provided configuration.
Initializes the Enet driver OSAL with the provided configuration. It's expected that all function pointers in the configuration are not NULL.
cfg | Configuration parameters |
void EnetOsal_deinit | ( | void | ) |
Deinitialize OSAL.
Deinitializes the Enet driver OSAL by clearing the configuration previously set when calling EnetOsal_init().
uintptr_t EnetOsal_disableAllIntr | ( | void | ) |
Enet OSAL intr disable function prototype.
void EnetOsal_restoreAllIntr | ( | uintptr_t | cookie | ) |
Enet OSAL intr restore function prototype.
cookie | This is returned in disable interrupt function |
void* EnetOsal_registerIntr | ( | EnetOsal_Isr | isrFxn, |
uint32_t | coreIntrNum, | ||
uint32_t | intrPriority, | ||
uint32_t | intrTrigType, | ||
void * | arg | ||
) |
Register an ISR for an interrupt.
isrFxn | Interrupt service routine |
coreIntrNum | Interrupt number |
intrPriority | Interrupt priority |
intrTrigType | Interrupt trigger type |
arg | Argument to ISR function |
void EnetOsal_unregisterIntr | ( | void * | hHwi | ) |
Unregister an interrupt.
hHwi | Interrupt handle pointer |
void EnetOsal_enableIntr | ( | uint32_t | coreIntrNum | ) |
Enable interrupt.
coreIntrNum | Interrupt number |
void EnetOsal_disableIntr | ( | uint32_t | coreIntrNum | ) |
Disable interrupt.
coreIntrNum | Interrupt number |
void* EnetOsal_createMutex | ( | void | ) |
Create a mutex.
void EnetOsal_deleteMutex | ( | void * | hMutex | ) |
Delete a mutex.
hMutex | Mutex handle pointer |
void EnetOsal_lockMutex | ( | void * | hMutex | ) |
Lock a mutex.
hMutex | Mutex handle pointer |
void EnetOsal_unlockMutex | ( | void * | hMutex | ) |
Unlock a mutex.
hMutex | Mutex handle pointer |
void EnetOsal_cacheInv | ( | const void * | addr, |
int32_t | size | ||
) |
Invalidate cache.
Invalidates cache in a range of memory.
addr | Start address of the cache line(s) |
size | Size (in bytes) of the memory to invalidate |
void EnetOsal_cacheWb | ( | const void * | addr, |
int32_t | size | ||
) |
Write-back cache.
Writes back cache a range of memory from cache.
addr | Start address of the cache line(s) |
size | Size (in bytes) of the memory to be written back |
void EnetOsal_cacheWbInv | ( | const void * | addr, |
int32_t | size | ||
) |
Write-back and invalidate cache.
Writes back and invalidates a range of memory.
addr | Start address of the cache line/s |
size | Size (in bytes) of the memory to be written back |
uint32_t EnetOsal_timerGetDiff | ( | uint32_t | startTime | ) |
Get the time difference with respect to timestamp.
Gets the difference between time value passed to this function and current time from timer.
uint32_t EnetOsal_timerRead | ( | void | ) |
Read current timer value.