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

📄 cslr_emac.h

📁 TMS320DM6446平台下
💻 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 + -