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

📄 mac2510.h

📁 source code of armboot for s3c4510
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef	__MAC2510h#define		__MAC2510h/* Big endian or little endian big = 1, little = 0 */#define BIG_ENDIAN			0/*FOR VxWorks*//*#define PACK_RESERVED		(__attribute__((__packed__)))*/#define PACK_RESERVED/********** ETHERNET control registers **************/#define BDMATXCON 				(0x0000)#define BDMARXCON 				(0x0004)#define BDMATXDPTR 				(0x0008)#define BDMARXDPTR 				(0x000C)#define BTXBDCNT				(0x0010)#define BRXBDCNT				(0x0014)#define BMTXINTEN				(0x0018)#define BMRXINTEN				(0x001C)#define BMTXSTAT				(0x0020)#define BMRXSTAT				(0x0024)#define BDMARXLEN				(0x0028)#define CFTXSTAT				(0x0030)#define MACCON					(0x10000)#define CAMCON					(0x10004)#define MACTXCON				(0x10008)#define MACTXSTAT				(0x1000C)#define MACRXCON				(0x10010)#define MACRXSTAT				(0x10014)#define STADATA					(0x10018)#define STACON					(0x1001C)#define CAMEN					(0x10028)#define MISSCNT					(0x1003C)#define PZCNT					(0x10040)#define RMPZCNT					(0x10044)#define CAM_BASE				(0x10080)/********** Tx Buffer Descriptor **************/struct FD_TX_STATUS_LENGTH_PACKED{#if BIG_ENDIAN	ulong owner:1;				/* 31, 0 = CPU */	ulong reserved:1;			/* 30 */	ulong paused:1;				/* 29 */	ulong halted:1;				/* 28 */	ulong sqeErr:1;				/* 27 */	ulong defer:1;				/* 26 */	ulong coll:1;				/* 25 */	ulong comp:1;				/* 24 */	ulong parErr:1;				/* 23 */	ulong lateColl:1;			/* 22 */	ulong noCarr:1;				/* 21 */	ulong deferErr:1;			/* 20 */	ulong underflow:1;			/* 19 */	ulong exColl:1;				/* 18 */	ulong TxWidget:2;			/* 17 - 16 */	ulong TxLength:16;			/* 15 - 0 */#else	ulong TxLength:16;			/* 15 - 0 */	ulong TxWidget:2;			/* 17 - 16 */	ulong exColl:1;				/* 18 */	ulong underflow:1;			/* 19 */	ulong deferErr:1;			/* 20 */	ulong noCarr:1;				/* 21 */	ulong lateColl:1;			/* 22 */	ulong parErr:1;				/* 23 */	ulong comp:1;				/* 24 */	ulong coll:1;				/* 25 */	ulong defer:1;				/* 26 */	ulong sqeErr:1;				/* 27 */	ulong halted:1;				/* 28 */	ulong paused:1;				/* 29 */	ulong reserved:1;			/* 30 */	ulong owner:1;				/* 31, 0 = CPU */#endif	}PACK_RESERVED;typedef struct FD_TX_STATUS_LENGTH_PACKED FD_TX_STATUS_LENGTH;struct TRANSMIT_FRAME_DESC_PACKED{	ulong	txFrameData;	FD_TX_STATUS_LENGTH txStatusLength;}PACK_RESERVED;typedef struct TRANSMIT_FRAME_DESC_PACKED TRANSMIT_FRAME_DESC;/********** Rx Buffer Descriptor **************/struct FD_RX_STATUS_LENGTH_PACKED{#if BIG_ENDIAN	/* rx command */	ulong owner:1;				/* 31, 0 = CPU */	ulong skipBD:1;				/* 30 */	ulong sof:1;				/* 29 */	ulong eof:1;				/* 28 */	ulong done:1;				/* 27 */	/* rx status */	ulong mso:1;				/* 26 */	ulong halted:1;				/* 25 */	ulong mRx10Stat:1;			/* 24 */	ulong bRxDone:1;			/* 23 */	ulong rxParErr:1;			/* 22 */	ulong mufs:1;				/* 21 */	ulong overFlow:1;			/* 20 */	ulong crcErr:1;				/* 19 */	ulong alignErr:1;			/* 18 */	ulong reserved:2;			/* 17-16 */	/* length */	ulong RxLength:16;			/* 15-0 */#else	/* length */	ulong RxLength:16;			/* 15-0 */	/* rx status */	ulong reserved:2;			/* 17-16 */	ulong alignErr:1;			/* 18 */	ulong crcErr:1;				/* 19 */	ulong overFlow:1;			/* 20 */	ulong mufs:1;				/* 21 */	ulong rxParErr:1;			/* 22 */	ulong bRxDone:1;			/* 23 */	ulong mRx10Stat:1;			/* 24 */	ulong halted:1;				/* 25 */	ulong mso:1;				/* 26 */	/* rx command */	ulong done:1;				/* 27 */	ulong eof:1;				/* 28 */	ulong sof:1;				/* 29 */	ulong skipBD:1;				/* 30 */	ulong owner:1;				/* 31, 0 = CPU */#endif	}PACK_RESERVED;typedef struct FD_RX_STATUS_LENGTH_PACKED FD_RX_STATUS_LENGTH;struct RECEIVE_FRAME_DESC_PACKED			/* receive frame descriptor */{	ulong	rxFrameData;	FD_RX_STATUS_LENGTH rxStatusLength;}PACK_RESERVED;typedef struct RECEIVE_FRAME_DESC_PACKED RECEIVE_FRAME_DESC;#define	MACRXFRAMEERRMASK		0x067c0000/* ********* Control Registers ************* */struct BDMATXCON_PACKED{#if BIG_ENDIAN	ulong reserved_1:20;	ulong bTxRS:1;	ulong bTxEn:1;	ulong reserved_0:3;	ulong bTxMSL:3;	ulong bTxNBD:4;#else	ulong bTxNBD:4;	ulong bTxMSL:3;	ulong reserved_0:3;	ulong bTxEn:1;	ulong bTxRS:1;	ulong reserved_1:20;#endif}PACK_RESERVED;union UNION_BDMATXCON	{		struct BDMATXCON_PACKED	txCon_reg;		ulong txCon_resetval;	}PACK_RESERVED; typedef union UNION_BDMATXCON uBDMATXCON;struct BDMARXCON_PACKED{#if BIG_ENDIAN	ulong reserved_1:20;	ulong bRxRS:1;	ulong bRxEn:1;	ulong reserved_0:4;	ulong bRxWA:2;	ulong bRxNBD:4;#else	ulong bRxNBD:4;	ulong bRxWA:2;	ulong reserved_0:4;	ulong bRxEn:1;	ulong bRxRS:1;	ulong reserved_1:20;#endif}PACK_RESERVED;union UNION_BDMARXCON{	struct BDMARXCON_PACKED	rxCon_reg;	ulong rxCon_resetval;}PACK_RESERVED; typedef union UNION_BDMARXCON uBDMARXCON;struct BDMATXINTEN_PACKED{#if BIG_ENDIAN	ulong reserved_1:13;		/* 19 - 31 */	ulong bTxEmptyIE:1;			/* 18 */	ulong bTxNOIE:1;			/* 17 */	ulong txCFcompIE:1;			/* 16 */	ulong reserved_0:9;			/* 7 - 15 */	ulong txCompIE:1;			/* 6 */	ulong txParErrIE:1;			/* 5 */	ulong lateCollIE:1;			/* 4 */	ulong noCarrIE:1;			/* 3 */	ulong deferErrIE:1;			/* 2 */	ulong underflowIE:1;		/* 1 */	ulong exCollIE:1;			/* 0 */#else	ulong exCollIE:1;			/* 0 */	ulong underflowIE:1;		/* 1 */	ulong deferErrIE:1;			/* 2 */	ulong noCarrIE:1;			/* 3 */	ulong lateCollIE:1;			/* 4 */	ulong txParErrIE:1;			/* 5 */	ulong txCompIE:1;			/* 6 */	ulong reserved_0:9;			/* 7 - 15 */	ulong txCFcompIE:1;			/* 16 */	ulong bTxNOIE:1;			/* 17 */	ulong bTxEmptyIE:1;			/* 18 */	ulong reserved_1:13;		/* 19 - 31 */#endif	}PACK_RESERVED;union UNION_BDMATXINTEN{		struct BDMATXINTEN_PACKED	txIntEn_reg;		ulong txIntEn_resetval;}PACK_RESERVED; typedef union UNION_BDMATXINTEN uBDMATXINTEN;struct BDMATXSTAT_PACKED{#if BIG_ENDIAN	ulong reserved_1:13;	/* 19 - 31 */	ulong bTxEmpty:1;		/* 18 */	ulong bTxNO:1;			/* 17 */	ulong txCFcomp:1;		/* 16 */	ulong reserved_0:9;		/* 7 - 15 */	ulong txComp:1;			/* 6 */	ulong txParErr:1;		/* 5 */	ulong lateColl:1;		/* 4 */	ulong noCarr:1;			/* 3 */	ulong deferErr:1;		/* 2 */	ulong underflow:1;		/* 1 */	ulong exColl:1;			/* 0 */#else	ulong exColl:1;			/* 0 */	ulong underflow:1;		/* 1 */	ulong deferErr:1;		/* 2 */	ulong noCarr:1;			/* 3 */	ulong lateColl:1;		/* 4 */	ulong txParErr:1;		/* 5 */	ulong txComp:1;			/* 6 */	ulong reserved_0:9;		/* 7 - 15 */	ulong txCFcomp:1;		/* 16 */	ulong bTxNO:1;			/* 17 */	ulong bTxEmpty:1;		/* 18 */	ulong reserved_1:13;	/* 19 - 31 */#endif	}PACK_RESERVED;union UNION_BDMATXSTAT{		struct BDMATXSTAT_PACKED	txstat_reg;		ulong txstat_resetval;}PACK_RESERVED; typedef union UNION_BDMATXSTAT uBDMATXSTAT;struct BDMARXINTEN_PACKED{#if BIG_ENDIAN	ulong reserved_1:11;		/* 21 - 31 */	ulong bRxEarlyIE:1;			/* 20 */	ulong bRxFullIE:1;			/* 19 */	ulong overflowIE:1;			/* 3 */	ulong longErrIE:1;			/* 4 */	ulong rxParErrIE:1;			/* 5 */	ulong reserved_0:10;		/* 6 - 15 */	ulong bRxDoneIE:1;			/* 16 */	ulong bRxNOIE:1;			/* 17 */	ulong bRxMSOIE:1;			/* 18 */	ulong crcErrIE:1;			/* 2 */	ulong alignErrIE:1;			/* 1 */	ulong missRollIE:1;			/* 0 */#else	ulong missRollIE:1;			/* 0 */	ulong alignErrIE:1;			/* 1 */	ulong crcErrIE:1;			/* 2 */	ulong overflowIE:1;			/* 3 */	ulong longErrIE:1;			/* 4 */	ulong rxParErrIE:1;			/* 5 */	ulong reserved_0:10;		/* 6 - 15 */	ulong bRxDoneIE:1;			/* 16 */	ulong bRxNOIE:1;			/* 17 */	ulong bRxMSOIE:1;			/* 18 */	ulong bRxFullIE:1;			/* 19 */	ulong bRxEarlyIE:1;			/* 20 */	ulong reserved_1:11;		/* 21 - 31 */#endif	}PACK_RESERVED;union UNION_BDMARXINTEN{		struct BDMATXINTEN_PACKED	rxIntEn_reg;		ulong rxIntEn_resetval;}PACK_RESERVED; typedef union UNION_BDMARXINTEN uBDMARXINTEN;struct BDMARXSTAT_PACKED{#if BIG_ENDIAN	ulong reserved_1:5;			/* 27 - 31 */	ulong noFrameInRXBUFF:5;	/* 22 - 26 */	ulong bRxFRF:1;				/* 21 */	ulong bRxEarly:1;			/* 20 */	ulong bRxFull:1;			/* 19 */	ulong bRxMSO:1;				/* 18 */	ulong bRxNO:1;				/* 17 */	ulong bRxDone:1;			/* 16 */	ulong reserved_0:10;		/* 6 - 15 */	ulong rxParErr:1;			/* 5 */	ulong longErr:1;			/* 4 */	ulong overflow:1;			/* 3 */	ulong crcErr:1;				/* 2 */	ulong alignErr:1;			/* 1 */	ulong missRoll:1;			/* 0 */#else	ulong missRoll:1;			/* 0 */	ulong alignErr:1;			/* 1 */	ulong crcErr:1;				/* 2 */	ulong overflow:1;			/* 3 */	ulong longErr:1;			/* 4 */	ulong rxParErr:1;			/* 5 */	ulong reserved_0:10;		/* 6 - 15 */	ulong bRxDone:1;			/* 16 */	ulong bRxNO:1;				/* 17 */	ulong bRxMSO:1;				/* 18 */	ulong bRxFull:1;			/* 19 */	ulong bRxEarly:1;			/* 20 */	ulong bRxFRF:1;				/* 21 */	ulong noFrameInRXBUFF:5;	/* 22 - 26 */	ulong reserved_1:5;			/* 27 - 31 */#endif	}PACK_RESERVED;union UNION_BDMARXSTAT{		struct BDMARXSTAT_PACKED	rxStat_reg;		ulong rxStat_resetval;}PACK_RESERVED; typedef union UNION_BDMARXSTAT uBDMARXSTAT;struct BMTXINTEN_PACKED{#if BIG_ENDIAN	ulong reserved_1:13;		/* 19 - 31 */	ulong bTxEmptyIE:1;			/* 18 */	ulong bTxNOIE:1;			/* 17 */	ulong txCFcompIE:1;			/* 16 */	ulong reserved_0:9;			/* 7 - 15 */	ulong txCompIE:1;			/* 6 */	ulong txParErrIE:1;			/* 5 */	ulong lateCollIE:1;			/* 4 */	ulong noCarrrIE:1;			/* 3 */	ulong deferErrIE:1;			/* 2 */	ulong underflowIE:1;		/* 1 */	ulong exCollIE:1;			/* 0 */#else	ulong exCollIE:1;			/* 0 */	ulong underflowIE:1;		/* 1 */	ulong deferErrIE:1;			/* 2 */	ulong noCarrrIE:1;			/* 3 */	ulong lateCollIE:1;			/* 4 */	ulong txParErrIE:1;			/* 5 */	ulong txCompIE:1;			/* 6 */	ulong reserved_0:9;			/* 7 - 15 */	ulong txCFcompIE:1;			/* 16 */	ulong bTxNOIE:1;			/* 17 */	ulong bTxEmptyIE:1;			/* 18 */	ulong reserved_1:13;		/* 19 - 31 */#endif}PACK_RESERVED;union UNION_BMTXINTEN{	struct BMTXINTEN_PACKED	txIntEn_reg;	ulong txIntEn_resetval;}PACK_RESERVED; typedef union UNION_BMTXINTEN uBMTXINTEN;struct BMTXSTAT_PACKED{#if BIG_ENDIAN	ulong reserved_1:13;		/* 19 - 31 */	ulong bTxEmpty:1;			/* 18 */	ulong bTxNO:1;				/* 17 */	ulong txCFcomp:1;			/* 16 */	ulong reserved_0:9;			/* 7 - 15 */	ulong tcComp:1;				/* 6 */	ulong txParErr:1;			/* 5 */	ulong lateColl:1;			/* 4 */	ulong noCarrr:1;			/* 3 */	ulong deferErr:1;			/* 2 */	ulong underflow:1;			/* 1 */	ulong exColl:1;				/* 0 */#else	ulong exColl:1;				/* 0 */	ulong underflow:1;			/* 1 */	ulong deferErr:1;			/* 2 */	ulong noCarrr:1;			/* 3 */	ulong lateColl:1;			/* 4 */	ulong txParErr:1;			/* 5 */	ulong txComp:1;				/* 6 */	ulong reserved_0:9;			/* 7 - 15 */	ulong txCFcomp:1;			/* 16 */	ulong bTxNO:1;				/* 17 */	ulong bTxEmpty:1;			/* 18 */	ulong reserved_1:13;		/* 19 - 31 */#endif}PACK_RESERVED;union UNION_BMTXSTAT{	struct BMTXSTAT_PACKED	txStat_reg;	ulong txStat_resetval;}PACK_RESERVED; typedef union UNION_BMTXSTAT uBMTXSTAT;struct BMRXINTEN_PACKED{#if BIG_ENDIAN	ulong reserved_1:11;		/* 21 - 31 */	ulong bRxEarlyIE:1;			/* 20 */	ulong bRxFullIE:1;			/* 19 */	ulong bRxMSOIE:1;			/* 18 */	ulong bRxNOIE:1;			/* 17 */	ulong bRxDoneIE:1;			/* 16 */	ulong reserved_0:10;		/* 6 - 15 */	ulong rxParErrIE:1;			/* 5 */	ulong longErrIE:1;			/* 4 */	ulong overflowIE:1;			/* 3 */	ulong crcErrIE:1;			/* 2 */	ulong alignErrIE:1;			/* 1 */	ulong missRollIE:1;			/* 0 */#else	ulong missRollIE:1;			/* 0 */	ulong alignErrIE:1;			/* 1 */	ulong crcErrIE:1;			/* 2 */	ulong overflowIE:1;			/* 3 */	ulong longErrIE:1;			/* 4 */	ulong rxParErrIE:1;			/* 5 */	ulong reserved_0:10;		/* 6 - 15 */	ulong bRxDoneIE:1;			/* 16 */	ulong bRxNOIE:1;			/* 17 */	ulong bRxMSOIE:1;			/* 18 */	ulong bRxFullIE:1;			/* 19 */	ulong bRxEarlyIE:1;			/* 20 */	ulong reserved_1:11;		/* 21 - 31 */#endif}PACK_RESERVED;union UNION_BMRXINTEN{	struct BMRXINTEN_PACKED	rxIntEn_reg;	ulong rxIntEn_resetval;}PACK_RESERVED; typedef union UNION_BMRXINTEN uBMRXINTEN;struct BMRXSTAT_PACKED{#if BIG_ENDIAN	ulong reserved_1:5;			/* 27 - 31 */	ulong bRxNFR:5;				/* 22 - 26 */	ulong bRxFRF:1;				/* 21 */	ulong bRxEarly:1;			/* 20 */	ulong bRxFull:1;			/* 19 */	ulong bRxMSO:1;				/* 18 */	ulong bRxNO:1;				/* 17 */	ulong bRxDone:1;			/* 16 */	ulong reserved_0:10;		/* 6 - 15 */	ulong rxParErr:1;			/* 5 */	ulong longErr:1;			/* 4 */	ulong overflow:1;			/* 3 */	ulong crcErr:1;				/* 2 */	ulong alignErr:1;			/* 1 */	ulong missRoll:1;			/* 0 */#else	ulong missRoll:1;			/* 0 */	ulong alignErr:1;			/* 1 */	ulong crcErr:1;				/* 2 */	ulong overflow:1;			/* 3 */	ulong longErr:1;			/* 4 */	ulong rxParErr:1;			/* 5 */	ulong reserved_0:10;		/* 6 - 15 */	ulong bRxDone:1;			/* 16 */	ulong bRxNO:1;				/* 17 */	ulong bRxMSO:1;				/* 18 */	ulong bRxFull:1;			/* 19 */	ulong bRxEarly:1;			/* 20 */	ulong bRxFRF:1;				/* 21 */	ulong bRxNFR:5;				/* 22 - 26 */	ulong reserved_1:5;			/* 27 - 31 */#endif}PACK_RESERVED;union UNION_BMRXSTAT{	struct BMRXSTAT_PACKED	rxStat_reg;	ulong rxStat_resetval;}PACK_RESERVED; typedef union UNION_BMRXSTAT uBMRXSTAT;struct BDMARXLEN_PACKED{#if BIG_ENDIAN	ulong reserved_1:4;			/* 28 - 31 */	ulong bRxMFS:12;			/* 16 - 27 */	ulong reserved_0:4;			/* 12 - 15 */	ulong bRxBS:12;				/* 0 - 11 */#else	ulong bRxBS:12;				/* 0 - 11 */	ulong reserved_0:4;			/* 12 - 15 */	ulong bRxMFS:12;			/* 16 - 27 */	ulong reserved_1:4;			/* 28 - 31 */#endif	}PACK_RESERVED;union UNION_BDMARXLEN{		struct BDMARXLEN_PACKED rxLen_reg;		ulong rxLen_resetval;}PACK_RESERVED; typedef union UNION_BDMARXLEN uBDMARXLEN;struct MACCON_PACKED{#if BIG_ENDIAN	ulong reserved_3:1;			/* 16 - 31 */	ulong mLINK10:1;			/* 15 */	ulong reserved_2:2;			/* 13 - 14 */	ulong mDC_OFFf:1;			/* 12 */	ulong reserved_1:4;			/* 8 -11 */	ulong mLOOP10:1;			/* 7 */	ulong mII_OFF:1;			/* 6 */	ulong reserved_0:1;			/* 5 */	ulong mLoopBack:1;			/* 4 */	ulong full_duplex:1;		/* 3 */	ulong mReset:1;				/* 2 */	ulong mHaltImm:1;			/* 1 */	ulong mHaltReq:1;			/* 0 */#else	ulong mHaltReq:1;			/* 0 */	ulong mHaltImm:1;			/* 1 */	ulong mReset:1;				/* 2 */	ulong full_duplex:1;		/* 3 */	ulong mLoopBack:1;			/* 4 */	ulong reserved_0:1;			/* 5 */	ulong mII_OFF:1;			/* 6 */	ulong mLOOP10:1;			/* 7 */	ulong reserved_1:4;			/* 8 -11 */	ulong mDC_OFFf:1;			/* 12 */	ulong reserved_2:2;			/* 13 - 14 */	ulong mLINK10:1;			/* 15 */	ulong reserved_3:1;			/* 16 - 31 */#endif	}PACK_RESERVED;union UNION_MACCON{	struct MACCON_PACKED	macCon_reg;	ulong macCon_resetval;}PACK_RESERVED; typedef union UNION_MACCON uMACCON;struct CAMCON_PACKED{#if BIG_ENDIAN	ulong reserved_0:27;

⌨️ 快捷键说明

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