![]() |
PDK API Guide for J721E
|
This file contains the private type definitions and helper macros for the ICSSG peripheral.
Go to the source code of this file.
Data Structures | |
| struct | Icssg_evtCbInfo |
| Icssg event callback info structure. More... | |
| struct | Icssg_Pruss |
| ICSS_PRU object. More... | |
| struct | Icssg_Fw |
| ICSSG firmware. More... | |
| struct | Icssg_FwPoolMem |
| ICSSG buffer pool memories. More... | |
| struct | Icssg_IoctlCmd_s |
| IOCTL command structure used to communicate with ICSSG. More... | |
| struct | Icssg_IoctlCmdResp |
| IOCTL command response structure used to communicate with ICSSG. More... | |
| struct | Icssg_Obj |
| Icssg per object. More... | |
Macros | |
| #define | ICSSG_PRUSS_ID_0 (0U) |
| PRU ICSS subsystem instance 0. More... | |
| #define | ICSSG_PRUSS_ID_1 (1U) |
| PRU ICSS subsystem instance 1. More... | |
| #define | ICSSG_PRUSS_ID_2 (2U) |
| PRU ICSS subsystem instance 2. More... | |
| #define | ICSSG_CACHELINE_ALIGNMENT (64U) |
| Cache alignment used for IOCTL command structure. More... | |
Typedefs | |
| typedef Icssg_Obj * | Icssg_Handle |
| MAC port module handle. More... | |
Functions | |
| struct Icssg_IoctlCmd_s | __attribute__ ((packed)) Icssg_IoctlCmd |
| IOCTL command structure used to communicate with ICSSG. More... | |
| void | Icssg_initCfg (EnetPer_Handle hPer, Enet_Type enetType, void *cfg, uint32_t cfgSize) |
| Initialize ICSSG peripheral's configuration parameters. More... | |
| int32_t | Icssg_open (EnetPer_Handle hPer, Enet_Type enetType, uint32_t instId, const void *cfg, uint32_t cfgSize) |
| Open and initialize the ICSSG Peripheral. More... | |
| int32_t | Icssg_rejoin (EnetPer_Handle hPer, Enet_Type enetType, uint32_t instId) |
| Rejoin a running ICSSG peripheral. More... | |
| int32_t | Icssg_ioctl (EnetPer_Handle hPer, uint32_t cmd, Enet_IoctlPrms *prms) |
| Issue an operation on the ICSSG peripheral. More... | |
| void | Icssg_poll (EnetPer_Handle hPer, Enet_Event evt, const void *arg, uint32_t argSize) |
| Poll for Ethernet events. More... | |
| uint64_t | Icssg_convertTs (EnetPer_Handle hPer, uint64_t ts) |
| Converts ICSSG timestamp to nanoseconds. More... | |
| void | Icssg_periodicTick (EnetPer_Handle hPer) |
| Run periodic tick on the ICSSG peripheral. More... | |
| void | Icssg_registerEventCb (EnetPer_Handle hPer, Enet_Event evt, uint32_t evtNum, Enet_EventCallback evtCb, void *evtCbArgs) |
| void | Icssg_unregisterEventCb (EnetPer_Handle hPer, Enet_Event evt, uint32_t evtNum) |
| void | Icssg_close (EnetPer_Handle hPer) |
| Close the ICSSG peripheral. More... | |
Variables | |
| uint8_t | param |
| uint8_t | seqNum |
| uint8_t | type |
| uint8_t | header |
| uint32_t | spare [3] |
| #define ICSSG_PRUSS_ID_0 (0U) |
PRU ICSS subsystem instance 0.
| #define ICSSG_PRUSS_ID_1 (1U) |
PRU ICSS subsystem instance 1.
| #define ICSSG_PRUSS_ID_2 (2U) |
PRU ICSS subsystem instance 2.
| #define ICSSG_CACHELINE_ALIGNMENT (64U) |
Cache alignment used for IOCTL command structure.
| typedef Icssg_Obj* Icssg_Handle |
MAC port module handle.
| struct Icssg_IoctlCmd_s __attribute__ | ( | (packed) | ) |
IOCTL command structure used to communicate with ICSSG.
| void Icssg_initCfg | ( | EnetPer_Handle | hPer, |
| Enet_Type | enetType, | ||
| void * | cfg, | ||
| uint32_t | cfgSize | ||
| ) |
Initialize ICSSG peripheral's configuration parameters.
Initializes the configuration parameter of the ICSSG peripheral.
| int32_t Icssg_open | ( | EnetPer_Handle | hPer, |
| Enet_Type | enetType, | ||
| uint32_t | instId, | ||
| const void * | cfg, | ||
| uint32_t | cfgSize | ||
| ) |
Open and initialize the ICSSG Peripheral.
Opens and initializes the ICSSG peripheral with the configuration parameters provided by the caller.
| hPer | Enet Peripheral handle |
| enetType | Enet Peripheral type |
| instId | Enet Peripheral instance id |
| cfg | Configuration parameters to be initialized. The config is of type Icssg_Cfg. |
| cfgSize | Size of the configuration parameters. It must be the size of Icssg_Cfg config structure. |
| int32_t Icssg_rejoin | ( | EnetPer_Handle | hPer, |
| Enet_Type | enetType, | ||
| uint32_t | instId | ||
| ) |
Rejoin a running ICSSG peripheral.
This operation is not supported by the ICSSG peripheral. Calling this function will return ENET_ENOTSUPPORTED.
| hPer | Enet Peripheral handle |
| enetType | Enet Peripheral type |
| instId | Enet Peripheral instance id |
| ENET_ENOTSUPPORTED |
| int32_t Icssg_ioctl | ( | EnetPer_Handle | hPer, |
| uint32_t | cmd, | ||
| Enet_IoctlPrms * | prms | ||
| ) |
Issue an operation on the ICSSG peripheral.
Issues a control operation on the ICSSG peripheral.
| hPer | Enet Peripheral handle |
| cmd | IOCTL command Id |
| prms | IOCTL parameters |
| void Icssg_poll | ( | EnetPer_Handle | hPer, |
| Enet_Event | evt, | ||
| const void * | arg, | ||
| uint32_t | argSize | ||
| ) |
Poll for Ethernet events.
Unblocking poll for the events specified in evt. ICSSG uses this function to poll for completion of asynchronous IOCTLs.
| hPer | Enet Peripheral handle |
| evt | Event type |
| arg | Pointer to the poll argument. This is specific to the poll event type |
| argSize | Size of arg |
| uint64_t Icssg_convertTs | ( | EnetPer_Handle | hPer, |
| uint64_t | ts | ||
| ) |
Converts ICSSG timestamp to nanoseconds.
ICSSG timestamp encodes IEP count low/high and rollover count as bit fields in the 64-bit value returned by ICSSG. This value needs to be converted to nanoseconds before application can consume it.
| hPer | Enet Peripheral handle |
| ts | Timestamp value, definition is peripheral specific |
| void Icssg_periodicTick | ( | EnetPer_Handle | hPer | ) |
Run periodic tick on the ICSSG peripheral.
Run PHY periodic tick on the ICSSG peripheral. The peripheral driver in turn runs the periodic tick operation on all opened PHYs.
| hPer | Enet Peripheral handle |
| void Icssg_registerEventCb | ( | EnetPer_Handle | hPer, |
| Enet_Event | evt, | ||
| uint32_t | evtNum, | ||
| Enet_EventCallback | evtCb, | ||
| void * | evtCbArgs | ||
| ) |
| void Icssg_unregisterEventCb | ( | EnetPer_Handle | hPer, |
| Enet_Event | evt, | ||
| uint32_t | evtNum | ||
| ) |
| void Icssg_close | ( | EnetPer_Handle | hPer | ) |
Close the ICSSG peripheral.
Closes the ICSSG peripheral.
| hPer | Enet Peripheral handle |
| uint8_t param |
Command parameter
| uint8_t seqNum |
Sequence number
| uint8_t type |
Command type
| uint8_t header |
Command header
| uint32_t spare[3] |
Spare data. Used for commands that take additional arguments