NUC472_NUC442_BSP V3.03.004
The Board Support Package for NUC472/NUC442
Macros | Functions | Variables
emac.h File Reference

NUC472/NUC442 EMAC driver header file. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define EMAC_PHY_ADDR   1
 PHY address, this address is board dependent. More...
 
#define EMAC_RX_DESC_SIZE   4
 Number of Rx Descriptors, should be 2 at least. More...
 
#define EMAC_TX_DESC_SIZE   4
 Number of Tx Descriptors, should be 2 at least. More...
 
#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_MII_INTF()
 Enable EMAC MII interface. 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...
 

Functions

int32_t EMAC_Open (uint8_t *pu8MacAddr)
 Initialize EMAC interface, including descriptors, MAC address, and PHY. More...
 
void 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...
 

Variables

int32_t g_EMAC_i32ErrCode
 

Detailed Description

NUC472/NUC442 EMAC driver header file.

Version
V1.00
Revision
9
Date
14/05/29 1:13p
Note
SPDX-License-Identifier: Apache-2.0 Copyright (C) 2013 Nuvoton Technology Corp. All rights reserved.

Definition in file emac.h.