M480 BSP V3.05.006
The Board Support Package for M480 Series
Macros | Functions | Variables
emac.h File Reference

M480 EMAC driver header file. More...

#include <stdint.h>

Go to the source code of this file.

Macros

#define EMAC_PHY_ADDR
 
#define EMAC_RX_DESC_SIZE
 
#define EMAC_TX_DESC_SIZE
 
#define EMAC_CAMENTRY_NB
 
#define EMAC_MAX_PKT_SIZE
 
#define EMAC_LINK_DOWN
 
#define EMAC_LINK_100F
 
#define EMAC_LINK_100H
 
#define EMAC_LINK_10F
 
#define EMAC_LINK_10H
 
#define EMAC_TIMEOUT_ERR
 
#define EMAC_BUS_ERR
 
#define EMAC_ENABLE_TX()
 Enable EMAC Tx function. More...
 
#define EMAC_ENABLE_RX()
 Enable EMAC Rx function. More...
 
#define EMAC_DISABLE_TX()
 Disable EMAC Tx function. More...
 
#define EMAC_DISABLE_RX()
 Disable EMAC Rx function. More...
 
#define EMAC_ENABLE_MAGIC_PKT_WAKEUP()
 Enable EMAC Magic Packet Wakeup function. More...
 
#define EMAC_DISABLE_MAGIC_PKT_WAKEUP()
 Disable EMAC Magic Packet Wakeup function. More...
 
#define EMAC_ENABLE_RECV_BCASTPKT()
 Enable EMAC to receive broadcast packets. More...
 
#define EMAC_DISABLE_RECV_BCASTPKT()
 Disable EMAC to receive broadcast packets. More...
 
#define EMAC_ENABLE_RECV_MCASTPKT()
 Enable EMAC to receive multicast packets. More...
 
#define EMAC_DISABLE_RECV_MCASTPKT()
 Disable EMAC Magic Packet Wakeup function. More...
 
#define EMAC_GET_ALARM_FLAG()
 Check if EMAC time stamp alarm interrupt occurred or not. More...
 
#define EMAC_CLR_ALARM_FLAG()
 Clear EMAC time stamp alarm interrupt flag. More...
 
#define EMAC_TRIGGER_RX()   do{EMAC->RXST = 0UL;}while(0)
 Trigger EMAC Rx function. More...
 
#define EMAC_TRIGGER_TX()   do{EMAC->TXST = 0UL;}while(0)
 Trigger EMAC Tx function. More...
 
#define EMAC_ENABLE_INT(emac, u32eIntSel)
 Enable specified EMAC interrupt. More...
 
#define EMAC_DISABLE_INT(emac, u32eIntSel)
 Disable specified EMAC interrupt. More...
 
#define EMAC_GET_INT_FLAG(emac, u32eIntTypeFlag)
 Get specified interrupt flag/status. More...
 
#define EMAC_CLEAR_INT_FLAG(emac, u32eIntTypeFlag)
 Clear specified interrupt flag/status. More...
 

Functions

void EMAC_Open (uint8_t *pu8MacAddr)
 Initialize EMAC interface, including descriptors, MAC address, and PHY. More...
 
int32_t EMAC_Close (void)
 This function stop all receive and transmit activity and disable MAC interface. More...
 
void EMAC_SetMacAddr (uint8_t *pu8MacAddr)
 Set the device MAC address. More...
 
void EMAC_EnableCamEntry (uint32_t u32Entry, uint8_t pu8MacAddr[])
 Fill a CAM entry for MAC address comparison. More...
 
void EMAC_DisableCamEntry (uint32_t u32Entry)
 Disable a specified CAM entry. More...
 
uint32_t EMAC_RecvPkt (uint8_t *pu8Data, uint32_t *pu32Size)
 Receive an Ethernet packet. More...
 
uint32_t EMAC_RecvPktTS (uint8_t *pu8Data, uint32_t *pu32Size, uint32_t *pu32Sec, uint32_t *pu32Nsec)
 Receive an Ethernet packet and the time stamp while it's received. More...
 
void EMAC_RecvPktDone (void)
 Clean up process after a packet is received. More...
 
uint32_t EMAC_SendPkt (uint8_t *pu8Data, uint32_t u32Size)
 Send an Ethernet packet. More...
 
uint32_t EMAC_SendPktDone (void)
 Clean up process after packet(s) are sent. More...
 
uint32_t EMAC_SendPktDoneTS (uint32_t *pu32Sec, uint32_t *pu32Nsec)
 Clean up process after a packet is sent, and get the time stamp while packet is sent. More...
 
void EMAC_EnableTS (uint32_t u32Sec, uint32_t u32Nsec)
 Enable IEEE1588 time stamp function and set current time. More...
 
void EMAC_DisableTS (void)
 Disable IEEE1588 time stamp function. More...
 
void EMAC_GetTime (uint32_t *pu32Sec, uint32_t *pu32Nsec)
 Get current time stamp. More...
 
void EMAC_SetTime (uint32_t u32Sec, uint32_t u32Nsec)
 Set current time stamp. More...
 
void EMAC_UpdateTime (uint32_t u32Neg, uint32_t u32Sec, uint32_t u32Nsec)
 Add a offset to current time. More...
 
void EMAC_EnableAlarm (uint32_t u32Sec, uint32_t u32Nsec)
 Enable alarm function and set alarm time. More...
 
void EMAC_DisableAlarm (void)
 Disable alarm function. More...
 
uint32_t EMAC_CheckLinkStatus (void)
 Check Ethernet link status. More...
 
int32_t EMAC_PhyInit (void)
 
int32_t EMAC_FillCamEntry (uint8_t pu8MacAddr[])
 Fill a MAC address to list and enable. More...
 
uint8_t * EMAC_ClaimFreeTXBuf (void)
 Get avaiable TX buffer address. More...
 
uint32_t EMAC_GetAvailRXBufSize (void)
 Get data length of avaiable RX buffer. More...
 
uint32_t EMAC_SendPktWoCopy (uint32_t u32Size)
 Send an Ethernet packet. More...
 
void EMAC_RecvPktDoneWoRxTrigger (void)
 Clean up process after a packet is received. More...
 

Variables

int32_t g_EMAC_i32ErrCode
 

Detailed Description

M480 EMAC driver header file.

Version
V1.00

SPDX-License-Identifier: Apache-2.0

Definition in file emac.h.