This file contains the type definitions and function prototypes of the Enet Utils functionality.
Go to the source code of this file.
Data Structures | |
| struct | EnetUtils_Cfg |
| Enet utils parameters. More... | |
Macros | |
| #define | container_of(ptr, type, member) |
| Macro to get container structure from one of its members' addresses. More... | |
| #define | ENET_UNUSED(x) (x = x) |
| Unused variable. More... | |
| #define | ENET_MK_ONES(c_ebit, c_sbit) (((1U << (((c_ebit) - (c_sbit)) + 1U)) - 1U) << (c_sbit)) |
| Macro to create a bit mask. More... | |
| #define | ENET_UTILS_ALIGN(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) |
| Align a value by performing a round-up operation. More... | |
| #define | ENET_UTILS_IS_ALIGNED(addr, alignSz) (((uintptr_t)addr & ((alignSz) - 1U)) == 0U) |
| Macro to determine if an address is aligned to a given size. More... | |
| #define | ENET_UTILS_ARRAY_COPY(dst, src) |
| Macro to copy arrays. They must be of the same size. More... | |
| #define | Enet_assert(cond, ...) (void)(cond) |
| Assertion. More... | |
| #define | Enet_devAssert(cond, ...) (void)(cond) |
| Development-time assertion. More... | |
| #define | ENET_UTILS_COMPILETIME_ASSERT(cond) |
| Compile-time assertion. More... | |
| #define | ENET_NUM_NANOSECS_PER_SEC (1000000000ULL) |
Typedefs | |
| typedef void(* | Enet_Print) (const char *fmt,...) |
| Info/debug print function prototype. More... | |
| typedef uint64_t(* | Enet_VirtToPhys) (const void *virtAddr, void *appData) |
| Virtual-to-physical address translation callback function. More... | |
| typedef void *(* | Enet_PhysToVirt) (uint64_t phyAddr, void *appData) |
| Physical-to-virtual address translation callback function. More... | |
Functions | |
| void | EnetUtils_init (const EnetUtils_Cfg *cfg) |
| Initialize utils module. More... | |
| void | EnetUtils_deinit (void) |
| De-initialize utils module. More... | |
| void | EnetUtils_printf (const char *fmt,...) |
| Print function. More... | |
| void | EnetUtils_vprintf (const char *fmt, va_list args) |
| Print function for va_list. More... | |
| uint32_t | EnetUtils_min (uint32_t num1, uint32_t num2) |
| Returns minimum of two numbers. More... | |
| uint32_t | EnetUtils_max (uint32_t num1, uint32_t num2) |
| Returns minimum of two numbers. More... | |
| void | EnetUtils_delayTicks (const uint32_t delayTicks) |
| Busy loop for a given amount of delay in CPU clock ticks. More... | |
| void | EnetUtils_delayNs (const uint32_t delayNs) |
| Busy loop for a given amount of delay in nano seconds. More... | |
| uint64_t | EnetUtils_virtToPhys (const void *virtAddr, void *appData) |
| Convert a virtual address to physical address. More... | |
| void * | EnetUtils_physToVirt (uint64_t physAddr, void *appData) |
| Convert a physical address to virtual address. More... | |
| EnetPhy_Mii | EnetUtils_macToPhyMii (const EnetMacPort_Interface *macMii) |
| Convert MAC port MII to PHY MII types. More... | |
| static void | EnetUtils_copyMacAddr (uint8_t *dst, const uint8_t *src) |
| Copy MAC address. More... | |
| static bool | EnetUtils_cmpMacAddr (const uint8_t *addr1, const uint8_t *addr2) |
| Compare two MAC address. More... | |
| static void | EnetUtils_clearMacAddr (uint8_t *addr) |
| Clear MAC address. More... | |
| static bool | EnetUtils_isMcastAddr (const uint8_t *addr) |
| Check if address is multicast. More... | |
| #define container_of | ( | ptr, | |
| type, | |||
| member | |||
| ) |
Macro to get container structure from one of its members' addresses.
| #define ENET_UNUSED | ( | x | ) | (x = x) |
Unused variable.
| #define ENET_MK_ONES | ( | c_ebit, | |
| c_sbit | |||
| ) | (((1U << (((c_ebit) - (c_sbit)) + 1U)) - 1U) << (c_sbit)) |
Macro to create a bit mask.
| #define ENET_UTILS_ALIGN | ( | x, | |
| y | |||
| ) | ((((x) + ((y) - 1)) / (y)) * (y)) |
Align a value by performing a round-up operation.
| #define ENET_UTILS_IS_ALIGNED | ( | addr, | |
| alignSz | |||
| ) | (((uintptr_t)addr & ((alignSz) - 1U)) == 0U) |
Macro to determine if an address is aligned to a given size.
| #define ENET_UTILS_ARRAY_COPY | ( | dst, | |
| src | |||
| ) |
Macro to copy arrays. They must be of the same size.
| #define Enet_assert | ( | cond, | |
| ... | |||
| ) | (void)(cond) |
Assertion.
| #define Enet_devAssert | ( | cond, | |
| ... | |||
| ) | (void)(cond) |
Development-time assertion.
| #define ENET_UTILS_COMPILETIME_ASSERT | ( | cond | ) |
Compile-time assertion.
| #define ENET_NUM_NANOSECS_PER_SEC (1000000000ULL) |
| typedef void(* Enet_Print) (const char *fmt,...) |
Info/debug print function prototype.
This function is used by the driver to print info/debug messages.
| fmt | Formatted string followed by variable arguments |
| typedef uint64_t(* Enet_VirtToPhys) (const void *virtAddr, void *appData) |
Virtual-to-physical address translation callback function.
This function is used by the driver to convert virtual address to physical address.
| virtAddr | Virtual address |
| appData | Callback pointer passed during translation |
| typedef void*(* Enet_PhysToVirt) (uint64_t phyAddr, void *appData) |
Physical-to-virtual address translation callback function.
This function is used by the driver to convert physical address to virtual address.
| phyAddr | Physical address |
| appData | Callback pointer passed during translation |
| void EnetUtils_init | ( | const EnetUtils_Cfg * | cfg | ) |
Initialize utils module.
Utils module initialization function. Should be only called from the Enet top-level module.
| cfg | Pointer to the initialization parameters |
| void EnetUtils_deinit | ( | void | ) |
De-initialize utils module.
| void EnetUtils_printf | ( | const char * | fmt, |
| ... | |||
| ) |
Print function.
Prints the provided formatted string.
| fmt | Formatted string followed by variable arguments |
| void EnetUtils_vprintf | ( | const char * | fmt, |
| va_list | args | ||
| ) |
Print function for va_list.
Prints the provided formatted string.
| fmt | Formatted string |
| args | Arg list pointing to the arguments in the format string |
| uint32_t EnetUtils_min | ( | uint32_t | num1, |
| uint32_t | num2 | ||
| ) |
Returns minimum of two numbers.
| num1 | First number |
| num2 | Second number |
| uint32_t EnetUtils_max | ( | uint32_t | num1, |
| uint32_t | num2 | ||
| ) |
Returns minimum of two numbers.
| num1 | First number |
| num2 | Second number |
| void EnetUtils_delayTicks | ( | const uint32_t | delayTicks | ) |
Busy loop for a given amount of delay in CPU clock ticks.
| delayTicks | Delay time in CPU clock ticks |
| void EnetUtils_delayNs | ( | const uint32_t | delayNs | ) |
Busy loop for a given amount of delay in nano seconds.
| delayNs | Delay time in nano seconds |
| uint64_t EnetUtils_virtToPhys | ( | const void * | virtAddr, |
| void * | appData | ||
| ) |
Convert a virtual address to physical address.
| virtAddr | Virtual address |
| appData | Auxiliary data |
| void* EnetUtils_physToVirt | ( | uint64_t | physAddr, |
| void * | appData | ||
| ) |
Convert a physical address to virtual address.
| physAddr | Physical address |
| appData | Auxiliary data |
| EnetPhy_Mii EnetUtils_macToPhyMii | ( | const EnetMacPort_Interface * | macMii | ) |
Convert MAC port MII to PHY MII types.
Converts MII type definition from EnetMacPort_Interface to EnetPhy_Mii.
| macMii | MAC port MII interface type |
|
inlinestatic |
Copy MAC address.
Copies 6-byte MAC address.
| dst | Pointer to MAC address memory being copied into |
| src | Pointer to MAC address memory to be copied from |
|
inlinestatic |
Compare two MAC address.
Compares two MAC address to determine if they are equal.
| addr1 | MAC address being compared |
| addr2 | MAC address being compared |
|
inlinestatic |
Clear MAC address.
Clear 6-byte MAC address memory.
| addr | Pointer to MAC address memory to be cleared |
|
inlinestatic |
Check if address is multicast.
Checks if MAC address is multicast.
| addr | MAC address |