![]() |
axiethernet
Vitis Drivers API Documentation
|
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... | |