MODIFICATION HISTORY:
Ver Who Date Changes ----- ---- -------- ------------------------------------------------------- 1.00a jvb 11/10/06 First release 1.00b drg 02/08/08 Added MGT check to the reset routine 2.00a wsy 08/08/08 Added extended VLAN and multicast features
Functions | |
int | XLlTemac_CfgInitialize (XLlTemac *InstancePtr, XLlTemac_Config *CfgPtr, u32 EffectiveAddress) |
void | XLlTemac_Start (XLlTemac *InstancePtr) |
void | XLlTemac_Stop (XLlTemac *InstancePtr) |
void | XLlTemac_Reset (XLlTemac *InstancePtr, int HardCoreAction) |
int | XLlTemac_SetMacAddress (XLlTemac *InstancePtr, void *AddressPtr) |
void | XLlTemac_GetMacAddress (XLlTemac *InstancePtr, void *AddressPtr) |
int | XLlTemac_SetOptions (XLlTemac *InstancePtr, u32 Options) |
int | XLlTemac_ClearOptions (XLlTemac *InstancePtr, u32 Options) |
u32 | XLlTemac_GetOptions (XLlTemac *InstancePtr) |
u16 | XLlTemac_GetOperatingSpeed (XLlTemac *InstancePtr) |
void | XLlTemac_SetOperatingSpeed (XLlTemac *InstancePtr, u16 Speed) |
void | XLlTemac_PhySetMdioDivisor (XLlTemac *InstancePtr, u8 Divisor) |
|
XLlTemac_CfgInitialize initializes a TEMAC channel along with the InstancePtr that references it. Each TEMAC channel is treated as a separate device from the point of view of this driver. The PHY is setup independently from the TEMAC. Use the MII or whatever other interface may be present for setup.
|
|
XLlTemac_ClearOptions clears the options, Options for the TEMAC channel, specified by InstancePtr. The TEMAC channel should be stopped with XLlTemac_Stop() before changing options.
|
|
XLlTemac_GetMacAddress gets the MAC address for the TEMAC channel, specified by InstancePtr into the memory buffer specified by AddressPtr.
|
|
XLlTemac_GetOperatingSpeed gets the current operating link speed. This may be the value set by XLlTemac_SetOperatingSpeed() or a hardware default.
|
|
XLlTemac_GetOptions returns the current option settings.
|
|
XLlTemac_PhySetMdioDivisor sets the MDIO clock divisor in the TEMAC channel, specified by InstancePtr to the value, Divisor. This function must be called once after each reset prior to accessing MII PHY registers. From the Virtex-4 Embedded Tri-Mode Ethernet MAC User's Guide, the following equation governs the MDIO clock to the PHY:
f[HOSTCLK] f[MDC] = ----------------- (1 + Divisor) * 2 where f[HOSTCLK] is the bus clock frequency in MHz, and f[MDC] is the MDIO clock frequency in MHz to the PHY. Typically, f[MDC] should not exceed 2.5 MHz. Some PHYs can tolerate faster speeds which means faster access.
|
|
XLlTemac_Reset performs a reset of the TEMAC channel, specified by InstancePtr, or both channels if HardCoreAction is set to XTE_RESET_HARD. XLlTemac_Reset also resets the TEMAC channel's options to their default values. The calling software is responsible for re-configuring the TEMAC channel (if necessary) and restarting the MAC after the reset.
Otherwise, XLlTemac_Reset resets just the transmitter and receiver of this TEMAC channel.
|
|
XLlTemac_SetMacAddress sets the MAC address for the TEMAC channel, specified by InstancePtr to the MAC address specified by AddressPtr. The TEMAC channel must be stopped before calling this function.
|
|
XLlTemac_SetOperatingSpeed sets the current operating link speed. For any traffic to be passed, this speed must match the current MII/GMII/SGMII/RGMII link speed.
|
|
XLlTemac_SetOptions enables the options, Options for the TEMAC channel, specified by InstancePtr. The TEMAC channel should be stopped with XLlTemac_Stop() before changing options.
|
|
XLlTemac_Start starts the TEMAC channel as follows:
|
|
XLlTemac_Stop gracefully stops the TEMAC channel as follows:
XLlTemac_Stop does not modify any of the current device options. Since the transmitter is not disabled, frames currently in internal buffers or in process by a DMA engine are allowed to be transmitted.
|
Copyright © 1995-2009 Xilinx, Inc. All rights reserved.