|
AM273x MCU+ SDK
08.06.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)
166 typedef struct EnetCpdma_PktTsInfo_s
192 typedef struct EnetCpdma_SGListEntry_s
217 typedef struct EnetCpdma_SGList_s
258 typedef struct EnetCpdma_PktInfo_s
339 typedef struct EnetCpdma_OpenTxChPrms_s
366 typedef struct EnetCpdma_OpenRxChPrms_s
400 typedef struct EnetCpdma_RxChInitPrms_s
412 typedef struct EnetCpdma_Cfg_s
443 typedef struct EnetDma_initCfg_s
EnetDma_Handle EnetCpdma_open(Enet_Type enetType, uint32_t instId, const void *dmaCfg, uint32_t appCoreId)
Set default data path parameters.
int32_t EnetCpdma_txIsr(EnetDma_Handle hEnetDma)
ENET CPDMA Tx interrupt service routine.
struct EnetCpdma_Cfg_s EnetDma_Cfg
Opaque handle that holds config Info for Enet DMA channel.
Definition: enet_cpdma.h:129
Global Param struct for the Rx channel open.
Definition: enet_cpdma.h:401
#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:138
uint8_t txPktDomain
Definition: enet_cpdma.h:178
Enet_MacPort txPortNum
Definition: enet_cpdma.h:306
EnetQ_Node node
Definition: enet_cpdma.h:263
uint32_t maxTxChannels
Definition: enet_cpdma.h:431
int32_t EnetCpdma_miscIsrGetStatus(EnetDma_Handle hEnetDma, uint32_t *pStatusMask)
ENET CPDMA Miscellaneous interrupt service routine.
uint32_t chNum
Definition: enet_cpdma.h:372
bool disableCacheOps
Definition: enet_cpdma.h:203
uint32_t segmentAllocLen
Definition: enet_cpdma.h:201
This file contains the basic types using across the Enet driver.
Enet_Handle hEnet
Definition: enet_cpdma.h:369
This file contains the base DMA definitions.
uint32_t txPktSeqId
Definition: enet_cpdma.h:172
Enet_MacPort
MAC port.
Definition: enet_types.h:409
uint32_t rxInterruptPerMSec
Definition: enet_cpdma.h:418
void EnetCpdma_initParams(Enet_Type enetType, EnetDma_Cfg *pDmaConfig)
Initialize CPDMA config params.
Packet data structure.
Definition: enet_cpdma.h:259
uint32_t chkSumInfo
Definition: enet_cpdma.h:284
This file contains the type definitions and helper macros for the Enet software queue.
Enet_Handle hEnet
Definition: enet_cpdma.h:342
Config structure for Enet CPDMA.
Definition: enet_cpdma.h:413
EnetDma_PktNotifyCb notifyCb
Definition: enet_cpdma.h:349
uint8_t * bufPtr
Definition: enet_cpdma.h:195
uint32_t txInterruptPerMSec
Definition: enet_cpdma.h:415
uint32_t chNum
Definition: enet_cpdma.h:345
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:353
uint32_t maxRxChannels
Definition: enet_cpdma.h:434
Transmit Packet scatter gather list entry.
Definition: enet_cpdma.h:193
uint32_t numRxPkts
Definition: enet_cpdma.h:380
CPPI buffer timestamp info.
Definition: enet_cpdma.h:167
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:392
EnetDma_PktNotifyCb notifyCb
Definition: enet_cpdma.h:376
int32_t EnetCpdma_rxThreshIsr(EnetDma_Handle hEnetDma)
ENET CPDMA Rx Threshold interrupt service routine.
bool enChOverrideFlag
Definition: enet_cpdma.h:425
void * cbArg
Definition: enet_cpdma.h:357
Enet_MacPort rxPortNum
Definition: enet_cpdma.h:311
uint32_t segmentFilledLen
Definition: enet_cpdma.h:198
Enet_Type
Ethernet peripheral type.
Definition: enet_types.h:199
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:318
uint8_t txPktMsgType
Definition: enet_cpdma.h:175
int32_t EnetCpdma_close(EnetDma_Handle hEnetDma)
Close Enet DMA (data path).
This file contains the type definitions and helper macros for the Enet Peripheral interface.
Transmit packet scatter list info.
Definition: enet_cpdma.h:218
uint32_t pktState
Definition: enet_cpdma.h:273
Config structure for Enet CPDMA Data Path initialization.
Definition: enet_cpdma.h:444
uint32_t rxBufferOffset
Definition: enet_cpdma.h:403
void * cbArg
Definition: enet_cpdma.h:384
void * appPriv
Definition: enet_cpdma.h:266
EnetCpdma_SGListEntry EnetDma_SGListEntry
Definition: enet_cpdma.h:228
EnetCpdma_RxChInitPrms rxChInitPrms
Definition: enet_cpdma.h:428
Param struct for the RX channel open function.
Definition: enet_cpdma.h:367
uint32_t numScatterSegments
Definition: enet_cpdma.h:223
EnetCpdma_PktTsInfo tsInfo
Definition: enet_cpdma.h:295
bool enableHostTxTs
Definition: enet_cpdma.h:169
uint64_t rxPktTs
Definition: enet_cpdma.h:181
struct Enet_Obj_s * Enet_Handle
Ethernet driver handle.
Definition: enet_base.h:105
Param struct for the TX channel open function.
Definition: enet_cpdma.h:340
int32_t EnetCpdma_rxIsr(EnetDma_Handle hEnetDma)
ENET CPDMA Rx interrupt service routine.