SAMV71 Xplained Ultra Software Package 1.4

gmacd.c File Reference

#include "chip.h"
#include <string.h>

Go to the source code of this file.

Defines

#define GMAC_CACHE
#define GMAC_CACHE_COHERENCE   {SCB_CleanInvalidateDCache();}
#define GCIRC_CNT(head, tail, size)   fixed_mod((head) - (tail), (size))
#define GCIRC_SPACE(head, tail, size)   GCIRC_CNT((tail),((head)+1),(size))
#define GCIRC_CNT_TO_END(head, tail, size)
#define GCIRC_SPACE_TO_END(head, tail, size)
#define GCIRC_INC(headortail, size)
#define GCIRC_EMPTY(head, tail)   (head == tail)
#define GCIRC_CLEAR(head, tail)   (head = tail = 0)

Functions

__STATIC_INLINE int fixed_mod (int a, int b)
void GMACD_TxPtpEvtMsgCBRegister (sGmacd *pGmacd, fGmacdTxPtpEvtCallBack pTxPtpEvtCb, gmacQueList_t queIdx)
void GMACD_Handler (sGmacd *pGmacd, gmacQueList_t queIdx)
 GMAC Interrupt handler.
void GMACD_Init (sGmacd *pGmacd, Gmac *pHw, uint8_t bID, uint8_t enableCAF, uint8_t enableNBC)
 Initialize the GMAC with the Gmac controller address.
uint8_t GMACD_InitTransfer (sGmacd *pGmacd, const sGmacInit *pInit, gmacQueList_t queIdx)
void GMACD_Reset (sGmacd *pGmacd)
uint8_t GMACD_SendSG (sGmacd *pGmacd, const sGmacSGList *sgl, fGmacdTransferCallback fTxCb, gmacQueList_t queIdx)
 Send a frame split into buffers. If the frame size is larger than transfer buffer size error returned. If frame transfer status is monitored, specify callback for each frame.
uint8_t GMACD_Send (sGmacd *pGmacd, void *pBuffer, uint32_t size, fGmacdTransferCallback fTxCb, gmacQueList_t queIdx)
 Send a packet with GMAC. If the packet size is larger than transfer buffer size error returned. If packet transfer status is monitored, specify callback for each packet.
uint32_t GMACD_TxLoad (sGmacd *pGmacd, gmacQueList_t queIdx)
uint8_t GMACD_Poll (sGmacd *pGmacd, uint8_t *pFrame, uint32_t frameSize, uint32_t *pRcvSize, gmacQueList_t queIdx)
 Receive a packet with GMAC. If not enough buffer for the packet, the remaining data is lost but right frame length is returned.
void GMACD_SetRxCallback (sGmacd *pGmacd, fGmacdTransferCallback fRxCb, gmacQueList_t queIdx)
 Registers pRxCb callback. Callback will be invoked after the next received frame. When GMAC_Poll() returns GMAC_RX_NO_DATA the application task call GMAC_Set_RxCb() to register pRxCb() callback and enters suspend state. The callback is in charge to resume the task once a new frame has been received. The next time GMAC_Poll() is called, it will be successful.
uint8_t GMACD_SetTxWakeupCallback (sGmacd *pGmacd, fGmacdWakeupCallback fWakeup, uint8_t bThreshold, gmacQueList_t queIdx)

Variables

uint8_t ptpTxQueWriteIdx = 0u
uint8_t ptpTxQueReadIdx = 0u
ptpMsgType gPtpMsgTxQue [EFRS_BUFFER_LEN]
uint16_t gPtpMsgTxSeqId [EFRS_BUFFER_LEN]
const uint32_t isrMasks []

Detailed Description

Definition in file gmacd.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines