RTEMS: GMAC Defines

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Modules | Data Structures | Macros | Enumerator | Functions | Variables
GMAC Defines
Board Support Packages » ARM » Atmel/Microchip SAM E70, S70, V70 and V71 » Contributed Code » Gmac_module

## Modules
| GMAC Data Structs

## Data Structures
union | _GmacRxDescriptor::_GmacRxAddr
struct | _GmacRxDescriptor::_GmacRxAddr::_GmacRxAddrBM
union | _GmacRxDescriptor::_GmacRxStatus
struct | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM
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)

## 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)

## Variables
uint32_t | _GmacRxDescriptor::_GmacRxAddr::val
uint32_t | _GmacRxDescriptor::_GmacRxAddr::_GmacRxAddrBM::bOwnership: 1
uint32_t | _GmacRxDescriptor::_GmacRxAddr::_GmacRxAddrBM::bWrap: 1
uint32_t | _GmacRxDescriptor::_GmacRxAddr::_GmacRxAddrBM::addrDW: 30
struct _GmacRxDescriptor::_GmacRxAddr::_GmacRxAddrBM | _GmacRxDescriptor::_GmacRxAddr::bm
union _GmacRxDescriptor::_GmacRxAddr | _GmacRxDescriptor::addr
uint32_t | _GmacRxDescriptor::_GmacRxStatus::val
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::len: 12
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::offset: 2
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bSof: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bEof: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bCFI: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::vlanPriority: 3
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bPriorityDetected: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bVlanDetected: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::typeIDMatchOrCksumResult: 2
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bTypeIDMatchFoundOrCksumSNAPState: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::specAddrMatchRegister: 2
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bSpecAddrMatchFound: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::reserved: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bUniHashMatch: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bMultiHashMatch: 1
uint32_t | _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bBroadcastDetected: 1
struct _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM | _GmacRxDescriptor::_GmacRxStatus::bm
union _GmacRxDescriptor::_GmacRxStatus | _GmacRxDescriptor::status
uint32_t | _GmacTxDescriptor::addr
uint32_t | _GmacTxDescriptor::_GmacTxStatus::val
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::len: 11
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::reserved: 4
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bLastBuffer: 1
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bNoCRC: 1
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::reserved1: 10
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bExhausted: 1
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bUnderrun: 1
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bError: 1
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bWrap: 1
uint32_t | _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bUsed: 1
struct _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM | _GmacTxDescriptor::_GmacTxStatus::bm
union _GmacTxDescriptor::_GmacTxStatus | _GmacTxDescriptor::status

## Detailed Description

## Macro Definition Documentation

## ◆ GMAC_ADDRESS_MASK

#define GMAC_ADDRESS_MASK ((unsigned int)0xFFFFFFFC)

The buffer addresses written into the descriptors must be aligned so the last few bits are zero. These bits have special meaning for the GMAC peripheral and cannot be used as part of the address.

## Function Documentation

## ◆ GMAC_ClearRxStatus()

void GMAC_ClearRxStatus | ( | Gmac * | pGmac,
|  | uint32_t | dwStatus
| ) |  |

Clear receive status

## ◆ GMAC_ClearStatistics()

void GMAC_ClearStatistics | ( | Gmac * | pGmac | ) |

Clear all statistics registers

## ◆ GMAC_ClearTxStatus()

void GMAC_ClearTxStatus | ( | Gmac * | pGmac,
|  | uint32_t | dwStatus
| ) |  |

Clear transmit status

## ◆ GMAC_Configure()

void GMAC_Configure | ( | Gmac * | pGmac,
|  | uint32_t | dwCfg
| ) |  |

Setup network configuration register

## ◆ GMAC_DisableAllQueueIt()

void GMAC_DisableAllQueueIt | ( | Gmac * | pGmac,
|  | uint32_t | dwSources
| ) |  |

Disable interrupt(s).

## ◆ GMAC_DisableIt()

void GMAC_DisableIt | ( | Gmac * | pGmac,
|  | uint32_t | dwSources,
|  | gmacQueList_t | queueIdx
| ) |  |

Disable interrupt(s).

## ◆ GMAC_DisableMdio()

void GMAC_DisableMdio | ( | Gmac * | pGmac | ) |

Enable MDI with PHY.

Parameters

  pGmac | Pointer to an Gmac instance.

## ◆ GMAC_EnableAllQueueIt()

void GMAC_EnableAllQueueIt | ( | Gmac * | pGmac,
|  | uint32_t | dwSources
| ) |  |

Disable interrupt(s).

## ◆ GMAC_EnableGMII()

void GMAC_EnableGMII | ( | Gmac * | pGmac | ) |

Enable GMII mode for GMAC, called once after auto negotiate.

Parameters

  pGmac | Pointer to an Gmac instance.

## ◆ GMAC_EnableIt()

void GMAC_EnableIt | ( | Gmac * | pGmac,
|  | uint32_t | dwSources,
|  | gmacQueList_t | queueIdx
| ) |  |

Enable interrupt(s).

## ◆ GMAC_EnableMdio()

void GMAC_EnableMdio | ( | Gmac * | pGmac | ) |

Enable MDI with PHY.

Parameters

  pGmac | Pointer to an Gmac instance.

## ◆ GMAC_EnableMII()

void GMAC_EnableMII | ( | Gmac * | pGmac | ) |

Enable MII mode for GMAC, called once after auto negotiate.

Parameters

  pGmac | Pointer to an Gmac instance.

## ◆ GMAC_EnableRGMII()

void GMAC_EnableRGMII | ( | Gmac * | pGmac,
|  | uint32_t | duplex,
|  | uint32_t | speed
| ) |  |

Enable RGMII mode for GMAC, called once after auto negotiate.

Parameters

  pGmac | Pointer to an Gmac instance.
  duplex | 1 full duplex 0 half duplex
  speed | 0 10M 1 100M

## ◆ GMAC_GetConfigure()

uint32_t GMAC_GetConfigure | ( | Gmac * | pGmac | ) |

Return network configuration.

## ◆ GMAC_GetDMAConfig()

uint32_t GMAC_GetDMAConfig | ( | Gmac * | pGmac,
|  | gmacQueList_t | queueIdx
| ) |  |

Return DMA configuration register

## ◆ GMAC_GetItMask()

uint32_t GMAC_GetItMask | ( | Gmac * | pGmac,
|  | gmacQueList_t | queueIdx
| ) |  |

Return interrupt mask.

## ◆ GMAC_GetItStatus()

uint32_t GMAC_GetItStatus | ( | Gmac * | pGmac,
|  | gmacQueList_t | queueIdx
| ) |  |

Return interrupt status.

## ◆ GMAC_GetNetworkControl()

uint32_t GMAC_GetNetworkControl | ( | Gmac * | pGmac | ) |

Get control value

## ◆ GMAC_GetRxQueue()

uint32_t GMAC_GetRxQueue | ( | Gmac * | pGmac,
|  | gmacQueList_t | queueIdx
| ) |  |

Get Rx Queue Address

## ◆ GMAC_GetRxStatus()

uint32_t GMAC_GetRxStatus | ( | Gmac * | pGmac | ) |

Return receive status

## ◆ GMAC_GetTxQueue()

uint32_t GMAC_GetTxQueue | ( | Gmac * | pGmac,
|  | gmacQueList_t | queueIdx
| ) |  |

Get Tx Queue

## ◆ GMAC_GetTxStatus()

uint32_t GMAC_GetTxStatus | ( | Gmac * | pGmac | ) |

Return transmit status

## ◆ GMAC_IncreaseStatistics()

void GMAC_IncreaseStatistics | ( | Gmac * | pGmac | ) |

Increase all statistics registers

## ◆ GMAC_IsIdle()

uint8_t GMAC_IsIdle | ( | Gmac * | pGmac | ) |

Return 1 if PHY is idle

## ◆ GMAC_NetworkControl()

void GMAC_NetworkControl | ( | Gmac * | pGmac,
|  | uint32_t | bmNCR
| ) |  |

Write control value

## ◆ GMAC_PHYData()

uint16_t GMAC_PHYData | ( | Gmac * | pGmac | ) |

Return PHY maintenance data returned

## ◆ GMAC_PHYMaintain()

void GMAC_PHYMaintain | ( | Gmac * | pGmac,
|  | uint8_t | bPhyAddr,
|  | uint8_t | bRegAddr,
|  | uint8_t | bRW,
|  | uint16_t | wData
| ) |  |

Execute PHY maintenance command

## ◆ GMAC_ReceiveEnable()

void GMAC_ReceiveEnable | ( | Gmac * | pGmac,
|  | uint8_t | bEnaDis
| ) |  |

Enable/Disable GMAC receive.

## ◆ GMAC_SetAddress()

void GMAC_SetAddress | ( | Gmac * | pGmac,
|  | uint8_t | bIndex,
|  | uint8_t * | pMacAddr
| ) |  |

Set MAC Address

## ◆ GMAC_SetAddress32()

void GMAC_SetAddress32 | ( | Gmac * | pGmac,
|  | uint8_t | bIndex,
|  | uint32_t | dwMacT,
|  | uint32_t | dwMacB
| ) |  |

Set MAC Address via 2 DW

## ◆ GMAC_SetAddress64()

void GMAC_SetAddress64 | ( | Gmac * | pGmac,
|  | uint8_t | bIndex,
|  | uint64_t | ddwMac
| ) |  |

Set MAC Address via int64

## ◆ GMAC_SetDMAConfig()

void GMAC_SetDMAConfig | ( | Gmac * | pGmac,
|  | uint32_t | dwDmaCfg,
|  | gmacQueList_t | queueIdx
| ) |  |

Setup DMA configuration register

## ◆ GMAC_SetLinkSpeed()

void GMAC_SetLinkSpeed | ( | Gmac * | pGmac,
|  | uint8_t | speed,
|  | uint8_t | fullduplex
| ) |  |

Setup the GMAC for the link : speed 100M/10M and Full/Half duplex.

Parameters

  pGmac | Pointer to an Gmac instance.
  speed | Link speed, 0 for 10M, 1 for 100M
  fullduplex | 1 for Full Duplex mode

## ◆ GMAC_SetLocalLoopBack()

uint32_t GMAC_SetLocalLoopBack | ( | Gmac * | pGmac | ) |

set local loop back

Parameters

  pGmac | Pointer to an Gmac instance.

## ◆ GMAC_SetMdcClock()

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.

Parameters

  pGmac | Pointer to an Gmac instance.
  mck | Mdc clock

Returns
  1 if successfully, 0 if MDC clock not found.

## ◆ GMAC_SetRxQueue()

void GMAC_SetRxQueue | ( | Gmac * | pGmac,
|  | uint32_t | dwAddr,
|  | gmacQueList_t | queueIdx
| ) |  |

Set Rx Queue

## ◆ GMAC_SetTxQueue()

void GMAC_SetTxQueue | ( | Gmac * | pGmac,
|  | uint32_t | dwAddr,
|  | gmacQueList_t | queueIdx
| ) |  |

Set Tx Queue

## ◆ GMAC_StatisticsWriteEnable()

void GMAC_StatisticsWriteEnable | ( | Gmac * | pGmac,
|  | uint8_t | bEnaDis
| ) |  |

Enable/Disable statistics registers writing.

## ◆ GMAC_TransmissionHalt()

void GMAC_TransmissionHalt | ( | Gmac * | pGmac | ) |

Halt transmission

## ◆ GMAC_TransmissionStart()

void GMAC_TransmissionStart | ( | Gmac * | pGmac | ) |

Start transmission

## ◆ GMAC_TransmitEnable()

void GMAC_TransmitEnable | ( | Gmac * | pGmac,
|  | uint8_t | bEnaDis
| ) |  |

Enable/Disable GMAC transmit.

## Variable Documentation

## ◆ addr

union _GmacRxDescriptor::_GmacRxAddr _GmacRxDescriptor::addr

Address, Wrap & Ownership

## ◆ addrDW

uint32_t _GmacRxDescriptor::_GmacRxAddr::_GmacRxAddrBM::addrDW

Address in number of DW

## ◆ bBroadcastDetected

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bBroadcastDetected

Global all ones broadcast address detected

## ◆ bCFI

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bCFI

End of frame

## ◆ bEof

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bEof

Start of frame

## ◆ bError

uint32_t _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bError

Retry limit exceeded, error detected

## ◆ bExhausted

uint32_t _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bExhausted

Buffer exhausted in mid frame

## ◆ bLastBuffer

uint32_t _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bLastBuffer

Last buffer (in the current frame)

## ◆ bMultiHashMatch

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bMultiHashMatch

Multicast hash match

## ◆ bNoCRC

uint32_t _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bNoCRC

No CRC

## ◆ bOwnership

uint32_t _GmacRxDescriptor::_GmacRxAddr::_GmacRxAddrBM::bOwnership

User clear, GMAC set this to one once it has successfully written a frame to memory

## ◆ bPriorityDetected

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bPriorityDetected

VLAN priority (if VLAN detected)

## ◆ bSof

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bSof

Receive buffer offset, bits 13:12 of frame length for jumbo frame

## ◆ bUnderrun

uint32_t _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bUnderrun

Transmit under run

## ◆ bUniHashMatch

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bUniHashMatch

Unicast hash match

## ◆ bUsed

uint32_t _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bUsed

User clear, GMAC sets this once a frame has been successfully transmitted

## ◆ bVlanDetected

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::bVlanDetected

Priority tag detected VLAN tag detected

## ◆ bWrap [1/2]

uint32_t _GmacRxDescriptor::_GmacRxAddr::_GmacRxAddrBM::bWrap

Marks last descriptor in receive buffer

## ◆ bWrap [2/2]

uint32_t _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::bWrap

Marks last descriptor in TD list

## ◆ len

uint32_t _GmacTxDescriptor::_GmacTxStatus::_GmacTxStatusBM::len

Length of buffer

## ◆ offset

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::offset

Length of frame including FCS

## ◆ vlanPriority

uint32_t _GmacRxDescriptor::_GmacRxStatus::_GmacRxStatusBM::vlanPriority

Concatenation Format Indicator