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

📄 mottsecdrv.h

📁 freescale mottsec 千兆单元驱动源码
💻 H
📖 第 1 页 / 共 3 页
字号:
                 ZXR10_MOT_TSEC_MACCFG2_PADCRC      | \                 ZXR10_MOT_TSEC_MACCFG2_CRC_EN      | \                 ZXR10_MOT_TSEC_MACCFG2_IF_MODE(ZXR10_MOT_TSEC_MACCFG2_IF_MODE_GMII_TBI))/* CLRCNT = YES,  = NO,  STEN = YES,  TBIM = NO, RPM = NO, R100M = 10 */#define ZXR10_MOT_TSEC_ECNTRL_DEFAULT  (ZXR10_MOT_TSEC_ECNTRL_STEN | ZXR10_MOT_TSEC_ECNTRL_AUTOZ)#define ZXR10_MOT_TSEC_TBIPA_DEFAULT  (30)#define ZXR10_MOT_TSEC_EDIS_DEFAULT (ZXR10_MOT_TSEC_EDIS_EBERRDIS 	| 	\                               ZXR10_MOT_TSEC_EDIS_TXEDIS 	| 	\			       ZXR10_MOT_TSEC_EDIS_LCDIS    	| 	\                               ZXR10_MOT_TSEC_EDIS_CRLDIS 	| 	\			       ZXR10_MOT_TSEC_EDIS_XFUNDIS )/* Minimum Frame Receive Length */#define ZXR10_MOT_TSEC_MINFLR_DEFAULT (64)/* Tx Flow Control PAUSE Time Default  */#define ZXR10_MOT_TSEC_PVT_DEFAULT  (ZXR10_MOT_TSEC_PTV_PTE(0)+ ZXR10_MOT_TSEC_PTV_PTE(0))/* DMA Control Register Default */#define ZXR10_MOT_TSEC_DMACTRL_DEFAULT  (ZXR10_MOT_TSEC_DMACTRL_TDSEN  | \                                   ZXR10_MOT_TSEC_DMACTRL_TBDSEN | \                                   ZXR10_MOT_TSEC_DMACTRL_WWR)#define ZXR10_MOT_TSEC_FIFO_TX_THR_DEFAULT           (256)#define ZXR10_MOT_TSEC_FIFO_TX_STARVE_DEFAULT        (128)#define ZXR10_MOT_TSEC_FIFO_TX_STARVE_OFF_DEFAULT    (256)/* Transmit Interrupt Coalescing */#define ZXR10_MOT_TSEC_TXIC_DEFAULT ZXR10_MOT_TSEC_TXIC_ICFCT(18) | \                              ZXR10_MOT_TSEC_TXIC_ICTT(0xffff)/* BACK PRESSURE = NO, RFC_PAUSE = NO, TFC_PAUSE = NO */#define ZXR10_MOT_TSEC_TCTRL_DEFAULT      (0)#define ZXR10_MOT_TSEC_TSTAT_DEFAULT      (ZXR10_MOT_TSEC_TSTAT_THLT)/* PROMISCUOUS = NO, BROAD_REJECT = NO, RX SHORT FRAMES = NO *//*zhou modify ZXR10_MOT_TSEC_PROMISCUOUS_MODE|ZXR10_MOT_TSEC_RX_SHORT_FRAME*/#define ZXR10_MOT_TSEC_RCTRL_DEFAULT      (0)/*#define ZXR10_MOT_TSEC_RCTRL_DEFAULT      (ZXR10_MOT_TSEC_PROMISCUOUS_MODE|ZXR10_MOT_TSEC_RX_SHORT_FRAME)*/#define ZXR10_MOT_TSEC_RSTAT_DEFAULT      (0)#define ZXR10_MOT_TSEC_MRBLR_DEFAULT      ZXR10_MOT_TSEC_MRBLR(0x600)#define ZXR10_MOT_TSEC_IPGIFG_DEFAULT     (ZXR10_MOT_TSEC_IPGIFG_NBBIPG1(0x40) | \                                     ZXR10_MOT_TSEC_IPGIFG_NBBIPG2(0x60) | \                                     ZXR10_MOT_TSEC_IPGIFG_MIFGE(0x50)   | \                                     ZXR10_MOT_TSEC_IPGIFG_BBIPG(0x60))#define ZXR10_MOT_TSEC_HAFDUP_DEFAULT     (ZXR10_MOT_TSEC_HALDUP_ALTBEB_TRUNC(0x0a) | \                                     ZXR10_MOT_TSEC_HALDUP_RETRY(0x0f)        | \                                     ZXR10_MOT_TSEC_HALDUP_COL_WINDOW(0x37)     )#define ZXR10_MOT_TSEC_MAXFRM_DEFAULT      ZXR10_MOT_TSEC_MAXFRM(0x0600)#define ZXR10_MOT_TSEC_MIICFG_DEFAULT     (ZXR10_MOT_TSEC_MIIMCFG_MCS(ZXR10_MOT_TSEC_MIIMCFG_MCS_14))#define ZXR10_MOT_TSEC_MIICOM_DEFAULT      0#define ZXR10_MOT_TSEC_IFSTAT_DEFAULT      0#define ZXR10_MOT_TSEC_ATTR_DEFAULT  ((ZXR10_MOT_TSEC_ATTR_RDSEN)     | \                                (ZXR10_MOT_TSEC_ATTR_BDLWT(ZXR10_MOT_TSEC_ATTR_BDLWT_L2)))#define ZXR10_MOT_TSEC_ATTRELI_EL_DEFAULT (ZXR10_MOT_TSEC_ATTRELI_EL(0xc00) | \                                     ZXR10_MOT_TSEC_ATTRELI_EI(0))/*zhou add Eplogue protocol net buffer*/#define BufferSize                0x1540typedef struct{	UINT32 BufferIndex;	UINT32 BufferAddr;	UINT32 BufferLen;} BufferList;/* TSEC Register flags */#define ZXR10_MOT_TSEC_FLAG_MINFLR      0x00000001#define ZXR10_MOT_TSEC_FLAG_MAXFRM      0x00000002#define ZXR10_MOT_TSEC_FLAG_PVT         0x00000004#define ZXR10_MOT_TSEC_FLAG_TBIPA       0x00000008#define ZXR10_MOT_TSEC_FLAG_FIFO_TX     0x00000010#define ZXR10_MOT_TSEC_FLAG_IADDR       0x00000020#define ZXR10_MOT_TSEC_FLAG_GADDR       0x00000040#define ZXR10_MOT_TSEC_FLAG_MACCFG2     0x00000080#define ZXR10_MOT_TSEC_FLAG_IPGIFGI     0x00000100#define ZXR10_MOT_TSEC_FLAG_HAFDUP      0x00000200#define ZXR10_MOT_TSEC_FLAG_MIICFG      0x00000400#define ZXR10_MOT_TSEC_FLAG_ATTR        0x00000800typedef struct    {    UINT32   phyAddr;        /* phy physical address */    UINT32   phyDefMode;     /* default mode */    UINT32   phyMaxDelay;    /* max delay */    UINT32   phyDelayParm;   /* poll interval if in poll mode */    MII_AN_ORDER_TBL * phyAnOrderTbl;  /* autonegotiation table */    } ZXR10_MOT_TSEC_PHY_PARAMS;typedef struct    {    VUINT16 bdStat;    VUINT16 bdLen;    VUINT32 bdAddr;    } TSEC_BD;typedef struct    {    UINT8   *memBufPtr;    /* Buffer pointer for allocated buffer space */    UINT32   memBufSize;   /* Buffer pool size */    TSEC_BD *bdBasePtr;    /* Descriptor Base Address */    UINT32   bdSize;       /* Descriptor Size */    UINT32   rbdNum;       /* Number of Receive Buffer Descriptors  */    UINT32   tbdNum;       /* Number of Transmit Buffer Descriptors */    } ZXR10_MOT_TSEC_PARAMS;typedef struct    {    UINT32 usrBitFlags;     /* TSEC specific user bit flags */    UINT32 usrRegFlags;     /* TSEC specific user reg flags */    UINT32 minFrameLength;  /* Ethernet Minimum Frame Length */    UINT32 maxFrameLength;  /* Ethernet Maximum Frame Length */    /* TSEC Specific Device Parameters */    UINT32 pauseTimeValue;  /* ext + pause time value */    UINT32 tbiPhyAds;       /* Ten Bit Interface physical address */    /* Tx FIFO Manipulation */    UINT32 fifoTxTheshold;    UINT32 fifoTxStarve;    UINT32 fifoTxStarveShutOff;    /* MAC specific Parameters */    UINT32 macIndividualHash[8]; /* initial individual addresses [8]*/    UINT32 macGroupHash[8];      /* initial group addresses [8]*/    UINT32 macPreambleLength;    UINT32 macIfMode;    UINT32 macIpgifgNbbipg1;    UINT32 macIpgifgNbbipg2;    UINT32 macIpgifgMifge;    UINT32 macIpgifgBbipg;    /* MAC half duplex specific parameters */    UINT32 macHalfDuplexAltBebTruncation;    UINT32 macHalfDuplexRetryMaximum;    UINT32 macHalfDuplexCollisionWindow;    UINT32 miiMgmtClockSelect;    UINT32 phyAddress;    /* Misc */    UINT32 extL2Cache;    UINT32 bdL2Cache;    UINT32 dmaExtLength;    UINT32 dmaExtIndex;    } ZXR10_MOT_TSEC_EXT_PARAMS;/*-----------------------------------------------------------------*//*                   TSEC registers                                *//*-----------------------------------------------------------------*/typedef struct    {/* TSEC General Control and Status Registers */    VUINT32 pad_1[4];    VUINT32 ievent;    VUINT32 imask;    VUINT32 edis;    VUINT32 pad_2;    VUINT32 ecntrl;    VUINT32 minflr;    VUINT32 ptv;    VUINT32 dmactrl;    VUINT32 tbipa;    VUINT32 pad_3[3];    VUINT32 pad_4[19];/* TSEC FIFO control and Status */    VUINT32 fifoTxTheshold;    VUINT32 pad_5[2];    VUINT32 fifoTxStarve;    VUINT32 fifoTxStarveShutoff;    VUINT32 pad_6[24];/* TSEC Transmit Control and Status Registers */    VUINT32 tctrl;    VUINT32 tstat;    VUINT32 pad_7;    VUINT32 tbdlen;    VUINT32 txic;    VUINT32 pad_8[4];    VUINT32 ctbptr;    VUINT32 pad_9[23];    VUINT32 tbptr;    VUINT32 pad_10[31];    VUINT32 tbase;    VUINT32 pad_11[42];    VUINT32 ostbd;    VUINT32 ostbdp;    VUINT32 pad_12[18];/* TSEC Receive Control and Status */    VUINT32 rctrl;    VUINT32 rstat;    VUINT32 pad_13[1];    VUINT32 rbdlen;    VUINT32 pad_14[4];    VUINT32 pad_15[1];    VUINT32 crbptr;    VUINT32 pad_16[6];    VUINT32 mrblr;    VUINT32 pad_17[16];    VUINT32 rbptr;    VUINT32 pad_18[31];    VUINT32 rbase;    VUINT32 pad_19[62];/* TSEC MAC Registers */    VUINT32 maccfg1;    VUINT32 maccfg2;    VUINT32 ipgifgi;    VUINT32 hafdup;    VUINT32 maxfrm;    VUINT32 pad_20[1];    VUINT32 pad_21[1];    VUINT32 pad_22[1];    VUINT32 miicfg;    VUINT32 miicom;    VUINT32 miimadd;    VUINT32 miimcon;    VUINT32 miimstat;    VUINT32 miimind;    VUINT32 pad_23[1];    VUINT32 ifstat;    VUINT32 macstnaddr1;    VUINT32 macstnaddr2;    VUINT32 pad_24[78];/* TSEC Receive Counters */    VUINT32 tr64;    VUINT32 tr127;    VUINT32 tr255;    VUINT32 tr511;    VUINT32 tr1k;    VUINT32 trmax;    VUINT32 trmgv;    VUINT32 rbyt;    VUINT32 rpkt;    VUINT32 rfcs;    VUINT32 rmca;    VUINT32 rbca;    VUINT32 rxcf;    VUINT32 rxpf;    VUINT32 rxuo;    VUINT32 raln;    VUINT32 rflr;    VUINT32 rcde;    VUINT32 rcse;    VUINT32 rund;    VUINT32 rovr;    VUINT32 rfgr;    VUINT32 rjbr;    VUINT32 rdrp;/* Transmit Counters */    VUINT32 tbyt;    VUINT32 tpkt;    VUINT32 tmca;    VUINT32 tbca;    VUINT32 txpf;    VUINT32 tdfr;    VUINT32 tedf;    VUINT32 tscl;    VUINT32 tmcl;    VUINT32 tlcl;    VUINT32 txcl;    VUINT32 tncl;    VUINT32 pad_25[1];    VUINT32 tdrp;    VUINT32 tjbr;    VUINT32 tfcs;    VUINT32 tfcf;    VUINT32 tovr;    VUINT32 tund;    VUINT32 tfrg; /* General Registers */    VUINT32 car1;    VUINT32 car2;    VUINT32 cam1;    VUINT32 cam2;    VUINT32 pad_26[48];/* Individual Hash function Registers */    VUINT32 iaddr[8];    VUINT32 pad_27[24];/* Group Hash function Registers */    VUINT32 gaddr[8];    VUINT32 pad_28[214];    VUINT32 attr;    VUINT32 attreli;/* TSEC Future Expansion Space */    VUINT32 resv[256];    } TSEC_REG_T;typedef struct    {    UINT32  numInts;    UINT32  numZcopySends;    UINT32  numNonZcopySends;    UINT32  numTXBInts;    UINT32  numBSYInts;    UINT32  numRXFInts;    UINT32  numRXBInts;    UINT32  numGRAInts;    UINT32  numRXCInts;    UINT32  numTXCInts;    UINT32  numTXEInts;    UINT32  nuzxr10_motHERInts;    UINT32  numRXFHandlerEntries;    UINT32  numRXFHandlerErrQuits;    UINT32  numRXFHandlerFramesProcessed;    UINT32  numRXFHandlerFramesRejected;    UINT32  numRXFHandlerNetBufAllocErrors;    UINT32  numRXFHandlerNetCblkAllocErrors;    UINT32  numRXFHandlerNetMblkAllocErrors;    UINT32  numRXFHandlerFramesCollisions;    UINT32  numRXFHandlerFramesCrcErrors;    UINT32  numRXFHandlerFramesLong;    UINT32  numRXFExceedBurstLimit;    UINT32  numNetJobAddErrors;    UINT32  numRxStallsEntered;    UINT32  numRxStallsCleared;    UINT32  numTxStallsEntered;    UINT32  numTxStallsCleared;    UINT32  numTxStallErrors;    UINT32  numLSCHandlerEntries;    UINT32  numLSCHandlerExits;    UINT32  txErr;    UINT32  HbFailErr;    UINT32  txLcErr;    UINT32  txUrErr;    UINT32  txCslErr;    UINT32  txRlErr;    UINT32  txDefErr;    UINT32  rxBsyErr;    UINT32  rxLgErr;    UINT32  rxNoErr;    UINT32  rxCrcErr;    UINT32  rxOvErr;    UINT32  rxShErr;    UINT32  rxLcErr;    UINT32  rxMemErr;    } TSEC_DRIVER_STATS;#define ZXR10_MOT_TSEC_FRAME_SET(p)        TSEC_REG_T * tsecReg = (p)->tsecRegsPtr;#define ZXR10_MOT_TSEC_MII_FRAME_SET(p)    TSEC_REG_T * tsecMiiReg = (p)->tsecMiiPtr;

⌨️ 快捷键说明

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