📄 rc32355_eth.h
字号:
/****************************************************************************** * ETHIS register *****************************************************************************/#define ETHERIS_EOP (1<<0) #define ETHERIS_ROK (1<<2) #define ETHERIS_FM (1<<3) #define ETHERIS_MP (1<<4) #define ETHERIS_BP (1<<5) #define ETHERIS_VLT (1<<6) #define ETHERIS_CF (1<<7) #define ETHERIS_OVR (1<<8) #define ETHERIS_CRC (1<<9) #define ETHERIS_CV (1<<10) #define ETHERIS_DB (1<<11) #define ETHERIS_LE (1<<12) #define ETHERIS_LOR (1<<13) #define ETHERIS_SIZE(v) (((v)&0x3)<<14)#define ETHERIS_LENGTH(v) (((v)&0xff)<<16)/****************************************************************************** * ETHOS register *****************************************************************************/#define ETHEROS_T (1<<0) #define ETHEROS_TOK (1<<6) #define ETHEROS_MP (1<<7) #define ETHEROS_BP (1<<8) #define ETHEROS_UND (1<<9) #define ETHEROS_OF (1<<10) #define ETHEROS_ED (1<<11) #define ETHEROS_EC (1<<12) #define ETHEROS_LC (1<<13) #define ETHEROS_TD (1<<14) #define ETHEROS_CRC (1<<15) #define ETHEROS_LE (1<<16) #define ETHEROS_CC(v) (((v)&0xf)<<17)#define ETHEROS_PFD (1<<21) /****************************************************************************** * Statistics registers *****************************************************************************/#define ETHERRBC(v) (((v)&0xffff)<<0)#define ETHERRPC(v) (((v)&0xffff)<<0)#define ETHERRUPC(v) (((v)&0xffff)<<0)#define ETHERRFC(v) (((v)&0xffff)<<0)#define ETHERTBC(v) (((v)&0xffff)<<0)/****************************************************************************** * ETHGPF register *****************************************************************************/#define ETHERGPF_PTV(v) (((v)&0xff)<<0)/****************************************************************************** * MAC registers *****************************************************************************///ETHMAC1#define ETHERMAC1_RE (1<<0)#define ETHERMAC1_PAF (1<<1)#define ETHERMAC1_RFC (1<<2)#define ETHERMAC1_TFC (1<<3)#define ETHERMAC1_LB (1<<4)#define ETHERMAC1_MR (1<<15)//ETHMAC2#define ETHERMAC2_FD (1<<0)#define ETHERMAC2_FLC (1<<1)#define ETHERMAC2_HFE (1<<2)#define ETHERMAC2_DC (1<<3)#define ETHERMAC2_CEN (1<<4)#define ETHERMAC2_PE (1<<5)#define ETHERMAC2_VPE (1<<6)#define ETHERMAC2_APE (1<<7)#define ETHERMAC2_PPE (1<<8)#define ETHERMAC2_LPE (1<<9)#define ETHERMAC2_NB (1<<12)#define ETHERMAC2_BP (1<<13)#define ETHERMAC2_ED (1<<14)//ETHIPGT#define ETHERIPGT(v) (((v)&0x3f)<<0)//ETHIPGR#define ETHERIPGR_IPGR1(v) (((v)&0x3f)<<0)#define ETHERIPGR_IPGR2(v) (((v)&0x3f)<<8)//ETHCLRT#define ETHERCLRT_MAXRET(v) (((v)&0x3f)<<0)#define ETHERCLRT_COLWIN(v) (((v)&0x3f)<<8)//ETHMAXF#define ETHERMAXF(v) (((v)&0x3f)<<0)//ETHMTEST#define ETHERMTEST_TB (1<<2)//ETHMCP#define ETHERMCP_DIV(v) (((v)&0xff)<<0)//MIIMCFG#define ETHERMIIMCFG_CS(v) (((v)&0x3)<<2)#define ETHERMIIMCFG_R (1<<15)//MIIMCMD#define ETHERMIIMCMD_RD (1<<0)#define ETHERMIIMCMD_SCN (1<<1)//MIIMADDR#define ETHERMIIMADDR_REGADDR(v) (((v)&0x1f)<<0)#define ETHERMIIMADDR_PHYADDR(v) (((v)&0x1f)<<8)//MIIMWTD#define ETHERMIIMWTD(v) (((v)&0xff)<<0)//MIIMRDD#define ETHERMIIMRDD(v) (((v)&0xff)<<0)//MIIMIND#define ETHERMIIMIND_BSY (1<<0)#define ETHERMIIMIND_SCN (1<<1)#define ETHERMIIMIND_NV (1<<2)//DMA DEVCS IN#define ETHERDMA_IN_LENGTH(v) (((v)&0xffff)<<16)#define ETHERDMA_IN_CES (1<<14)#define ETHERDMA_IN_LOR (1<<13)#define ETHERDMA_IN_LE (1<<12)#define ETHERDMA_IN_DB (1<<11)#define ETHERDMA_IN_CV (1<<10)#define ETHERDMA_IN_CRC (1<<9)#define ETHERDMA_IN_OVR (1<<8)#define ETHERDMA_IN_CF (1<<7)#define ETHERDMA_IN_VLT (1<<6)#define ETHERDMA_IN_BP (1<<5)#define ETHERDMA_IN_MP (1<<4)#define ETHERDMA_IN_FM (1<<3)#define ETHERDMA_IN_ROK (1<<2)#define ETHERDMA_IN_LD (1<<1)#define ETHERDMA_IN_FD (1<<0)//DMA DEVCS OUT#define ETHERDMA_OUT_CC(v) (((v)&0xf)<<17)#define ETHERDMA_OUT_CNT 0x001e0000#define ETHERDMA_OUT_SHFT 17#define ETHERDMA_OUT_LE (1<<16)#define ETHERDMA_OUT_CRC (1<<15)#define ETHERDMA_OUT_TD (1<<14)#define ETHERDMA_OUT_LC (1<<13)#define ETHERDMA_OUT_EC (1<<12)#define ETHERDMA_OUT_ED (1<<11)#define ETHERDMA_OUT_OF (1<<10)#define ETHERDMA_OUT_UND (1<<9)#define ETHERDMA_OUT_BP (1<<8)#define ETHERDMA_OUT_MP (1<<7)#define ETHERDMA_OUT_TOK (1<<6)#define ETHERDMA_OUT_HEN (1<<5)#define ETHERDMA_OUT_CEN (1<<4)#define ETHERDMA_OUT_PEN (1<<3)#define ETHERDMA_OUT_OEN (1<<2)#define ETHERDMA_OUT_LD (1<<1)#define ETHERDMA_OUT_FD (1<<0)#define RCV_ERRS \ (ETHERDMA_IN_OVR | ETHERDMA_IN_CRC | ETHERDMA_IN_CV | ETHERDMA_IN_LE)#define TX_ERRS \ (ETHERDMA_OUT_LC | ETHERDMA_OUT_EC | ETHERDMA_OUT_ED | \ ETHERDMA_OUT_OF | ETHERDMA_OUT_UND)#define IS_RCV_ROK(X) (((X) & (1<<2)) >> 2) /* Receive Okay */#define IS_RCV_FM(X) (((X) & (1<<3)) >> 3) /* Is Filter Match */#define IS_RCV_MP(X) (((X) & (1<<4)) >> 4) /* Is it MP */#define IS_RCV_BP(X) (((X) & (1<<5)) >> 5) /* Is it BP */#define IS_RCV_VLT(X) (((X) & (1<<6)) >> 6) /* VLAN Tag Detect */#define IS_RCV_CF(X) (((X) & (1<<7)) >> 7) /* Control Frame */#define IS_RCV_OVR_ERR(X) (((X) & (1<<8)) >> 8) /* Receive Overflow */#define IS_RCV_CRC_ERR(X) (((X) & (1<<9)) >> 9) /* CRC Error */#define IS_RCV_CV_ERR(X) (((X) & (1<<10))>>10) /* Code Violation */#define IS_RCV_DB_ERR(X) (((X) & (1<<11))>>11) /* Dribble Bits */#define IS_RCV_LE_ERR(X) (((X) & (1<<12))>>12) /* Length error */#define IS_RCV_LOR_ERR(X) (((X) & (1<<13))>>13) /* Length Out of Range */#define IS_RCV_CES_ERR(X) (((X) & (1<<14))>>14) /* Preamble error */#define RCVPKT_LENGTH(X) (((X) & 0xFFFF0000)>>16) /* Length of the received packet */#define IS_TX_TOK(X) (((X) & (1<<6) ) >> 6 ) /* Transmit Okay */#define IS_TX_MP(X) (((X) & (1<<7) ) >> 7 ) /* Multicast */#define IS_TX_BP(X) (((X) & (1<<8) ) >> 8 ) /* Broadcast */#define IS_TX_UND_ERR(X) (((X) & (1<<9) ) >> 9 ) /* Transmit FIFO Underflow */#define IS_TX_OF_ERR(X) (((X) & (1<<10)) >>10 ) /* Oversized frame */#define IS_TX_ED_ERR(X) (((X) & (1<<11)) >>11 ) /* Excessive deferral */#define IS_TX_EC_ERR(X) (((X) & (1<<12)) >>12 ) /* Excessive collisions */#define IS_TX_LC_ERR(X) (((X) & (1<<13)) >>13 ) /* Late Collision */#define IS_TX_TD_ERR(X) (((X) & (1<<14)) >>14 ) /* Transmit deferred*/#define IS_TX_CRC_ERR(X) (((X) & (1<<15)) >>15 ) /* CRC Error */#define IS_TX_LE_ERR(X) (((X) & (1<<16)) >>16 ) /* Length Error */#define TX_COLLISION_COUNT(X) (((X) & 0x001E0000u)>>17) /* Collision Count */#endif /* BANYAN_ETHER_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -