5.15. Cadence GEM/MACB - emllGEM

The parameters to the Real-time Ethernet Driver GEM are setup-specific. The function CreateLinkParmsFromCmdLineGEM() in EcSelectLinkLayer.cpp demonstrates how to initialize the Real-time Ethernet Driver instance.

Public Members

Common link parameters. Signature must be set to EC_LINK_PARMS_SIGNATURE_GEM.

Source of RX clock, control and data signals

PHY address

Receive interrupt number (IRQ)

Use buffers from DMA (EC_TRUE) or from heap for receive. AllocSend is not supported when EC_FALSE.

EC_FALSE: Link layer should initialize PHY and read link status (connected/disconnected). EC_TRUE: Client is responsible of PHY initialization and clock initialization.

Use XILINX GMIITORGMII Converter (EC_TRUE)

PHY address used to communicate with converter. In Linux doc it is named “reg”.

Transmit DMA descriptor buffer count. Must be a power of 2, maximum 256.

Receive DMA descriptor buffer count. Must be a power of 2, maximum 256.

System on Chip type

PHY connection type

No clock configuration and pin muxing

Change Ref Clock settings

Default use of CacheSync EC_FALSE, don’t call CacheSync on older systems EC_TRUE

enum EC_T_GEM_RXSOURCE

Values:

enumerator eGemRxSource_MIO

MIO as source for RX clock, control and data signals

enumerator eGemRxSource_EMIO

EMIO as source for RX clock, control and data signals

enum EC_T_GEM_TYPE

Values:

enumerator eGemType_Zynq7000

Xilinx Zynq 7000

enumerator eGemType_ZynqUltrascale

Xilinx Zynq Ultrascale

enumerator eGemType_BCM2712

Broadcom BCM2712, Raspberry Pi 5

enumerator eGemType_PolarFire

Microchip PolarFire SoC