![]() |
NUC472_NUC442_BSP V3.03.004
The Board Support Package for NUC472/NUC442
|
Macros | |
#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... | |
#define EMAC_CLR_ALARM_FLAG | ( | ) |
#define EMAC_DISABLE_MAGIC_PKT_WAKEUP | ( | ) |
#define EMAC_DISABLE_RECV_BCASTPKT | ( | ) |
#define EMAC_DISABLE_RECV_MCASTPKT | ( | ) |
#define EMAC_DISABLE_RX | ( | ) |
#define EMAC_DISABLE_TX | ( | ) |
#define EMAC_ENABLE_MAGIC_PKT_WAKEUP | ( | ) |
#define EMAC_ENABLE_MII_INTF | ( | ) |
#define EMAC_ENABLE_RECV_BCASTPKT | ( | ) |
#define EMAC_ENABLE_RECV_MCASTPKT | ( | ) |
#define EMAC_ENABLE_RX | ( | ) |
#define EMAC_ENABLE_TX | ( | ) |
#define EMAC_GET_ALARM_FLAG | ( | ) |
void EMAC_Close | ( | void | ) |
void EMAC_DisableAlarm | ( | void | ) |
void EMAC_DisableCamEntry | ( | uint32_t | u32Entry | ) |
void EMAC_DisableTS | ( | void | ) |
void EMAC_EnableAlarm | ( | uint32_t | u32Sec, |
uint32_t | u32Nsec | ||
) |
void EMAC_EnableCamEntry | ( | uint32_t | u32Entry, |
uint8_t * | pu8MacAddr | ||
) |
Fill a CAM entry for MAC address comparison.
[in] | u32Entry | MAC entry to fill. Entry 0 is used to store device MAC address, do not overwrite the setting in it. |
[in] | pu8MacAddr | Pointer to uint8_t array holds MAC address |
Definition at line 478 of file emac.c.
void EMAC_EnableTS | ( | uint32_t | u32Sec, |
uint32_t | u32Nsec | ||
) |
void EMAC_GetTime | ( | uint32_t * | pu32Sec, |
uint32_t * | pu32Nsec | ||
) |
int32_t EMAC_Open | ( | uint8_t * | pu8MacAddr | ) |
Initialize EMAC interface, including descriptors, MAC address, and PHY.
[in] | pu8MacAddr | Pointer to uint8_t array holds MAC address |
0 | success |
EMAC_TIMEOUT_ERR | Initial PHY and auto-negotiation failed due to timeout error |
Definition at line 417 of file emac.c.
uint32_t EMAC_RecvPkt | ( | uint8_t * | pu8Data, |
uint32_t * | pu32Size | ||
) |
Receive an Ethernet packet.
[in] | pu8Data | Pointer to a buffer to store received packet (4 byte CRC removed) |
[in] | pu32Size | Received packet size (without 4 byte CRC). |
0 | No packet available for receive |
1 | A packet is received |
EMAC_BUS_ERR | Bus error |
void EMAC_RecvPktDone | ( | void | ) |
Clean up process after a packet is received.
None |
EMAC Rx interrupt service routine must call this API to release the resource use by receive process
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.
[out] | pu8Data | Pointer to a buffer to store received packet (4 byte CRC removed) |
[out] | pu32Size | Received packet size (without 4 byte CRC). |
[out] | pu32Sec | Second value while packet sent |
[out] | pu32Nsec | Nano second value while packet sent |
0 | No packet available for receive |
1 | A packet is received |
EMAC_BUS_ERR | Bus error |
uint32_t EMAC_SendPkt | ( | uint8_t * | pu8Data, |
uint32_t | u32Size | ||
) |
Send an Ethernet packet.
[in] | pu8Data | Pointer to a buffer holds the packet to transmit |
[in] | u32Size | Packet size (without 4 byte CRC). |
0 | Transmit failed due to descriptor unavailable. |
1 | Packet is copied to descriptor and triggered to transmit. |
uint32_t EMAC_SendPktDone | ( | void | ) |
Clean up process after packet(s) are sent.
None |
EMAC_BUS_ERR | Bus error |
Otherwise | Number of packet sent between two function calls |
EMAC Tx interrupt service routine must call this API or EMAC_SendPktDoneTS to release the resource use by transmit process
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.
[in] | pu32Sec | Second value while packet sent |
[in] | pu32Nsec | Nano second value while packet sent |
0 | No packet sent successfully, and the value in *pu32Sec and *pu32Nsec are meaningless |
1 | A packet sent successfully, and the value in *pu32Sec and *pu32Nsec is the time stamp while packet sent |
EMAC_BUS_ERR | Bus error |
EMAC Tx interrupt service routine must call this API or EMAC_SendPktDone to release the resource use by transmit process
void EMAC_SetMacAddr | ( | uint8_t * | pu8MacAddr | ) |
void EMAC_SetTime | ( | uint32_t | u32Sec, |
uint32_t | u32Nsec | ||
) |
void EMAC_UpdateTime | ( | uint32_t | u32Neg, |
uint32_t | u32Sec, | ||
uint32_t | u32Nsec | ||
) |