axiethernet: xaxiethernet.h File Reference

| axiethernet Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Data Structures | Macros | Typedefs | Functions
xaxiethernet.h File Reference

## Data Structures
struct | XAxiEthernet_Config
| This typedef contains configuration information for a Axi Ethernet device. More...
struct | XAxiEthernet
| struct XAxiEthernet is the type for Axi Ethernet driver instance data. More...

## Macros
#define | XAE_MDIO_DIV_DFT 29
| Default MDIO clock divisor. More...
#define | XAxiEthernet_IsStarted(InstancePtr) (((InstancePtr)->IsStarted == XIL_COMPONENT_IS_STARTED) ? TRUE : FALSE)
| XAxiEthernet_IsStarted reports if the device is in the started or stopped state. More...
#define | XAxiEthernet_IsDma(InstancePtr) (((InstancePtr)->Config.AxiDevType == XPAR_AXI_DMA) ? TRUE: FALSE)
| XAxiEthernet_IsDma reports if the device is currently connected to DMA. More...
#define | XAxiEthernet_IsFifo(InstancePtr) (((InstancePtr)->Config.AxiDevType == XPAR_AXI_FIFO) ? TRUE: FALSE)
| XAxiEthernet_IsFifo reports if the device is currently connected to a fifo core. More...
#define | XAxiEthernet_IsMcDma(InstancePtr) (((InstancePtr)->Config.AxiDevType == XPAR_AXI_MCDMA) ? TRUE: FALSE)
| XAxiEthernet_IsMcDma reports if the device is currently connected to MCDMA. More...
#define | XAxiEthernet_AxiDevBaseAddress(InstancePtr) ((InstancePtr)->Config.AxiDevBaseAddress)
| XAxiEthernet_AxiDevBaseAddress reports the base address of the core connected to the Axi Ethernet's Axi4 Stream interface. More...
#define | XAxiEthernet_IsRecvFrameDropped(InstancePtr)
| XAxiEthernet_IsRecvFrameDropped determines if the device thinks it has dropped a receive frame. More...
#define | XAxiEthernet_IsRxPartialCsum(InstancePtr) ((((InstancePtr)->Config.RxCsum) == 0x01) ? TRUE : FALSE)
| XAxiEthernet_IsRxPartialCsum determines if the device is configured with partial checksum offloading on the receive channel. More...
#define | XAxiEthernet_IsTxPartialCsum(InstancePtr) ((((InstancePtr)->Config.TxCsum) == 0x01) ? TRUE : FALSE)
| XAxiEthernet_IsTxPartialCsum determines if the device is configured with partial checksum offloading on the transmit channel. More...
#define | XAxiEthernet_IsRxFullCsum(InstancePtr) ((((InstancePtr)->Config.RxCsum) == 0x02) ? TRUE : FALSE)
| XAxiEthernet_IsRxFullCsum determines if the device is configured with full checksum offloading on the receive channel. More...
#define | XAxiEthernet_IsTxFullCsum(InstancePtr) ((((InstancePtr)->Config.TxCsum) == 0x02) ? TRUE : FALSE)
| XAxiEthernet_IsTxFullCsum determines if the device is configured with full checksum offloading on the transmit channel. More...
#define | XAxiEthernet_GetPhysicalInterface(InstancePtr) ((InstancePtr)->Config.PhyType)
| XAxiEthernet_GetPhysicalInterface returns the type of PHY interface being used by the given instance, specified by InstancePtr. More...
#define | XAxiEthernet_GetIntStatus(InstancePtr) XAxiEthernet_ReadReg((InstancePtr)->Config.BaseAddress, XAE_IS_OFFSET)
| XAxiEthernet_GetIntStatus returns a bit mask of the interrupt status register (ISR). More...
#define | XAxiEthernet_IntEnable(InstancePtr, Mask)
| XAxiEthernet_IntEnable enables the interrupts specified in Mask. More...
#define | XAxiEthernet_IntDisable(InstancePtr, Mask)
| XAxiEthernet_IntDisable disables the interrupts specified in Mask. More...
#define | XAxiEthernet_IntPending(InstancePtr) XAxiEthernet_ReadReg((InstancePtr)->Config.BaseAddress, XAE_IP_OFFSET)
| XAxiEthernet_IntPending returns a bit mask of the pending interrupts. More...
#define | XAxiEthernet_IntClear(InstancePtr, Mask)
| XAxiEthernet_IntClear clears pending interrupts specified in Mask. More...
#define | XAxiEthernet_IsExtFuncCap(InstancePtr)
| XAxiEthernet_IsExtFuncCap determines if the device is capable of the new/extend VLAN and multicast features. More...
#define | XAxiEthernet_IsExtMcastEnable(InstancePtr)
| XAxiEthernet_IsExtMcastEnable determines if the extended multicast features is enabled. More...
#define | XAxiEthernet_IsExtMcast(InstancePtr) (((InstancePtr)->Config.ExtMcast) ? TRUE : FALSE)
| XAxiEthernet_IsExtMcast determines if the device is built with new/extended multicast features. More...
#define | XAxiEthernet_IsTxVlanStrp(InstancePtr) (((InstancePtr)->Config.TxVlanStrp) ? TRUE : FALSE)
| XAxiEthernet_IsTxVlanStrp determines if the device is configured with transmit VLAN stripping on the transmit channel. More...
#define | XAxiEthernet_IsRxVlanStrp(InstancePtr) (((InstancePtr)->Config.RxVlanStrp) ? TRUE : FALSE)
| XAxiEthernet_IsRxVlanStrp determines if the device is configured with receive VLAN stripping on the receive channel. More...
#define | XAxiEthernet_IsTxVlanTran(InstancePtr) (((InstancePtr)->Config.TxVlanTran) ? TRUE : FALSE)
| XAxiEthernet_IsTxVlanTran determines if the device is configured with transmit VLAN translation on the transmit channel. More...
#define | XAxiEthernet_IsRxVlanTran(InstancePtr) (((InstancePtr)->Config.RxVlanTran) ? TRUE : FALSE)
| XAxiEthernet_IsRxVlanTran determines if the device is configured with receive VLAN translation on the receive channel. More...
#define | XAxiEthernet_IsTxVlanTag(InstancePtr) (((InstancePtr)->Config.TxVlanTag) ? TRUE : FALSE)
| XAxiEthernet_IsTxVlanTag determines if the device is configured with transmit VLAN tagging on the transmit channel. More...
#define | XAxiEthernet_IsRxVlanTag(InstancePtr) (((InstancePtr)->Config.RxVlanTag) ? TRUE : FALSE)
| XAxiEthernet_IsRxVlanTag determines if the device is configured with receive VLAN tagging on the receive channel. More...
#define | XAxiEthernet_GetTemacType(InstancePtr) ((InstancePtr)->Config.TemacType)
| XAxiEthernet_GetTemacType returns the Axi Ethernet type of the core. More...
#define | XAxiEthernet_IsAvbConfigured(InstancePtr) (((InstancePtr)->Config.Avb) ? TRUE : FALSE)
| XAxiEthernet_IsAvbConfigured returns determines if Ethernet AVB.is configured in the harwdare or not. More...
#define | XAxiEthernet_IsSgmiiOverLvdsEnabled(InstancePtr) (((InstancePtr)->Config.EnableSgmiiOverLvds) ? TRUE : FALSE)
| XAxiEthernet_IsSgmiiOverLvdsEnabled determines if SGMII over LVDS is enabled in the harwdare or not. More...
#define | XAxiEthernet_IsStatsConfigured(InstancePtr) (((InstancePtr)->Config.Stats) ? TRUE : FALSE)
| XAxiEthernet_IsStatsConfigured returns determines if Statistics gathering. More...
Configuration options
The following are device configuration options. See the XAxiEthernet_SetOptions, XAxiEthernet_ClearOptions and XAxiEthernet_GetOptions routines for information on how to use options. The default state of the options are also noted below.
#define | XAE_PROMISC_OPTION 0x00000001
| < XAE_PROMISC_OPTION specifies the Axi Ethernet device to accept all incoming packets. More...
#define | XAE_JUMBO_OPTION 0x00000002
| XAE_VLAN_OPTION specifies the Axi Ethernet device to enable VLAN support for transmit and receive. More...
#define | XAE_VLAN_OPTION 0x00000004
| XAE_FLOW_CONTROL_OPTION specifies the Axi Ethernet device to recognize received flow control frames. More...
#define | XAE_FLOW_CONTROL_OPTION 0x00000008
| XAE_FCS_STRIP_OPTION specifies the Axi Ethernet device to strip FCS and PAD from received frames. More...
#define | XAE_FCS_STRIP_OPTION 0x00000010
| XAE_FCS_INSERT_OPTION specifies the Axi Ethernet device to generate the FCS field and add PAD automatically for outgoing frames. More...
#define | XAE_FCS_INSERT_OPTION 0x00000020
| XAE_LENTYPE_ERR_OPTION specifies the Axi Ethernet device to enable Length/Type error checking (mismatched type/length field) for received frames. More...
#define | XAE_LENTYPE_ERR_OPTION 0x00000040
| XAE_TRANSMITTER_ENABLE_OPTION specifies the Axi Ethernet device transmitter to be enabled. More...
#define | XAE_TRANSMITTER_ENABLE_OPTION 0x00000080
| XAE_RECEIVER_ENABLE_OPTION specifies the Axi Ethernet device receiver to be enabled. More...
#define | XAE_RECEIVER_ENABLE_OPTION 0x00000100
| XAE_BROADCAST_OPTION specifies the Axi Ethernet device to receive frames sent to the broadcast Ethernet address. More...
#define | XAE_BROADCAST_OPTION 0x00000200
| XAE_MULTICAST_OPTION specifies the Axi Ethernet device to receive frames sent to Ethernet addresses that are programmed into the Multicast Address Table (MAT). More...
#define | XAE_MULTICAST_OPTION 0x00000400
| XAE_EXT_MULTICAST_OPTION specifies the Axi Ethernet device to receive frames sent to Ethernet addresses that are programmed into the Multicast Address Table. More...
#define | XAE_EXT_MULTICAST_OPTION 0x00000800
| XAE_EXT_TXVLAN_TRAN_OPTION specifies the Axi Ethernet device to enable transmit VLAN translation. More...
#define | XAE_EXT_TXVLAN_TRAN_OPTION 0x00001000
| XAE_EXT_RXVLAN_TRAN_OPTION specifies the Axi Ethernet device to enable receive VLAN translation. More...
#define | XAE_EXT_RXVLAN_TRAN_OPTION 0x00002000
| XAE_EXT_TXVLAN_TAG_OPTION specifies the Axi Ethernet device to enable transmit VLAN tagging. More...
#define | XAE_EXT_TXVLAN_TAG_OPTION 0x00004000
| XAE_EXT_RXVLAN_TAG_OPTION specifies the Axi Ethernet device to enable receive VLAN tagging. More...
#define | XAE_EXT_RXVLAN_TAG_OPTION 0x00008000
| XAE_EXT_TXVLAN_STRP_OPTION specifies the Axi Ethernet device to enable transmit VLAN stripping. More...
#define | XAE_EXT_TXVLAN_STRP_OPTION 0x00010000
| XAE_EXT_RXVLAN_STRP_OPTION specifies the Axi Ethernet device to enable receive VLAN stripping. More...
#define | XAE_EXT_RXVLAN_STRP_OPTION 0x00020000
#define | XAE_DEFAULT_OPTIONS
| XAE_DEFAULT_OPTIONS specify the options set in XAxiEthernet_Reset() and XAxiEthernet_CfgInitialize() More...

## Typedefs
typedef struct XAxiEthernet_Config | XAxiEthernet_Config
| This typedef contains configuration information for a Axi Ethernet device. More...
typedef struct XAxiEthernet | XAxiEthernet
| struct XAxiEthernet is the type for Axi Ethernet driver instance data. More...

## Functions
int | XAxiEthernet_CfgInitialize (XAxiEthernet *InstancePtr, XAxiEthernet_Config *CfgPtr, UINTPTR EffectiveAddress)
| XAxiEthernet_CfgInitialize initializes an AXI Ethernet device along with the InstancePtr that references it. More...
int | XAxiEthernet_Initialize (XAxiEthernet *InstancePtr, XAxiEthernet_Config *CfgPtr, UINTPTR EffectiveAddress)
| XAxiEthernet_Initialize initializes an AXI Ethernet device along with the InstancePtr that references it. More...
void | XAxiEthernet_Start (XAxiEthernet *InstancePtr)
| XAxiEthernet_Start starts the Axi Ethernet device as follows: More...
void | XAxiEthernet_Stop (XAxiEthernet *InstancePtr)
| XAxiEthernet_Stop gracefully stops the Axi Ethernet device as follows: More...
void | XAxiEthernet_Reset (XAxiEthernet *InstancePtr)
| XAxiEthernet_Reset does not perform a soft reset of the AxiEthernet core. More...
XAxiEthernet_Config * | XAxiEthernet_LookupConfig (u16 DeviceId)
| XAxiEthernet_LookupConfig returns a reference to an XAxiEthernet_Config structure based on an unique device id, DeviceId. More...
int | XAxiEthernet_SetOptions (XAxiEthernet *InstancePtr, u32 Options)
| XAxiEthernet_SetOptions enables the options, Options for the Axi Ethernet, specified by InstancePtr. More...
int | XAxiEthernet_ClearOptions (XAxiEthernet *InstancePtr, u32 Options)
| XAxiEthernet_ClearOptions clears the options, Options for the Axi Ethernet, specified by InstancePtr. More...
u32 | XAxiEthernet_GetOptions (XAxiEthernet *InstancePtr)
| XAxiEthernet_GetOptions returns the current option settings. More...
int | XAxiEthernet_SetMacAddress (XAxiEthernet *InstancePtr, void *AddressPtr)
| XAxiEthernet_SetMacAddress sets the MAC address for the Axi Ethernet device, specified by InstancePtr to the MAC address specified by AddressPtr. More...
void | XAxiEthernet_GetMacAddress (XAxiEthernet *InstancePtr, void *AddressPtr)
| XAxiEthernet_GetMacAddress gets the MAC address for the Axi Ethernet, specified by InstancePtr into the memory buffer specified by AddressPtr. More...
int | XAxiEthernet_SetMacPauseAddress (XAxiEthernet *InstancePtr, void *AddressPtr)
| XAxiEthernet_SetMacPauseAddress sets the MAC address used for pause frames to AddressPtr. More...
void | XAxiEthernet_GetMacPauseAddress (XAxiEthernet *InstancePtr, void *AddressPtr)
| XAxiEthernet_GetMacPauseAddress gets the MAC address used for pause frames for the Axi Ethernet device specified by InstancePtr. More...
int | XAxiEthernet_SendPausePacket (XAxiEthernet *InstancePtr, u16 PauseValue)
| XAxiEthernet_SendPausePacket sends a pause packet with the value of PauseValue. More...
int | XAxiEthernet_GetSgmiiStatus (XAxiEthernet *InstancePtr, u16 *SpeedPtr)
| XAxiEthernet_GetSgmiiStatus get the state of the link when using the SGMII media interface. More...
int | XAxiEthernet_GetRgmiiStatus (XAxiEthernet *InstancePtr, u16 *SpeedPtr, int *IsFullDuplexPtr, int *IsLinkUpPtr)
| XAxiEthernet_GetRgmiiStatus get the state of the link when using the RGMII media interface. More...
u16 | XAxiEthernet_GetOperatingSpeed (XAxiEthernet *InstancePtr)
| XAxiEthernet_GetOperatingSpeed gets the current operating link speed. More...
int | XAxiEthernet_SetOperatingSpeed (XAxiEthernet *InstancePtr, u16 Speed)
| XAxiEthernet_SetOperatingSpeed sets the current operating link speed. More...
void | XAxiEthernet_SetBadFrmRcvOption (XAxiEthernet *InstancePtr)
| XAxiEthernet_SetBadFrmRcvOption is used to enable the bad frame receive option. More...
void | XAxiEthernet_ClearBadFrmRcvOption (XAxiEthernet *InstancePtr)
| XAxiEthernet_ClearBadFrmRcvOption is used to disable the bad frame receive option. More...
void | XAxiEthernet_DisableControlFrameLenCheck (XAxiEthernet *InstancePtr)
| XAxiEthernet_DisableControlFrameLenCheck is used to disable the length check for control frames (pause frames). More...
void | XAxiEthernet_EnableControlFrameLenCheck (XAxiEthernet *InstancePtr)
| XAxiEthernet_EnableControlFrameLenCheck is used to enable the length check for control frames (pause frames). More...
void | XAxiEthernet_PhySetMdioDivisor (XAxiEthernet *InstancePtr, u8 Divisor)
| XAxiEthernet_PhySetMdioDivisor sets the MDIO clock divisor in the Axi Ethernet,specified by InstancePtr to the value, Divisor. More...
int | XAxiEthernet_MulticastAdd (XAxiEthernet *InstancePtr, void *AddressPtr, int Entry)
| XAxiEthernet_MulticastAdd adds the Ethernet address, AddressPtr to the Axi Ethernet device's multicast filter list, at list index Entry. More...
void | XAxiEthernet_MulticastGet (XAxiEthernet *InstancePtr, void *AddressPtr, int Entry)
| XAxiEthernet_MulticastGet gets the Ethernet address stored at index Entry in the Axi Ethernet device's multicast filter list. More...
int | XAxiEthernet_MulticastClear (XAxiEthernet *InstancePtr, int Entry)
| XAxiEthernet_MulticastClear clears the Ethernet address stored at index Entry in the Axi Ethernet device's multicast filter list. More...
int | XAxiEthernet_SetTpid (XAxiEthernet *InstancePtr, u16 Tpid, u8 Entry)
| XAxiEthernet_SetTpid sets the VLAN Tag Protocol Identifier(TPID). More...
int | XAxiEthernet_ClearTpid (XAxiEthernet *InstancePtr, u8 Entry)
| XAxiEthernet_ClearTpid clears the VLAN Tag Protocol Identifier(TPID). More...
void | XAxiEthernet_GetTpid (XAxiEthernet *InstancePtr, u16 *TpidPtr, u8 Entry)
| XAxiEthernet_GetTpid gets the VLAN Tag Protocol Identifier value (TPID). More...
int | XAxiEthernet_SetVTagMode (XAxiEthernet *InstancePtr, u32 Mode, int Dir)
| XAxiEthernet_SetVTagMode configures the VLAN tagging mode. More...
void | XAxiEthernet_GetVTagMode (XAxiEthernet *InstancePtr, u8 *ModePtr, int Dir)
| XAxiEthernet_GetVTagMode gets VLAN tagging mode. More...
int | XAxiEthernet_SetVStripMode (XAxiEthernet *InstancePtr, u32 Mode, int Dir)
| XAxiEthernet_SetVStripMode configures the VLAN strip mode. More...
void | XAxiEthernet_GetVStripMode (XAxiEthernet *InstancePtr, u8 *ModePtr, int Dir)
| XAxiEthernet_GetVStripMode gets the VLAN stripping mode. More...
int | XAxiEthernet_SetVTagValue (XAxiEthernet *InstancePtr, u32 VTagValue, int Dir)
| XAxiEthernet_SetVTagValue configures the VLAN tagging value. More...
void | XAxiEthernet_GetVTagValue (XAxiEthernet *InstancePtr, u32 *VTagValuePtr, int Dir)
| XAxiEthernet_GetVTagValue gets the configured VLAN tagging value. More...
int | XAxiEthernet_SetVidTable (XAxiEthernet *InstancePtr, u32 Entry, u32 Vid, u8 Strip, u8 Tag, int Dir)
| XAxiEthernet_SetVidTable sets VID table includes new VLAN ID, strip and tag enable bits. More...
void | XAxiEthernet_GetVidTable (XAxiEthernet *InstancePtr, u32 Entry, u32 *VidPtr, u8 *StripPtr, u8 *TagPtr, int Dir)
| XAxiEthernet_GetVidTable gets VID table content includes new VLAN ID, strip and tag enable bits. More...
int | XAxiEthernet_AddExtMulticastGroup (XAxiEthernet *InstancePtr, void *AddressPtr)
| XAxiEthernet_AddExtMulticastGroup adds an entry to the multicast Ethernet address table. More...
int | XAxiEthernet_ClearExtMulticastGroup (XAxiEthernet *InstancePtr, void *AddressPtr)
| XAxiEthernet_ClearExtMulticastGroup clears input multicast Ethernet address group from table. More...
int | XAxiEthernet_GetExtMulticastGroup (XAxiEthernet *InstancePtr, void *AddressPtr)
| XAxiEthernet_GetExtMulticastGroup returns whether the given Ethernet address group is stored in the table. More...
void | XAxiEthernet_DumpExtMulticastGroup (XAxiEthernet *InstancePtr)
| XAxiEthernet_DumpExtMulticastGroup dumps ALL provisioned acceptable multicast MAC in the Axi Ethernet device's multicast table. More...