48 #include <ti/drv/pruss/pruicss.h> 70 #define ICSSG_PRUSS_ID_0 (0U) 73 #define ICSSG_PRUSS_ID_1 (1U) 76 #define ICSSG_PRUSS_ID_2 (2U) 79 #define ICSSG_CACHELINE_ALIGNMENT (64U) 87 typedef struct Icssg_evtCbInfo_s
112 typedef struct Icssg_Pruss_s
115 PRUICSS_Handle hPruss;
137 typedef struct Icssg_Fw_s
164 typedef struct Icssg_FwPoolMem_s
228 typedef struct Icssg_IoctlCmdResp_s
246 typedef struct Icssg_Obj_s
EnetPer_Obj enetPer
Definition: icssg_priv.h:249
const uint32_t * pru
Definition: icssg_priv.h:140
void Icssg_registerEventCb(EnetPer_Handle hPer, Enet_Event evt, uint32_t evtNum, Enet_EventCallback evtCb, void *evtCbArgs)
This file contains internal type definitions and helper macros for the ICSSG Hardware and PA statisti...
Enet DMA resource information.
Definition: enet_base_priv.h:68
Enet_Type
Ethernet peripheral type.
Definition: enet_types.h:195
uint32_t numRxCh
Definition: icssg_priv.h:294
void Icssg_initCfg(EnetPer_Handle hPer, Enet_Type enetType, void *cfg, uint32_t cfgSize)
Initialize ICSSG peripheral's configuration parameters.
uint32_t spare[3]
Definition: icssg_priv.h:222
uint32_t hostBufferPoolNum
Definition: icssg_priv.h:184
EnetMod_Handle hRm
Definition: icssg_priv.h:285
uint32_t hostBufferPoolSize
Definition: icssg_priv.h:181
void Icssg_close(EnetPer_Handle hPer)
Close the ICSSG peripheral.
uint8_t type
Definition: icssg_priv.h:216
This file contains the basic types using across the Enet driver.
struct EnetUdma_RxFlowObj_s * EnetDma_RxChHandle
Opaque handle that holds software state for Enet RX DMA flow.
Definition: enet_udma_types.h:95
Enet Resource Manager driver object.
Definition: enet_rm_priv.h:321
uint32_t selfCoreId
Definition: icssg_priv.h:288
uint8_t * hostBufferPoolMem
Definition: icssg_priv.h:178
uint32_t txpruSize
Definition: icssg_priv.h:155
const uint32_t * rtu
Definition: icssg_priv.h:146
This file contains the type definitions and helper macros for the Ethernet PHY interface.
uint32_t scratchBufferSize
Definition: icssg_priv.h:201
void Icssg_periodicTick(EnetPer_Handle hPer)
Run periodic tick on the ICSSG peripheral.
This file contains the type definitions and helper macros for the Enet Peripheral interface.
uint8_t status
Definition: icssg_priv.h:231
struct EnetUdma_DrvObj_s * EnetDma_Handle
Opaque handle for Enet UDMA driver object.
Definition: enet_udma_types.h:86
uint32_t asyncIoctlType
Definition: icssg_priv.h:273
uint32_t paramsLen
Definition: icssg_priv.h:237
Icssg event callback info structure.
Definition: icssg_priv.h:87
bool initialized
Definition: icssg_priv.h:121
uint8_t asyncIoctlSeqNum
Definition: icssg_priv.h:270
uint64_t Icssg_convertTs(EnetPer_Handle hPer, uint64_t ts)
Converts ICSSG timestamp to nanoseconds.
uint32_t pruSize
Definition: icssg_priv.h:143
int32_t Icssg_ioctl(EnetPer_Handle hPer, uint32_t cmd, Enet_IoctlPrms *prms)
Issue an operation on the ICSSG peripheral.
Icssg_Obj * Icssg_Handle
MAC port module handle.
Definition: icssg_priv.h:333
ICSSG firmware.
Definition: icssg_priv.h:137
const uint32_t * txpru
Definition: icssg_priv.h:152
uint8_t * hostEgressQueueMem
Definition: icssg_priv.h:188
void Icssg_poll(EnetPer_Handle hPer, Enet_Event evt, const void *arg, uint32_t argSize)
Poll for Ethernet events.
void * evtCbArgs
Definition: icssg_priv.h:93
int32_t Icssg_rejoin(EnetPer_Handle hPer, Enet_Type enetType, uint32_t instId)
Rejoin a running ICSSG peripheral.
Icssg_evtCbInfo txTsCbEvtInfo
Definition: icssg_priv.h:279
uint8_t seqNum
Definition: icssg_priv.h:234
IcssgStats_Obj statsObj
Definition: icssg_priv.h:321
This file contains the private type definitions and helper macros for Enet Resource Manager.
uint32_t portBufferPoolNum
Definition: icssg_priv.h:174
Enet_EventCallback evtCb
Definition: icssg_priv.h:90
void Icssg_unregisterEventCb(EnetPer_Handle hPer, Enet_Event evt, uint32_t evtNum)
#define ICSSG_CACHELINE_ALIGNMENT
Cache alignment used for IOCTL command structure.
Definition: icssg_priv.h:79
IcssgTimeSync_Obj timeSyncObj
Definition: icssg_priv.h:315
EnetMod_Handle hMdio
Definition: icssg_priv.h:309
EnetMod_Handle hStats
Definition: icssg_priv.h:324
Ethernet Peripheral object.
Definition: enet_per.h:461
Enet IOCTL param.
Definition: enet_ioctl.h:229
Mdio_Obj mdioObj
Definition: icssg_priv.h:306
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.
Icssg_Pruss * pruss
Definition: icssg_priv.h:252
uint8_t param
Definition: icssg_priv.h:210
uint32_t hostEgressQueueNum
Definition: icssg_priv.h:195
Icssg per object.
Definition: icssg_priv.h:246
ICSSG buffer pool memories.
Definition: icssg_priv.h:164
This file contains the top-level API of the Enet driver.
ICSSG TimeSync object.
Definition: icssg_timesync_priv.h:69
IOCTL command response structure used to communicate with ICSSG.
Definition: icssg_priv.h:228
EnetRm_Obj rmObj
Definition: icssg_priv.h:282
uint8_t seqNum
Definition: icssg_priv.h:213
Enet_Event
Ethernet events.
Definition: enet_types.h:258
Icssg_evtCbInfo asyncCmdRespCbEvtInfo
Definition: icssg_priv.h:276
ICSSG Statistics object.
Definition: icssg_stats_priv.h:67
EnetDma_Handle hDma
Definition: icssg_priv.h:291
bool iep0InUse
Definition: icssg_priv.h:124
uint32_t hostEgressQueueSize
Definition: icssg_priv.h:192
struct EnetMod_Obj_s * EnetMod_Handle
Ethernet Module handle.
Definition: enet_mod.h:71
uint32_t portBufferPoolSize
Definition: icssg_priv.h:171
EnetMod_Handle hTimeSync
Definition: icssg_priv.h:318
uint8_t * scratchBufferMem
Definition: icssg_priv.h:198
struct EnetPhy_Obj_s * EnetPhy_Handle
PHY driver object handle.
Definition: enetphy.h:641
struct Icssg_IoctlCmd_s __attribute__((packed)) Icssg_IoctlCmd
IOCTL command structure used to communicate with ICSSG.
#define ICSSG_MAC_PORT_MAX
Maximum number of MAC ports per ICSSG instance.
Definition: icssg.h:82
This file contains private type definitions and helper macros for the MDIO port module which are mean...
struct EnetPer_Obj_s * EnetPer_Handle
Ethernet Peripheral handle.
Definition: enet_per.h:299
void(* Enet_EventCallback)(Enet_Event evt, uint32_t evtNum, void *evtCbArgs, void *arg1, void *arg2)
Event callback.
Definition: enet_types.h:445
uint8_t header
Definition: icssg_priv.h:219
This file contains the type definitions and helper macros for the MDIO module interface.
uint32_t rtuSize
Definition: icssg_priv.h:149
This file contains the private top-level type definitions and helper macros.
MDIO port object.
Definition: mdio_priv.h:147
This file contains the type definitions and helper macros for the Ethernet PHY interface.
IOCTL command structure used to communicate with ICSSG.
Definition: icssg_priv.h:207
void * lock
Definition: icssg_priv.h:129
This file contains the private type definitions and helper macros for the ICSSG TimeSync driver.
ICSS_PRU object.
Definition: icssg_priv.h:112
uint8_t * portBufferPoolMem
Definition: icssg_priv.h:168