AM263Px MCU+ SDK  10.01.00

Introduction

Sub Modules

 CPDMA Configuration
 
 CPDMA Packet Definitions
 

Functions

EnetDma_Handle EnetCpdma_open (Enet_Type enetType, uint32_t instId, const void *dmaCfg, uint32_t appCoreId)
 Set default data path parameters. More...
 
EnetDma_Handle EnetCpdma_restoreCtxt (Enet_Type enetType, uint32_t instId, uint32_t appCoreId)
 Open DMA with default data path parameters. More...
 
int32_t EnetCpdma_close (EnetDma_Handle hEnetDma)
 Close Enet DMA (data path). More...
 
int32_t EnetCpdma_saveCtxt (EnetDma_Handle hEnetDma)
 Saves and closes Enet DMA (data path). More...
 
int32_t EnetCpdma_rxThreshIsr (EnetDma_Handle hEnetDma)
 ENET CPDMA Rx Threshold interrupt service routine. More...
 
int32_t EnetCpdma_rxIsr (EnetDma_Handle hEnetDma)
 ENET CPDMA Rx interrupt service routine. More...
 
int32_t EnetCpdma_txIsr (EnetDma_Handle hEnetDma)
 ENET CPDMA Tx interrupt service routine. More...
 
int32_t EnetCpdma_miscIsrGetStatus (EnetDma_Handle hEnetDma, uint32_t *pStatusMask)
 ENET CPDMA Miscellaneous interrupt service routine. More...
 
int32_t EnetCpdma_ackMiscIsr (EnetDma_Handle hEnetDma)
 
void EnetCpdma_initParams (Enet_Type enetType, EnetDma_Cfg *pDmaConfig)
 Initialize CPDMA config params. More...
 

Macros

#define ENET_CPDMA_CPSW_MAX_SG_LIST   (4U)
 
#define ENET_CPDMA_CSUM_START_BYTE_SHIFT   (16U)
 
#define ENET_CPDMA_CSUM_START_BYTE_MASK   (((uint32_t) 0xFFU) << ENET_CPDMA_CSUM_START_BYTE_SHIFT)
 
#define ENET_CPDMA_CSUM_RESULT_BYTE_SHIFT   (24U)
 
#define ENET_CPDMA_CSUM_RESULT_BYTE_MASK   (((uint32_t) 0xFFU) << ENET_CPDMA_CSUM_RESULT_BYTE_SHIFT)
 
#define ENET_CPDMA_CSUM_BYTE_COUNT_SHIFT   (0U)
 
#define ENET_CPDMA_CSUM_BYTE_COUNT_MASK   (((uint32_t) 0x3FFU) << ENET_CPDMA_CSUM_BYTE_COUNT_SHIFT)
 
#define ENET_CPDMA_GET_CSUM_RESULT_BYTE(chkSumInfo)    ENET_FEXT(chkSumInfo, ENET_CPDMA_CSUM_RESULT_BYTE)
 
#define ENET_CPDMA_GET_CSUM_START_BYTE(chkSumInfo)    ENET_FEXT(chkSumInfo, ENET_CPDMA_CSUM_START_BYTE)
 
#define ENET_CPDMA_GET_CSUM_BYTE_COUNT(chkSumInfo)    ENET_FEXT(chkSumInfo, ENET_CPDMA_CSUM_BYTE_COUNT)
 

Enet CPDMA instance configuration

Configuration macros for Enet CPDMA module.

#define ENET_CPDMA_CPSW_MAX_TX_CH   (8U)
 Maximum number of CPSW TX DMA channels. More...
 
#define ENET_CPDMA_CPSW_MAX_RX_CH   (8U)
 Maximum number of CPSW RX DMA channels. More...
 

Enet DMA driver opaque handles

Enet DMA configuration structure.

Opaque handle typedefs for Enet DMA driver objects.

typedef struct EnetCpdma_Cfg_s EnetDma_Cfg
 Opaque handle that holds config Info for Enet DMA channel. More...
 
typedef void(* EnetDma_PktNotifyCb) (void *cbArg)
 Function pointer type for packet notify call back. More...
 

Macro Definition Documentation

◆ ENET_CPDMA_CPSW_MAX_TX_CH

#define ENET_CPDMA_CPSW_MAX_TX_CH   (8U)

Maximum number of CPSW TX DMA channels.

◆ ENET_CPDMA_CPSW_MAX_RX_CH

#define ENET_CPDMA_CPSW_MAX_RX_CH   (8U)

Maximum number of CPSW RX DMA channels.

◆ ENET_CPDMA_CPSW_MAX_SG_LIST

#define ENET_CPDMA_CPSW_MAX_SG_LIST   (4U)

Maximum number of scatter gather segements supported in a packet

◆ ENET_CPDMA_CSUM_START_BYTE_SHIFT

#define ENET_CPDMA_CSUM_START_BYTE_SHIFT   (16U)

Utilities to read the ChksumInfo fields

◆ ENET_CPDMA_CSUM_START_BYTE_MASK

#define ENET_CPDMA_CSUM_START_BYTE_MASK   (((uint32_t) 0xFFU) << ENET_CPDMA_CSUM_START_BYTE_SHIFT)

◆ ENET_CPDMA_CSUM_RESULT_BYTE_SHIFT

#define ENET_CPDMA_CSUM_RESULT_BYTE_SHIFT   (24U)

◆ ENET_CPDMA_CSUM_RESULT_BYTE_MASK

#define ENET_CPDMA_CSUM_RESULT_BYTE_MASK   (((uint32_t) 0xFFU) << ENET_CPDMA_CSUM_RESULT_BYTE_SHIFT)

◆ ENET_CPDMA_CSUM_BYTE_COUNT_SHIFT

#define ENET_CPDMA_CSUM_BYTE_COUNT_SHIFT   (0U)

◆ ENET_CPDMA_CSUM_BYTE_COUNT_MASK

#define ENET_CPDMA_CSUM_BYTE_COUNT_MASK   (((uint32_t) 0x3FFU) << ENET_CPDMA_CSUM_BYTE_COUNT_SHIFT)

◆ ENET_CPDMA_GET_CSUM_RESULT_BYTE

#define ENET_CPDMA_GET_CSUM_RESULT_BYTE (   chkSumInfo)     ENET_FEXT(chkSumInfo, ENET_CPDMA_CSUM_RESULT_BYTE)

◆ ENET_CPDMA_GET_CSUM_START_BYTE

#define ENET_CPDMA_GET_CSUM_START_BYTE (   chkSumInfo)     ENET_FEXT(chkSumInfo, ENET_CPDMA_CSUM_START_BYTE)

◆ ENET_CPDMA_GET_CSUM_BYTE_COUNT

#define ENET_CPDMA_GET_CSUM_BYTE_COUNT (   chkSumInfo)     ENET_FEXT(chkSumInfo, ENET_CPDMA_CSUM_BYTE_COUNT)

Typedef Documentation

◆ EnetDma_Cfg

typedef struct EnetCpdma_Cfg_s EnetDma_Cfg

Opaque handle that holds config Info for Enet DMA channel.

◆ EnetDma_PktNotifyCb

typedef void(* EnetDma_PktNotifyCb) (void *cbArg)

Function pointer type for packet notify call back.

This is called by driver when packet is received on the RX channel or transmission completed from TX channel.

Function Documentation

◆ EnetCpdma_open()

EnetDma_Handle EnetCpdma_open ( Enet_Type  enetType,
uint32_t  instId,
const void *  dmaCfg,
uint32_t  appCoreId 
)

Set default data path parameters.

Parameters
enetType[IN] Enet Peripheral type
instId[IN] Enet Peripheral instance id
dmaCfg[IN] DMA module (data path) configuration pointer.
appCoreId[IN] Application core Id
Return values
EnetDMA handle if opened. Otherwise, NULL.

◆ EnetCpdma_restoreCtxt()

EnetDma_Handle EnetCpdma_restoreCtxt ( Enet_Type  enetType,
uint32_t  instId,
uint32_t  appCoreId 
)

Open DMA with default data path parameters.

Parameters
enetType[IN] Enet Peripheral type
instId[IN] Enet Peripheral instance id
appCoreId[IN] Application core Id
Return values
EnetDMA handle if opened. Otherwise, NULL.

◆ EnetCpdma_close()

int32_t EnetCpdma_close ( EnetDma_Handle  hEnetDma)

Close Enet DMA (data path).

Parameters
hEnetDma[IN] DMA handle
Returns
Enet_ErrorCodes

◆ EnetCpdma_saveCtxt()

int32_t EnetCpdma_saveCtxt ( EnetDma_Handle  hEnetDma)

Saves and closes Enet DMA (data path).

Parameters
hEnetDma[IN] DMA handle
Returns
Enet_ErrorCodes

◆ EnetCpdma_rxThreshIsr()

int32_t EnetCpdma_rxThreshIsr ( EnetDma_Handle  hEnetDma)

ENET CPDMA Rx Threshold interrupt service routine.

Processes Rx Threshold interrupt. This function retrieves the received packets from the linked CPPI descriptors and passes them to the receive queue when the number of received descriptors exceed the threshold

Requirement:

Parameters
hEnetDma[IN] Enet DMA Handle
Returns
Enet_ErrorCodes

◆ EnetCpdma_rxIsr()

int32_t EnetCpdma_rxIsr ( EnetDma_Handle  hEnetDma)

ENET CPDMA Rx interrupt service routine.

Processes Rx interrupt. This function retrieves the received packets from the linked CPPI descriptors and passes them to the receive queue when one or more packets has been received

Requirement:

Parameters
hEnetDma[IN] Enet DMA Handle
Returns
Enet_ErrorCodes

◆ EnetCpdma_txIsr()

int32_t EnetCpdma_txIsr ( EnetDma_Handle  hEnetDma)

ENET CPDMA Tx interrupt service routine.

Processes Tx interrupt. This function retrieves the completed Tx packets from the linked CPPI descriptors and passes them to the free queue when one or more packets have been transmitted.

Requirement:

Parameters
hEnetDma[IN] Enet DMA Handle
Returns
Enet_ErrorCodes

◆ EnetCpdma_miscIsrGetStatus()

int32_t EnetCpdma_miscIsrGetStatus ( EnetDma_Handle  hEnetDma,
uint32_t *  pStatusMask 
)

ENET CPDMA Miscellaneous interrupt service routine.

Processes Miscellaneous interrupt. This function extracts the intrrupt status bit masks from MMR and pass it to the caller to process all masked interrupts.

Requirement:

Parameters
hEnetDma[IN] Enet DMA Handle
pStatusMask[IN] pointer to the interrupt status bit mask
Returns
Enet_ErrorCodes

◆ EnetCpdma_ackMiscIsr()

int32_t EnetCpdma_ackMiscIsr ( EnetDma_Handle  hEnetDma)

EnetCpdma_ackMiscIsr
CPSW CPDMA Miscellaneous ISR ACK.

Parameters
[in]hEnetDma
Return values
ENET_SOK

◆ EnetCpdma_initParams()

void EnetCpdma_initParams ( Enet_Type  enetType,
EnetDma_Cfg pDmaConfig 
)

Initialize CPDMA config params.

Initialize CPDMA config params to default values

Requirement:

Parameters
enetType[IN] Enet Type
pDmaConfig[IN] pointer to the config structure