RTEMS: bsps/arm/atsam/include/libchip/include/gmac.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
gmac.h File Reference
`#include "chip.h"`
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures
struct | _GmacRxDescriptor
union | _GmacRxDescriptor::_GmacRxAddr
struct | _GmacRxDescriptor::_GmacRxAddr::_GmacRxAddrBM
union | _GmacRxDescriptor::_GmacRxStatus
struct | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM
struct | _GmacTxDescriptor
union | _GmacTxDescriptor::_GmacTxStatus
struct | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM

## Macros
#define | NUM_GMAC_QUEUES 3
#define | GMAC_DUPLEX_HALF 0
| Board GMAC base address.
#define | GMAC_DUPLEX_FULL 1
#define | GMAC_SPEED_10M 0
#define | GMAC_SPEED_100M 1
#define | GMAC_SPEED_1000M 2
#define | GMAC_ADDRESS_MASK ((unsigned int)0xFFFFFFFC)
#define | GMAC_LENGTH_FRAME ((unsigned int)0x3FFF)
#define | GMAC_RX_OWNERSHIP_BIT (1u << 0)
#define | GMAC_RX_WRAP_BIT (1u << 1)
#define | GMAC_RX_SOF_BIT (1u << 14)
#define | GMAC_RX_EOF_BIT (1u << 15)
#define | GMAC_TX_LAST_BUFFER_BIT (1u << 15)
#define | GMAC_TX_WRAP_BIT (1u << 30)
#define | GMAC_TX_USED_BIT (1u << 31)
#define | GMAC_TX_RLE_BIT (1u << 29)
#define | GMAC_TX_UND_BIT (1u << 28)
#define | GMAC_TX_ERR_BIT (1u << 27)
#define | GMAC_TX_ERR_BITS (GMAC_TX_RLE_BIT | GMAC_TX_UND_BIT | GMAC_TX_ERR_BIT)
#define | GMAC_INT_RX_BITS (GMAC_IER_RCOMP | GMAC_IER_RXUBR | GMAC_IER_ROVR)
#define | GMAC_INT_TX_ERR_BITS (GMAC_IER_TUR | GMAC_IER_RLEX | GMAC_IER_TFC | GMAC_IER_HRESP)
#define | GMAC_INT_TX_BITS (GMAC_INT_TX_ERR_BITS | GMAC_IER_TCOMP)
#define | GMAC_INT_RX_STATUS_BITS (GMAC_ISR_RCOMP | GMAC_ISR_RXUBR | GMAC_ISR_ROVR)
#define | GMAC_INT_TX_STATUS_ERR_BITS (GMAC_ISR_TUR | GMAC_ISR_RLEX | GMAC_ISR_TFC | GMAC_ISR_HRESP)
#define | GMAC_RXDESC_ST_CKSUM_RESULT_NOT_CHECKED (0)
#define | GMAC_RXDESC_ST_CKSUM_RESULT_IP_CHECKED (1)
#define | GMAC_RXDESC_ST_CKSUM_RESULT_IP_AND_TCP_CHECKED (2)
#define | GMAC_RXDESC_ST_CKSUM_RESULT_IP_AND_UDP_CHECKED (3)

## Typedefs
typedef struct _GmacRxDescriptor | sGmacRxDescriptor
typedef struct _GmacTxDescriptor | sGmacTxDescriptor

## Enumerations
enum | gmacQueList_t { GMAC_QUE_0 = 0 , GMAC_QUE_1 = 1 , GMAC_QUE_2 = 2 }

## Functions
uint8_t | GMAC_IsIdle (Gmac *pGmac)
void | GMAC_PHYMaintain (Gmac *pGmac, uint8_t bPhyAddr, uint8_t bRegAddr, uint8_t bRW, uint16_t wData)
uint16_t | GMAC_PHYData (Gmac *pGmac)
void | GMAC_ClearStatistics (Gmac *pGmac)
void | GMAC_IncreaseStatistics (Gmac *pGmac)
void | GMAC_StatisticsWriteEnable (Gmac *pGmac, uint8_t bEnaDis)
uint8_t | GMAC_SetMdcClock (Gmac *pGmac, uint32_t mck)
| Set MDC clock according to current board clock. Per 802.3, MDC should be less then 2.5MHz.
void | GMAC_EnableMdio (Gmac *pGmac)
| Enable MDI with PHY.
void | GMAC_DisableMdio (Gmac *pGmac)
| Enable MDI with PHY.
void | GMAC_EnableMII (Gmac *pGmac)
| Enable MII mode for GMAC, called once after auto negotiate.
void | GMAC_EnableRMII (Gmac *pGmac)
void | GMAC_EnableGMII (Gmac *pGmac)
| Enable GMII mode for GMAC, called once after auto negotiate.
void | GMAC_SetLinkSpeed (Gmac *pGmac, uint8_t speed, uint8_t fullduplex)
| Setup the GMAC for the link : speed 100M/10M and Full/Half duplex.
void | GMAC_EnableIt (Gmac *pGmac, uint32_t dwSources, gmacQueList_t queueIdx)
void | GMAC_EnableAllQueueIt (Gmac *pGmac, uint32_t dwSources)
void | GMAC_DisableIt (Gmac *pGmac, uint32_t dwSources, gmacQueList_t queueIdx)
void | GMAC_DisableAllQueueIt (Gmac *pGmac, uint32_t dwSources)
uint32_t | GMAC_GetItStatus (Gmac *pGmac, gmacQueList_t queueIdx)
uint32_t | GMAC_GetItMask (Gmac *pGmac, gmacQueList_t queueIdx)
uint32_t | GMAC_GetTxStatus (Gmac *pGmac)
void | GMAC_ClearTxStatus (Gmac *pGmac, uint32_t dwStatus)
uint32_t | GMAC_GetRxStatus (Gmac *pGmac)
void | GMAC_ClearRxStatus (Gmac *pGmac, uint32_t dwStatus)
void | GMAC_ReceiveEnable (Gmac *pGmac, uint8_t bEnaDis)
void | GMAC_TransmitEnable (Gmac *pGmac, uint8_t bEnaDis)
uint32_t | GMAC_SetLocalLoopBack (Gmac *pGmac)
| set local loop back
void | GMAC_SetRxQueue (Gmac *pGmac, uint32_t dwAddr, gmacQueList_t queueIdx)
uint32_t | GMAC_GetRxQueue (Gmac *pGmac, gmacQueList_t queueIdx)
void | GMAC_SetTxQueue (Gmac *pGmac, uint32_t dwAddr, gmacQueList_t queueIdx)
uint32_t | GMAC_GetTxQueue (Gmac *pGmac, gmacQueList_t queueIdx)
void | GMAC_NetworkControl (Gmac *pGmac, uint32_t bmNCR)
uint32_t | GMAC_GetNetworkControl (Gmac *pGmac)
void | GMAC_SetAddress (Gmac *pGmac, uint8_t bIndex, uint8_t *pMacAddr)
void | GMAC_SetAddress32 (Gmac *pGmac, uint8_t bIndex, uint32_t dwMacT, uint32_t dwMacB)
void | GMAC_SetAddress64 (Gmac *pGmac, uint8_t bIndex, uint64_t ddwMac)
void | GMAC_Configure (Gmac *pGmac, uint32_t dwCfg)
void | GMAC_SetDMAConfig (Gmac *pGmac, uint32_t dwDmaCfg, gmacQueList_t queueIdx)
uint32_t | GMAC_GetDMAConfig (Gmac *pGmac, gmacQueList_t queueIdx)
uint32_t | GMAC_GetConfigure (Gmac *pGmac)
void | GMAC_TransmissionStart (Gmac *pGmac)
void | GMAC_TransmissionHalt (Gmac *pGmac)
void | GMAC_EnableRGMII (Gmac *pGmac, uint32_t duplex, uint32_t speed)
| Enable RGMII mode for GMAC, called once after auto negotiate.
void | GMAC_ClearScreener1Reg (Gmac *pGmac, gmacQueList_t queueIdx)
void | GMAC_WriteScreener1Reg (Gmac *pGmac, gmacQueList_t queueIdx, uint32_t regVal)
void | GMAC_ClearScreener2Reg (Gmac *pGmac, gmacQueList_t queueIdx)
void | GMAC_WriteScreener2Reg (Gmac *pGmac, gmacQueList_t queueIdx, uint32_t regVal)
void | GMAC_WriteEthTypeReg (Gmac *pGmac, gmacQueList_t queueIdx, uint16_t etherType)
void | GMAC_WriteCompareReg (Gmac *pGmac, gmacQueList_t queueIdx, uint32_t c0Reg, uint16_t c1Reg)
void | GMAC_EnableCbsQueA (Gmac *pGmac)
void | GMAC_DisableCbsQueA (Gmac *pGmac)
void | GMAC_EnableCbsQueB (Gmac *pGmac)
void | GMAC_DisableCbsQueB (Gmac *pGmac)
void | GMAC_ConfigIdleSlopeA (Gmac *pGmac, uint32_t idleSlopeA)
void | GMAC_ConfigIdleSlopeB (Gmac *pGmac, uint32_t idleSlopeB)
void | GMAC_SetTsuTmrIncReg (Gmac *pGmac, uint32_t nanoSec)
uint16_t | GMAC_GetPtpEvtMsgRxdMsbSec (Gmac *pGmac)
uint32_t | GMAC_GetPtpEvtMsgRxdLsbSec (Gmac *pGmac)
uint32_t | GMAC_GetPtpEvtMsgRxdNanoSec (Gmac *pGmac)
void | GMAC_SetTsuCompare (Gmac *pGmac, uint32_t seconds47, uint32_t seconds31, uint32_t nanosec)
void | GMAC_SetTsuCompareNanoSec (Gmac *pGmac, uint32_t nanosec)
void | GMAC_SetTsuCompareSec31 (Gmac *pGmac, uint32_t seconds31)
void | GMAC_SetTsuCompareSec47 (Gmac *pGmac, uint16_t seconds47)
uint32_t | GMAC_GetRxEvtFrameSec (Gmac *pGmac)
uint32_t | GMAC_GetRxEvtFrameNsec (Gmac *pGmac)
uint32_t | GMAC_GetRxPeerEvtFrameSec (Gmac *pGmac)
uint32_t | GMAC_GetRxPeerEvtFrameNsec (Gmac *pGmac)
uint32_t | GMAC_GetTxEvtFrameSec (Gmac *pGmac)
uint32_t | GMAC_GetTxEvtFrameNsec (Gmac *pGmac)
uint32_t | GMAC_GetTxPeerEvtFrameSec (Gmac *pGmac)
uint32_t | GMAC_GetTxPeerEvtFrameNsec (Gmac *pGmac)