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 | |
#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... | |
#define ENET_CPDMA_CPSW_MAX_TX_CH (8U) |
Maximum number of CPSW TX DMA channels.
#define ENET_CPDMA_CPSW_MAX_RX_CH (8U) |
Maximum number of CPSW RX DMA channels.
#define ENET_CPDMA_CPSW_MAX_SG_LIST (4U) |
Maximum number of scatter gather segements supported in a packet
#define ENET_CPDMA_CSUM_START_BYTE_SHIFT (16U) |
Utilities to read the ChksumInfo fields
#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) |
typedef struct EnetCpdma_Cfg_s EnetDma_Cfg |
Opaque handle that holds config Info for Enet DMA channel.
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.
EnetDma_Handle EnetCpdma_open | ( | Enet_Type | enetType, |
uint32_t | instId, | ||
const void * | dmaCfg, | ||
uint32_t | appCoreId | ||
) |
Set default data path 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 |
Enet | DMA handle if opened. Otherwise, NULL. |
EnetDma_Handle EnetCpdma_restoreCtxt | ( | Enet_Type | enetType, |
uint32_t | instId, | ||
uint32_t | appCoreId | ||
) |
Open DMA with default data path parameters.
enetType | [IN] Enet Peripheral type |
instId | [IN] Enet Peripheral instance id |
appCoreId | [IN] Application core Id |
Enet | DMA handle if opened. Otherwise, NULL. |
int32_t EnetCpdma_close | ( | EnetDma_Handle | hEnetDma | ) |
int32_t EnetCpdma_saveCtxt | ( | EnetDma_Handle | hEnetDma | ) |
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:
hEnetDma | [IN] Enet DMA Handle |
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:
hEnetDma | [IN] Enet DMA Handle |
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:
hEnetDma | [IN] Enet DMA Handle |
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:
hEnetDma | [IN] Enet DMA Handle |
pStatusMask | [IN] pointer to the interrupt status bit mask |
int32_t EnetCpdma_ackMiscIsr | ( | EnetDma_Handle | hEnetDma | ) |
EnetCpdma_ackMiscIsr
CPSW CPDMA Miscellaneous ISR ACK.
[in] | hEnetDma |
ENET_SOK |
void EnetCpdma_initParams | ( | Enet_Type | enetType, |
EnetDma_Cfg * | pDmaConfig | ||
) |
Initialize CPDMA config params.
Initialize CPDMA config params to default values
Requirement:
enetType | [IN] Enet Type |
pDmaConfig | [IN] pointer to the config structure |