📄 hw_api.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 + -