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

📄 fec.h

📁 Freescale MCF5445evb 参考测试代码
💻 H
字号:
/* * File:    fec.h * Purpose: Driver for the Fast Ethernet Controller (FEC) * * Notes:        */#ifndef _FEC_H_#define _FEC_H_#include "queue.h"#include "nbuf.h"#include "eth.h"#include "nif.h"#include "fecbd.h"#include "mii.h"#include "eth_phy.h"/********************************************************************//* External Interface Modes */#define FEC_MODE_7WIRE          0   /* Old 7-wire (AMD) mode */#define FEC_MODE_MII            1   /* Media Independent Interface */#define FEC_MODE_RMII           2   /* Reduced MII */#define FEC_MODE_LOOPBACK       3   /* Internal Loopback */#define INTC_LVL_FEC			5/* * FEC Configuration Parameters */typedef struct {    uint8      ch;       /* FEC channel              */    uint8      mode;     /* Transceiver mode         */    MII_SPEED  speed;    /* Ethernet Speed           */    MII_DUPLEX duplex;   /* Ethernet Duplex          */    uint8      prom;     /* Promiscuous Mode?        */    uint8      mac[6];   /* Ethernet Address         */    uint8      phyaddr;  /* PHY address              */    uint8      initphy;  /* Init PHY?                */    int        nrxbd;    /* Number of RxBDs          */    int        ntxbd;    /* Number of TxBDs          */} FEC_CONFIG;#define YES 1#define NO 0/* * FEC Event Log */typedef struct {    int errors;     /* total count of errors   */    int hberr;      /* heartbeat error         */    int babr;       /* babbling receiver       */    int babt;       /* babbling transmitter    */    int gra;        /* graceful stop complete  */    int txf;        /* transmit frame          */    int txb;        /* transmit buffer         */    int rxf;        /* receive frame           */    int rxb;        /* received buffer         */    int mii;        /* MII                     */    int eberr;      /* FEC/DMA fatal bus error */    int lc;         /* late collision          */    int rl;         /* collision retry limit   */    int un;         /* Tx FIFO underflow       */    int rfsw_inv;   /* Invalid bit in RFSW     */    int rfsw_l;     /* RFSW Last in Frame      */    int rfsw_m;     /* RFSW Miss               */    int rfsw_bc;    /* RFSW Broadcast          */    int rfsw_mc;    /* RFSW Multicast          */    int rfsw_lg;    /* RFSW Length Violation   */    int rfsw_no;    /* RFSW Non-octet          */    int rfsw_cr;    /* RFSW Bad CRC            */    int rfsw_ov;    /* RFSW Overflow           */    int rfsw_tr;    /* RFSW Truncated          */} FEC_EVENT_LOG;int fec_mii_write(int, int, int, int);int fec_mii_read(int, int, int, uint16*);voidfec_mii_init(int, int);voidfec_mib_init(int);voidfec_mib_dump(int);voidfec_log_init(int);voidfec_log_dump(int);voidfec_reg_dump(int);voidfec_duplex (int, MII_DUPLEX);voidfec_rmii_speed (int, MII_SPEED);uint8fec_hash_address(const uint8*);voidfec_set_address (int, const uint8*);voidfec_reset (int);voidfec_init (int, int, MII_DUPLEX, int, const uint8*);voidfec_rx_start(int, uint8*, int);voidfec_rx_continue(int);voidfec_rx_handler(NIF*);voidfec0_rx_handler(void);voidfec1_rx_handler(void);voidfec_tx_continue(int);voidfec_tx_stop (int);voidfec_tx_handler(NIF*, int);intfec_send (int , uint8*, uint8*, uint16 , NBUF*);intfec0_send(uint8*, uint8*, uint16 , NBUF*);intfec1_send(uint8*, uint8*, uint16 , NBUF*);voidfec_irq_enable(int);voidfec_irq_disable(int);intfec_eth_start(FEC_CONFIG*, int);voidfec_eth_stop(int);/********************************************************************/#endif /* _FEC_H_ */

⌨️ 快捷键说明

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