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

📄 hw_api.h

📁 在freescale 的ne64上开发的源代码
💻 H
字号:
#ifndef __HW_API_H__
#define __HW_API_H__

#include "datatypes.h"
//#include "ne64debug.h"

#ifndef OK
#define OK    1
#endif
#ifndef ERROR
#define ERROR 0
#endif

#define MACRADDR 	((volatile UINT8  *)(_BASE+0xe400))
#define MACWADDR 	((volatile UINT16 *)(_BASE+0xe400))
#define READADDR	((volatile UINT8  *)(_BASE+0xe600))	
#define WRITEADDR	((volatile UINT16 *)(_BASE+0xe600))

/*MCU IO definition*/
#define LED_FEF                PTL_PTL2
#define LED_FX_FX_RUN          PTL_PTL4
#define PWR_DOWN_FX1           PTL_PTL3
#define PWR_DOWN_FX2           PTL_PTL1
#define MCU_RST_OUT	           PTS_PTS4

#define PWR_UP                 1
#define PWR_DOWN               0
#define LED_ON                 0
#define LED_OFF                1

#define DIP_TP_AUTO_EN         PORTAD_PTAD3
#define DIP_TP_DUPLEX_FULL     PORTAD_PTAD4
#define DIP_TP_SPEED_CFG       (PORTAD & 0x60)
#define DIP_TP_SPEED_1000      0x60
#define DIP_TP_SPEED_100       0x20
#define DIP_TP_SPEED_10        0x40
#define DIP_LFP_DISABLE        PORTAD_PTAD7
#define DIP_FX_AUTO_EN         PTIT_PTIT7
#define DIP_FLOW_CTRL_DISABLE  PTIT_PTIT6
#define DIP_FEF_DISABLE        PTIT_PTIT5

#define DIP_DOT3AH_FX2_PORT    PORTAD_PTAD4

#define DEVICE_TYPE            PORTAD_PTAD2

#define HW_VERSION             (PORTAD & 0x3)

#define OAM_TYPE               1
#define REMOTE_CONTROL_STATE   0

#ifndef OL100CR_X4X_V5
#define OL100CR_X4X_V5         0x0B
#endif
#ifndef OL100CR_GE_V5
#define OL100CR_GE_V5          0x0C
#endif

#define SYS_LOG_MAX 8

typedef enum
{
	InGoodOctetsLo=0,  /* offset 0 */
	InGoodOctetsHi,	   /* offset 1 */
	InBadOctets,       /* offset 2 */
	OutFCSErr,         /* offset 3 */
	InUnicasts,        /* offset 4 */
	OutDeferred,       /* offset 5 */
	InBroadcasts,      /* offset 6 */	
	InMulticasts,      /* offset 7 */
	/* 
		Histogram Counters : Rx Only, Tx Only, or both Rx and Tx 
		(refer to Histogram Mode) 
	*/
	InOctets64,        /* 64 Octets, offset 8 */
	InOctets127,       /* 65 to 127 Octets, offset 9 */
	InOctets255,       /* 128 to 255 Octets, offset 10 */
	InOctets511,       /* 256 to 511 Octets, offset 11 */
	InOctets1023,      /* 512 to 1023 Octets, offset 12 */
	InOctetsMax,       /* 1024 to Max Octets, offset 13 */
	OutOctetsLo,       /* offset 14 */
	OutOctetsHi,       /* offset 15 */
	OutUnicasts,       /* offset 16 */
	OutExcessive,      /* offset 17 */
	OutMulticasts,     /* offset 18 */
	OutBroadcasts,     /* offset 19 */
	OutSingle,         /* offset 20 */

	OutPause,          /* offset 21 */
	InPause,           /* offset 22 */
	OutMultiple,       /* offset 23 */
	InUndersize,       /* offset 24 */
	InFragments,       /* offset 25 */
	InOversize,        /* offset 26 */
	InJabber,          /* offset 27 */
	InMACRcvErr,       /* offset 28 */
	InFCSErr,          /* offset 29 */
	OutCollisions,     /* offset 30 */
	OutLate            /* offset 31 */
} GT_STATS_COUNTERS;	

typedef enum
{
	RxBytes=0,
	RxPkts,
	RxUniPkts,
	RxMcastPkts,
	RxBcastPkts,
	RxDropPkts,
	RxErrPkts,
	RxCRCErrPkts,
	RxFragmentErrPkts,
	RxOversizePkts,
	RxUndersizePkts,
	RxJabberPkts,
	RxPausePkts,
	Rx64BytesPkts,
	Rx65to127BytesPkts,
	Rx128to255BytesPkts,
	Rx256to511BytesPkts,
	Rx512to1023BytesPkts,
	Rx1024to1522BytesPkts,
	TxBytes,
	TxPkts,
	TxUniPkts,
	TxMcastPkts,
	TxBcastPkts,
	TxPausePkts,
	TxCollisionPkts,
	TxLateColPkts,
	TxExcessiveColPkts,
	TxSingleColPkts,
	TxMultiColPkts,
	TxDropPkts
}ePORT_STATISTIC;

#if 0
UINT8  byte_verify0(UINT16 *dataAddr);
UINT8  ready0();
UINT8  ready1();
UINT8  word_program0(UINT16 dataAddr,UINT16 dataWord);
UINT8  block_program0(UINT16 dataAddr, UINT8  *dataBase,UINT8  len);
UINT8  sector_erase0(UINT16 dataAddr);
#endif
UINT8  hwSetPortCfg(UINT8  port, UINT8  an, UINT8  dplx, UINT16 spd);
UINT8  hwGetPortCfg(UINT8  port, UINT8  *an, UINT8  *dplx, UINT16 *spd);
UINT8  hwSetPortRate(UINT8  port, UINT8  type, UINT16 rate);
UINT8  hwGetPortRate(UINT8  port, UINT8  type, UINT16 *rate);
UINT8  hwSetPortStorm(UINT8  port, UINT8  type, UINT16 rate);
UINT8  hwGetPortStorm(UINT8  port, UINT8  *type, UINT16 *rate);
UINT8  hwSetPortFlowCtrl(UINT8  port, UINT8  enable);
UINT8  hwGetPortFlowCtrl(UINT8  port, UINT8  *enable);
UINT8  hwSetCos(UINT8  enable);
UINT8  hwGetCos(UINT8  *enable);
UINT8  hwGetPortCounter(UINT8  port, GT_STATS_COUNTERS type, UINT32 *val);
void hwGetPortCntStr(ePORT_STATISTIC type, INT8  *str);
UINT8  hwGetPortCnt(UINT8  port, ePORT_STATISTIC type, UINT32 *valHigh, UINT32 *valLow);
UINT8  hwGetReg(UINT8  type, UINT8  addr, UINT16 *val);
UINT8  hwSetReg(UINT8  type, UINT8  addr, UINT16 val);
UINT8  hwSetPortStat(UINT8  port, UINT8  enable);
UINT8  hwLfpSetPortStat(UINT8  port, UINT8  enable);
UINT8  hwGetPortStat(UINT8  port, UINT8  *enable);
UINT8  hwSetLfp(UINT8  enable);
UINT8  hwGetLfp(UINT8  *enable);
UINT8  hwSetFef(UINT8  enable);
UINT8  hwGetFef(UINT8  *enable);
UINT8  hwGetPortLink(UINT8  port, UINT8  * link);
UINT8  hwGetPortDplxSpd(UINT8  port, UINT8  * dplx, UINT16 * spd);
UINT8  hwMacAdd(UINT16 pbm, UINT8  * mac, UINT8  prio);
UINT8  hwMacDel(UINT8  * mac);
UINT8  hwInit(void);
void hwRunLedFlash(void);
void hwGetLocStatus(void);
void hwLfpRecover(void);
void hwLfpMonitor(void);
void hwChipReset(void);
void hwReboot();
void snmpTrapMonitor();
void snmpColdStartTrap(void);
#endif

⌨️ 快捷键说明

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