📄 cslr_emac.h
字号:
#ifndef _CSLR_EMAC_H_
#define _CSLR_EMAC_H_
#include "cslr.h"
#include <cslr_emac_001.h>
#include <cslr_ewrap_001.h>
#include "cslr_mdio_001.h"
typedef volatile CSL_EmacRegs *CSL_EmacRegsOvly;
typedef volatile CSL_EwrapRegs *CSL_EwrapRegsOvly;
typedef volatile CSL_MdioRegs *CSL_MdioRegsOvly;
#define CSL_EMAC_0_REGS ((CSL_EmacRegsOvly) 0X01C80000)
#define CSL_EWRAP_0_REGS ((CSL_EwrapRegsOvly) 0X01C81000)
#define CSL_MDIO_0_REGS ((CSL_MdioRegsOvly) 0X01C84000)
/**************************************************************************\
* Peripheral Instance count
\**************************************************************************/
#define EMAC_PER_CNT 1
/**************************************************************************\
* Overlay structure typedef definition
\**************************************************************************/
typedef CSL_EmacRegs EMAC_Regs;
typedef CSL_EwrapRegs EWRAP_Regs;
/**************************************************************************\
* Peripheral Base Address
\**************************************************************************/
#define EMAC_BASEADDR (0x01C80000u)
#define EMAC_REGS ((CSL_EmacRegs *) 0x01C80000u)
//pointer to a structure of type CSL_EmacRegs
#define EWRAP_BASEADDR (0x01C81000u)
#define EWRAP_REGS ((CSL_EwrapRegs *) 0x01C81000u)
//pointer to a structure of type CSL_EwrapRegs
/******************************************************************************\
* EMAC Descriptor section
\******************************************************************************/
#define _EMAC_DSC_BASE_ADDR 0x01c82000u
/* EMAC Descriptor Size and Element Count */
#define _EMAC_DSC_SIZE 8192
#define _EMAC_DSC_ENTRY_SIZE 16 /* Size of a buffer descriptor, in bytes */
#define _EDMA_DSC_ENTRY_COUNT (_EMAC_DSC_SIZE/_EMAC_DSC_ENTRY_SIZE) /* 512 */
/*
// EMAC Descriptor
//
// The following is the format of a single buffer descriptor
// on the EMAC.
*/
typedef struct _EMAC_Desc {
struct _EMAC_Desc *pNext; /* Pointer to next descriptor in chain */
Uint8 *pBuffer; /* Pointer to data buffer */
Uint32 BufOffLen; /* Buffer Offset(MSW) and Length(LSW) */
Uint32 PktFlgLen; /* Packet Flags(MSW) and Length(LSW) */
} EMAC_Desc;
/* ------------------------ */
/* DESCRIPTOR ACCESS MACROS */
/* ------------------------ */
/* Packet Flags */
#define EMAC_DSC_FLAG_SOP 0x80000000u
#define EMAC_DSC_FLAG_EOP 0x40000000u
#define EMAC_DSC_FLAG_OWNER 0x20000000u
#define EMAC_DSC_FLAG_EOQ 0x10000000u
#define EMAC_DSC_FLAG_TDOWNCMPLT 0x08000000u
#define EMAC_DSC_FLAG_PASSCRC 0x04000000u
/* The following flags are RX only */
#define EMAC_DSC_FLAG_JABBER 0x02000000u
#define EMAC_DSC_FLAG_OVERSIZE 0x01000000u
#define EMAC_DSC_FLAG_FRAGMENT 0x00800000u
#define EMAC_DSC_FLAG_UNDERSIZED 0x00400000u
#define EMAC_DSC_FLAG_CONTROL 0x00200000u
#define EMAC_DSC_FLAG_OVERRUN 0x00100000u
#define EMAC_DSC_FLAG_CODEERROR 0x00080000u
#define EMAC_DSC_FLAG_ALIGNERROR 0x00040000u
#define EMAC_DSC_FLAG_CRCERROR 0x00020000u
#define EMAC_DSC_FLAG_NOMATCH 0x00010000u
#endif
/* Rev.No. Date/Time ECN No. Modifier */
/* ------- --------- ------- -------- */
/* 1 Mar 20:49:11 1 7733 miovescu */
/* */
/* Initial checkin */
/********************************************************************/
/* Rev.No. Date/Time ECN No. Modifier */
/* ------- --------- ------- -------- */
/* 1 Mar 09:29:41 2 7744 miovescu */
/* */
/* Initial checkin */
/********************************************************************/
/* Rev.No. Date/Time ECN No. Modifier */
/* ------- --------- ------- -------- */
/* 1 Mar 09:35:02 2 7745 miovescu */
/* */
/* Initial checkin */
/********************************************************************/
/* Rev.No. Date/Time ECN No. Modifier */
/* ------- --------- ------- -------- */
/* 1 Mar 09:37:23 2 7746 miovescu */
/* */
/* Initial checkin */
/********************************************************************/
/* Rev.No. Date/Time ECN No. Modifier */
/* ------- --------- ------- -------- */
/* 2 Mar 12:21:10 2 7757 miovescu */
/* */
/* Initial checkin */
/********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -