⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xemac.h

📁 powerpc405开发板的linux网口驱动程序
💻 H
📖 第 1 页 / 共 3 页
字号:
* Signature: Xboolean XEmac_mHasCam(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mHasCam(InstancePtr) \    (((InstancePtr)->ConfigPtr->HasCam == 1) ? XTRUE : XFALSE)/*****************************************************************************//**** This macro determines if the device has the MII option for communications* with a PHY.** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** Boolean XTRUE if the device is configured with MII, or XFALSE otherwise** @note** Signature: Xboolean XEmac_mHasMii(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mHasMii(InstancePtr) \    (((InstancePtr)->ConfigPtr->HasMii == 1) ? XTRUE : XFALSE)/*****************************************************************************//**** This macro determines if the device has the option to transfer jumbo sized* frames.** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** Boolean XTRUE if the device is configured with jubmo frame capability, or* XFALSE otherwise** @note** Signature: Xboolean XEmac_mHasJumbo(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mHasJumbo(InstancePtr) \    (((InstancePtr)->ConfigPtr->HasJumbo == 1) ? XTRUE : XFALSE)/*****************************************************************************//**** This macro determines if the device is configured with the Data Realignment* Engine (DRE)** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** Boolean XTRUE if the device is configured with TX DRE, or XFALSE otherwise.* Note that earlier versions do not have DRE capability so this macro always* returns XFALSE.** @note** Signature: Xboolean XEmac_mIsTxDre(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mIsTxDre(InstancePtr)                                         \    (((InstancePtr)->ConfigPtr->TxDre != 0) ? XTRUE : XFALSE)/*****************************************************************************//**** This macro determines if the device is configured with the Data Realignment* Engine (DRE)** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** Boolean XTRUE if the device is configured with RX DRE, or XFALSE otherwise.* Note that earlier versions do not have DRE capability so this macro always* returns XFALSE.** @note** Signature: Xboolean XEmac_mIsRxDre(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mIsRxDre(InstancePtr)                                         \    (((InstancePtr)->ConfigPtr->RxDre != 0) ? XTRUE : XFALSE)/*****************************************************************************//**** This macro determines if the device is configured with the Checksum offload* functionality** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** Boolean XTRUE if the device is configured with Tx Csum, or XFALSE otherwise.* Note that earlier versions do not have Csum capability so this macro always* returns XFALSE.** @note** Signature: Xboolean XEmac_mIsTxHwCsum(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mIsTxHwCsum(InstancePtr)                                         \    (((InstancePtr)->ConfigPtr->TxHwCsum == 1) ? XTRUE : XFALSE)/*****************************************************************************//**** This macro determines if the device is configured with the Checksum offload* functionality** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** Boolean XTRUE if the device is configured with RX Csum, or XFALSE otherwise.* Note that earlier versions do not have Csum capability so this macro always* returns XFALSE.** @note** Signature: Xboolean XEmac_mIsRxHwCsum(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mIsRxHwCsum(InstancePtr)                                         \    (((InstancePtr)->ConfigPtr->RxHwCsum == 1) ? XTRUE : XFALSE)/*****************************************************************************//**** This macro enables the TxHwCsum for the EMAC** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** none** @note** Signature: void XEmac_mEnableTxHwCsum(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mEnableTxHwCsum(InstancePtr)                                    \        ((InstancePtr)->TxDmaControlWord |= XDC_DMACR_CS_OFFLOAD_MASK);/*****************************************************************************//**** This macro disables the TxHwCsum for the EMAC** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** none** @note** Signature: void XEmac_mDisableTxHwCsum(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mDisableTxHwCsum(InstancePtr)                                    \        ((InstancePtr)->TxDmaControlWord &= ~XDC_DMACR_CS_OFFLOAD_MASK);/*****************************************************************************//**** This macro disables the Global interrupt for the EMAC** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** none** @note** Signature: void XEmac_mDisableGIE(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mDisableGIE(InstancePtr)                                           \    XIIF_V123B_GINTR_DISABLE((InstancePtr)->BaseAddress);/*****************************************************************************//**** This macro enables the Global interrupt for the EMAC** @param InstancePtr is a pointer to the XEmac instance to be worked on.** @return** none** @note** Signature: void XEmac_mEnableGIE(XEmac *InstancePtr)*******************************************************************************/#define XEmac_mEnableGIE(InstancePtr)                                           \    XIIF_V123B_GINTR_ENABLE((InstancePtr)->BaseAddress);/************************** Function Prototypes ******************************//* * Initialization functions in xemac.c */XStatus XEmac_CfgInitialize(XEmac *InstancePtr, XEmac_Config *CfgPtr,                            Xuint32 VirtualAddress);XStatus XEmac_Start(XEmac *InstancePtr);XStatus XEmac_Stop(XEmac *InstancePtr);void XEmac_Reset(XEmac *InstancePtr);XEmac_Config *XEmac_LookupConfig(Xuint16 DeviceId);/* * Initialization functions in xemac_sinit.c */XStatus XEmac_Initialize(XEmac *InstancePtr, Xuint16 DeviceId);XStatus XEmac_VmInitialize(XEmac *InstancePtr, Xuint16 DeviceId,                           Xuint32 VirtualAddress);/* * Diagnostic functions in xemac_selftest.c */XStatus XEmac_SelfTest(XEmac *InstancePtr);/* * Polled functions in xemac_polled.c */XStatus XEmac_PollSend(XEmac *InstancePtr, Xuint8 *BufPtr, Xuint32 ByteCount);XStatus XEmac_PollRecv(XEmac *InstancePtr, Xuint8 *BufPtr,                       Xuint32 *ByteCountPtr);/* * Interrupts with scatter-gather DMA functions in xemac_intr_dma.c */XStatus XEmac_SgSend(XEmac *InstancePtr, XBufDescriptor *BdPtr, int Delay);XStatus XEmac_SgRecv(XEmac *InstancePtr, XBufDescriptor *BdPtr);XStatus XEmac_SetPktThreshold(XEmac *InstancePtr, Xuint32 Direction,                              Xuint8 Threshold);XStatus XEmac_GetPktThreshold(XEmac *InstancePtr, Xuint32 Direction,                              Xuint8 *ThreshPtr);XStatus XEmac_SetPktWaitBound(XEmac *InstancePtr, Xuint32 Direction,                              Xuint32 TimerValue);XStatus XEmac_GetPktWaitBound(XEmac *InstancePtr, Xuint32 Direction,                              Xuint32 *WaitPtr);XStatus XEmac_SetSgRecvSpace(XEmac *InstancePtr, Xuint32 *MemoryPtr,                             Xuint32 ByteCount);XStatus XEmac_SetSgSendSpace(XEmac *InstancePtr, Xuint32 *MemoryPtr,                             Xuint32 ByteCount);void XEmac_SetSgRecvHandler(XEmac *InstancePtr, void *CallBackRef,                            XEmac_SgHandler FuncPtr);void XEmac_SetSgSendHandler(XEmac *InstancePtr, void *CallBackRef,                            XEmac_SgHandler FuncPtr);unsigned XEmac_GetSgSendFreeDesc(XEmac *InstancePtr);unsigned XEmac_GetSgRecvFreeDesc(XEmac *InstancePtr);void XEmac_IntrHandlerDma(void *InstancePtr);       /* interrupt handler *//* * Interrupts with direct FIFO functions in xemac_intr_fifo.c. Also used * for simple DMA. */XStatus XEmac_FifoSend(XEmac *InstancePtr, Xuint8 *BufPtr, Xuint32 ByteCount);XStatus XEmac_FifoRecv(XEmac *InstancePtr, Xuint8 *BufPtr,                       Xuint32 *ByteCountPtr);void XEmac_SetFifoRecvHandler(XEmac *InstancePtr, void *CallBackRef,                              XEmac_FifoHandler FuncPtr);void XEmac_SetFifoSendHandler(XEmac *InstancePtr, void *CallBackRef,                              XEmac_FifoHandler FuncPtr);void XEmac_IntrHandlerFifo(void *InstancePtr);      /* interrupt handler *//* * General interrupt-related functions in xemac_intr.c */void XEmac_SetErrorHandler(XEmac *InstancePtr, void *CallBackRef,                           XEmac_ErrorHandler FuncPtr);/* * MAC configuration in xemac_options.c */XStatus XEmac_SetOptions(XEmac *InstancePtr, Xuint32 OptionFlag);Xuint32 XEmac_GetOptions(XEmac *InstancePtr);XStatus XEmac_SetMacAddress(XEmac *InstancePtr, Xuint8 *AddressPtr);void XEmac_GetMacAddress(XEmac *InstancePtr, Xuint8 *BufferPtr);XStatus XEmac_SetInterframeGap(XEmac *InstancePtr, Xuint8 Part1, Xuint8 Part2);void XEmac_GetInterframeGap(XEmac *InstancePtr, Xuint8 *Part1Ptr,                            Xuint8* Part2Ptr);/* * Multicast functions in xemac_multicast.c */XStatus XEmac_MulticastAdd(XEmac *InstancePtr, Xuint8 *AddressPtr, int Entry);XStatus XEmac_MulticastClear(XEmac *InstancePtr, int Entry);/* * PHY configuration in xemac_phy.c */void    XEmac_PhyReset(XEmac *InstancePtr);XStatus XEmac_PhyRead(XEmac *InstancePtr, Xuint32 PhyAddress,                      Xuint32 RegisterNum, Xuint16 *PhyDataPtr);XStatus XEmac_PhyWrite(XEmac *InstancePtr, Xuint32 PhyAddress,                       Xuint32 RegisterNum, Xuint16 PhyData);/* * Statistics in xemac_stats.c */void XEmac_GetStats(XEmac *InstancePtr, XEmac_Stats *StatsPtr);void XEmac_ClearStats(XEmac *InstancePtr);#ifdef __cplusplus}#endif#endif            /* end of protection macro */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -