 |
AM263x MCU+ SDK
11.00.00
|
|
Go to the documentation of this file.
77 #define ENET_CPDMA_CPSW_MAX_TX_CH (8U)
80 #define ENET_CPDMA_CPSW_MAX_RX_CH (8U)
85 #define ENET_CPDMA_CPSW_MAX_SG_LIST (4U)
87 #if ((__ARM_ARCH == 7) && (__ARM_ARCH_PROFILE == 'R'))
89 #define ENETDMA_CACHELINE_ALIGNMENT (32U)
91 #error "Enet library compilation not supported on non cortex R cores. Update correct cache line size"
96 #define ENET_CPDMA_CSUM_START_BYTE_SHIFT (16U)
98 #define ENET_CPDMA_CSUM_START_BYTE_MASK (((uint32_t) 0xFFU) << ENET_CPDMA_CSUM_START_BYTE_SHIFT)
100 #define ENET_CPDMA_CSUM_RESULT_BYTE_SHIFT (24U)
102 #define ENET_CPDMA_CSUM_RESULT_BYTE_MASK (((uint32_t) 0xFFU) << ENET_CPDMA_CSUM_RESULT_BYTE_SHIFT)
104 #define ENET_CPDMA_CSUM_BYTE_COUNT_SHIFT (0U)
106 #define ENET_CPDMA_CSUM_BYTE_COUNT_MASK (((uint32_t) 0x3FFU) << ENET_CPDMA_CSUM_BYTE_COUNT_SHIFT)
108 #define ENET_CPDMA_GET_CSUM_RESULT_BYTE(chkSumInfo) \
109 ENET_FEXT(chkSumInfo, ENET_CPDMA_CSUM_RESULT_BYTE)
111 #define ENET_CPDMA_GET_CSUM_START_BYTE(chkSumInfo) \
112 ENET_FEXT(chkSumInfo, ENET_CPDMA_CSUM_START_BYTE)
114 #define ENET_CPDMA_GET_CSUM_BYTE_COUNT(chkSumInfo) \
115 ENET_FEXT(chkSumInfo, ENET_CPDMA_CSUM_BYTE_COUNT)
170 typedef struct EnetCpdma_PktTsInfo_s
196 typedef struct EnetCpdma_SGListEntry_s
229 typedef struct EnetCpdma_SGList_s
270 typedef struct EnetCpdma_PktInfo_s
359 typedef struct EnetCpdma_OpenTxChPrms_s
386 typedef struct EnetCpdma_OpenRxChPrms_s
420 typedef struct EnetCpdma_RxChInitPrms_s
432 typedef struct EnetCpdma_Cfg_s
466 typedef struct EnetDma_initCfg_s
uint32_t txTsId
Definition: enet_cpdma.h:331
uint8_t * origBufPtr
Definition: enet_cpdma.h:207
int32_t EnetCpdma_txIsr(EnetDma_Handle hEnetDma)
ENET CPDMA Tx interrupt service routine.
void EnetCpdma_initRxChParams(EnetCpdma_OpenRxChPrms *pRxChPrms)
Initialize RX channel open parameters.
Global Param struct for the Rx channel open.
Definition: enet_cpdma.h:421
uint32_t maxTxChannels
Definition: enet_cpdma.h:454
#define ENET_CPDMA_CPSW_MAX_SG_LIST
Definition: enet_cpdma.h:85
void(* EnetDma_PktNotifyCb)(void *cbArg)
Function pointer type for packet notify call back.
Definition: enet_cpdma.h:133
uint8_t txPktDomain
Definition: enet_cpdma.h:182
EnetDma_Handle EnetCpdma_open(Enet_Type enetType, uint32_t instId, const EnetDma_Cfg *dmaCfg, uint32_t appCoreId)
Set default data path parameters.
Enet_MacPort txPortNum
Definition: enet_cpdma.h:318
Config structure for Enet CPDMA.
Definition: enet_cpdma.h:433
EnetQ_Node node
Definition: enet_cpdma.h:275
int32_t EnetCpdma_saveCtxt(EnetDma_Handle hEnetDma)
Saves and closes Enet DMA (data path).
int32_t EnetCpdma_miscIsrGetStatus(EnetDma_Handle hEnetDma, uint32_t *pStatusMask)
ENET CPDMA Miscellaneous interrupt service routine.
uint32_t chNum
Definition: enet_cpdma.h:392
bool disableCacheOps
Definition: enet_cpdma.h:215
uint32_t segmentAllocLen
Definition: enet_cpdma.h:213
struct EnetCpdma_RxChObj_s * EnetDma_RxChHandle
Opaque handle that holds software state for Enet RX DMA channel.
Definition: enet_cpdma_types.h:92
This file contains the basic types using across the Enet driver.
Enet_Handle hEnet
Definition: enet_cpdma.h:389
This file contains the base DMA definitions.
uint32_t txPktSeqId
Definition: enet_cpdma.h:176
int32_t EnetCpdma_closeTxCh(EnetDma_TxChHandle hTxCh, EnetDma_PktQ *fq, EnetDma_PktQ *cq)
Enet DMA close TX channel.
Enet_MacPort
MAC port.
Definition: enet_types.h:412
Packet data structure.
Definition: enet_cpdma.h:271
uint32_t chkSumInfo
Definition: enet_cpdma.h:296
This file contains the type definitions and helper macros for the Enet software queue.
Enet_Handle hEnet
Definition: enet_cpdma.h:362
EnetDma_PktNotifyCb notifyCb
Definition: enet_cpdma.h:369
uint8_t * bufPtr
Definition: enet_cpdma.h:204
uint32_t rxInterruptPerMSec
Definition: enet_cpdma.h:438
EnetDma_RxChHandle EnetCpdma_openRxCh(EnetDma_Handle hDma, const EnetCpdma_OpenRxChPrms *pRxChPrms)
Enet DMA open RX channel.
uint32_t chNum
Definition: enet_cpdma.h:365
EnetDma_Handle EnetCpdma_restoreCtxt(Enet_Type enetType, uint32_t instId, uint32_t appCoreId)
Open DMA with default data path parameters.
int32_t EnetCpdma_ackMiscIsr(EnetDma_Handle hEnetDma)
A generic node structure for a single link list.
Definition: enet_queue.h:74
uint32_t numTxPkts
Definition: enet_cpdma.h:373
void EnetCpdma_initTxChParams(EnetCpdma_OpenTxChPrms *pTxChPrms)
Initialize TX channel open parameters.
Transmit Packet scatter gather list entry.
Definition: enet_cpdma.h:197
EnetCpdma_RxChInitPrms rxChInitPrms
Definition: enet_cpdma.h:451
uint32_t numRxPkts
Definition: enet_cpdma.h:400
CPPI buffer timestamp info.
Definition: enet_cpdma.h:171
EnetCpdma_OpenRxChPrms EnetDma_OpenRxChPrms
Param struct for the RX channel open function. We include this typedef as top level DMA APIs use Enet...
Definition: enet_cpdma.h:412
uint32_t txInterruptPerMSec
Definition: enet_cpdma.h:435
EnetDma_PktNotifyCb notifyCb
Definition: enet_cpdma.h:396
int32_t EnetCpdma_rxThreshIsr(EnetDma_Handle hEnetDma)
ENET CPDMA Rx Threshold interrupt service routine.
void * cbArg
Definition: enet_cpdma.h:377
Enet_MacPort rxPortNum
Definition: enet_cpdma.h:323
bool enHostRxTsFlag
Definition: enet_cpdma.h:448
uint32_t segmentFilledLen
Definition: enet_cpdma.h:210
Enet_Type
Ethernet peripheral type.
Definition: enet_types.h:202
struct EnetCpdma_DrvObj_s * EnetDma_Handle
Opaque handle for Enet CPDMA driver object.
Definition: enet_cpdma_types.h:86
EnetCpdma_SGList sgList
Definition: enet_cpdma.h:338
uint8_t txPktMsgType
Definition: enet_cpdma.h:179
struct EnetCpdma_TxChObj_s * EnetDma_TxChHandle
Opaque handle that holds software state for Enet TX DMA channel.
Definition: enet_cpdma_types.h:97
uint32_t txPktTc
Definition: enet_cpdma.h:327
uint32_t maxRxChannels
Definition: enet_cpdma.h:457
int32_t EnetCpdma_close(EnetDma_Handle hEnetDma)
Close Enet DMA (data path).
EnetDma_TxChHandle EnetCpdma_openTxCh(EnetDma_Handle hDma, const EnetCpdma_OpenTxChPrms *pTxChPrms)
Enet DMA open TX channel.
This file contains the type definitions and helper macros for the Enet Peripheral interface.
Transmit packet scatter list info.
Definition: enet_cpdma.h:230
uint32_t pktState
Definition: enet_cpdma.h:285
void EnetCpdma_initParams(EnetDma_Cfg *pDmaConfig)
Initialize CPDMA config params.
Config structure for Enet CPDMA Data Path initialization.
Definition: enet_cpdma.h:467
uint32_t rxBufferOffset
Definition: enet_cpdma.h:423
void * cbArg
Definition: enet_cpdma.h:404
void * appPriv
Definition: enet_cpdma.h:278
EnetCpdma_SGListEntry EnetDma_SGListEntry
Definition: enet_cpdma.h:240
int32_t EnetCpdma_closeRxCh(EnetDma_RxChHandle hRxCh, EnetDma_PktQ *fq, EnetDma_PktQ *cq)
Enet DMA close RX channel.
bool enChOverrideFlag
Definition: enet_cpdma.h:445
Param struct for the RX channel open function.
Definition: enet_cpdma.h:387
uint32_t numScatterSegments
Definition: enet_cpdma.h:235
EnetCpdma_PktTsInfo tsInfo
Definition: enet_cpdma.h:307
bool enableHostTxTs
Definition: enet_cpdma.h:173
uint64_t rxPktTs
Definition: enet_cpdma.h:185
struct Enet_Obj_s * Enet_Handle
Ethernet driver handle.
Definition: enet_base.h:106
Generic queue.
Definition: enet_queue.h:83
Param struct for the TX channel open function.
Definition: enet_cpdma.h:360
int32_t EnetCpdma_rxIsr(EnetDma_Handle hEnetDma)
ENET CPDMA Rx interrupt service routine.
EnetQ EnetDma_PktQ
Packet queue.
Definition: enet_cpdma.h:144