PDK API Guide for J721E
Icssg_Obj Struct Reference

Detailed Description

Icssg per object.

Public Member Functions

Icssg_IoctlCmd cmd __attribute__ ((aligned(ICSSG_CACHELINE_ALIGNMENT)))
 

Data Fields

EnetPer_Obj enetPer
 
Icssg_Prusspruss
 
Icssg_Fw fw [ICSSG_MAC_PORT_MAX]
 
Icssg_FwPoolMem fwPoolMem [ICSSG_MAC_PORT_MAX]
 
uint8_t asyncIoctlSeqNum
 
uint32_t asyncIoctlType
 
Icssg_evtCbInfo asyncCmdRespCbEvtInfo
 
Icssg_evtCbInfo txTsCbEvtInfo
 
EnetRm_Obj rmObj
 
EnetMod_Handle hRm
 
uint32_t selfCoreId
 
EnetDma_Handle hDma
 
uint32_t numRxCh
 
EnetDma_RxChHandle hRxRsvdFlow [ICSSG_MAC_PORT_MAX]
 
Enet_dmaResInfo dmaResInfo [ICSSG_MAC_PORT_MAX]
 
uint32_t rsvdFlowId [ICSSG_MAC_PORT_MAX]
 
Mdio_Obj mdioObj
 
EnetMod_Handle hMdio
 
EnetPhy_Handle hPhy [ICSSG_MAC_PORT_MAX]
 
IcssgTimeSync_Obj timeSyncObj
 
EnetMod_Handle hTimeSync
 
IcssgStats_Obj statsObj
 
EnetMod_Handle hStats
 
IcssgTas_Obj tasObj [ICSSG_MAC_PORT_MAX]
 
EnetMod_Handle hTas [ICSSG_MAC_PORT_MAX]
 
uint32_t cycleTimeNs
 

Member Function Documentation

◆ __attribute__()

Icssg_IoctlCmd cmd Icssg_Obj::__attribute__ ( (aligned(ICSSG_CACHELINE_ALIGNMENT))  )

IOCTL command

Field Documentation

◆ enetPer

EnetPer_Obj Icssg_Obj::enetPer

EnetMod must be the first member

◆ pruss

Icssg_Pruss* Icssg_Obj::pruss

PRUSS instance. SoC layer binds this ICSSG object to the corresponding PRUSS.

◆ fw

Icssg_Fw Icssg_Obj::fw[ICSSG_MAC_PORT_MAX]

ICSSG firmware configuration: image addresses and sizes.

  • Switch peripheral (ENET_ICSSG_SWITCH), application must populate all firmwares entries of this array.
  • Dual-MAC peripheral (ENET_ICSSG_DUALMAC), application must populate only the first firmware entry.

◆ fwPoolMem

Icssg_FwPoolMem Icssg_Obj::fwPoolMem[ICSSG_MAC_PORT_MAX]

Buffer pools used by firmware (port buffer pool, host buffer pool, egress queue, scratch buffer).

  • Switch peripheral (ENET_ICSSG_SWITCH), application must populate all entries with firmware buffer pool information.
  • Dual-MAC peripheral (ENET_ICSSG_DUALMAC), application must populate only the first buffer pool entry.

◆ asyncIoctlSeqNum

uint8_t Icssg_Obj::asyncIoctlSeqNum

Asycnronuous IOCTL sequence number

◆ asyncIoctlType

uint32_t Icssg_Obj::asyncIoctlType

Asycnronuous IOCTL type

◆ asyncCmdRespCbEvtInfo

Icssg_evtCbInfo Icssg_Obj::asyncCmdRespCbEvtInfo

Event callback information object for async command resp. callback

◆ txTsCbEvtInfo

Icssg_evtCbInfo Icssg_Obj::txTsCbEvtInfo

Event callback information object for TX timestamp event callback

◆ rmObj

EnetRm_Obj Icssg_Obj::rmObj

Resource Manager object

◆ hRm

EnetMod_Handle Icssg_Obj::hRm

Resource Manager handle

◆ selfCoreId

uint32_t Icssg_Obj::selfCoreId

Core on which Icssg_Open() is executed

◆ hDma

EnetDma_Handle Icssg_Obj::hDma

DMA handle

◆ numRxCh

uint32_t Icssg_Obj::numRxCh

Number of required UDMA RX channels

◆ hRxRsvdFlow

EnetDma_RxChHandle Icssg_Obj::hRxRsvdFlow[ICSSG_MAC_PORT_MAX]

DMA Rx Reserved flow handle

◆ dmaResInfo

Enet_dmaResInfo Icssg_Obj::dmaResInfo[ICSSG_MAC_PORT_MAX]

DMA resource information

◆ rsvdFlowId

uint32_t Icssg_Obj::rsvdFlowId[ICSSG_MAC_PORT_MAX]

DMA Rx Reserved flow Id

◆ mdioObj

Mdio_Obj Icssg_Obj::mdioObj

MDIO object

◆ hMdio

EnetMod_Handle Icssg_Obj::hMdio

MDIO handle

◆ hPhy

PHY handles

◆ timeSyncObj

IcssgTimeSync_Obj Icssg_Obj::timeSyncObj

TimesSync object

◆ hTimeSync

EnetMod_Handle Icssg_Obj::hTimeSync

TimesSync handle

◆ statsObj

IcssgStats_Obj Icssg_Obj::statsObj

Stats object

◆ hStats

EnetMod_Handle Icssg_Obj::hStats

Stats handle

◆ tasObj

IcssgTas_Obj Icssg_Obj::tasObj[ICSSG_MAC_PORT_MAX]

Tas object

◆ hTas

Tas handle

◆ cycleTimeNs

uint32_t Icssg_Obj::cycleTimeNs

Cycle time in nanoseconds