📄 lan91c111.h
字号:
#ifndef _LAN91C111_H#define _LAN91C111_H//BANK 0 REGISTER#define LAN91C111_TCR (0x0 | 0x10<<0)#define LAN91C111_EPH_STATUS (0x2 | 0x10<<0)#define LAN91C111_RCR (0x4 | 0x10<<0)#define LAN91C111_COUNTER (0x6 | 0x10<<0)#define LAN91C111_MIR (0x8 | 0x10<<0)#define LAN91C111_RPCR (0xa | 0x10<<0)#define LAN91C111_RESERVED (0xc | 0x10<<0)#define LAN91C111_BANK (0xe | 0x10<<0)//BANK 1 REGISTER#define LAN91C111_CONFIG (0x0 | 0x10<<1)#define LAN91C111_BASE (0x2 | 0x10<<1)#define LAN91C111_IA01 (0x4 | 0x10<<1)#define LAN91C111_IA23 (0x6 | 0x10<<1)#define LAN91C111_IA45 (0x8 | 0x10<<1)#define LAN91C111_GENERAL (0xa | 0x10<<1)#define LAN91C111_CONTROL (0xc | 0x10<<1)#define LAN91C111_BANK1 (0xe | 0x10<<1)//BANK 2 REGISTER#define LAN91C111_MMU_COMMAND (0x0 | 0x10<<2)#define LAN91C111_PNR (0x2 | 0x10<<2)#define LAN91C111_ARR (0x2 | 0x10<<2 | 0x10<<4)#define LAN91C111_FIFO_PORTS (0x4 | 0x10<<2)#define LAN91C111_POINTER (0x6 | 0x10<<2)#define LAN91C111_DATA_HIGH (0x8 | 0x10<<2)#define LAN91C111_DATA_LOW (0xa | 0x10<<2)#define LAN91C111_INTERRUPT (0xc | 0x10<<2)#define LAN91C111_INTERRUPT_M (0xc | 0x10<<2 | 0x10<<4)#define LAN91C111_BANK2 (0xe | 0x10<<2)//BANK 3 REGISTER#define LAN91C111_MT01 (0x0 | 0x10<<3)#define LAN91C111_MT23 (0x2 | 0x10<<3)#define LAN91C111_MT45 (0x4 | 0x10<<3)#define LAN91C111_MT67 (0x6 | 0x10<<3)#define LAN91C111_MGMT (0x8 | 0x10<<3)#define LAN91C111_REVISION (0xa | 0x10<<3)#define LAN91C111_ERCV (0xc | 0x10<<3)#define LAN91C111_BANK3 (0xe | 0x10<<3)//LAN91C111_RCR#define RCR_SOFT_RST 1<<15#define RCR_FILT_CAR 1<<14#define RCR_ABORT_ENB 1<<13#define RCR_STRIP_CRC 1<<9#define RCR_RXEN 1<<8#define RCR_ALMUL 1<<2#define RCR_PRMS 1<<1#define RCR_RX_ABORT 1<<0//LAN91C111_TCR#define TCR_SWFDUP (1<<15)#define TCR_EPH_LOOP (1<<13)#define TCR_STP_SQET (1<<12)#define TCR_FDUPLX (1<<11)#define TCR_MON_CSN (1<<10)#define TCR_NOCRC (1<<8) #define TCR_PAD_EN (1<<7)#define TCR_FORCOL (1<<2)#define TCR_LOOP (1<<1)#define TCR_TXENA (1<<0)//LAN91C111_RPCR#define RPCR_SPEED 1<<13#define RPCR_DPLX 1<<12#define RPCR_ANEG 1<<11#define RPCR_LSA_0 0<<5#define RPCR_LSA_2 2<<5#define RPCR_LSA_3 3<<5#define RPCR_LSA_4 4<<5#define RPCR_LSA_5 5<<5#define RPCR_LSA_6 6<<5#define RPCR_LSA_7 7<<5#define RPCR_LSB_0 0<<2#define RPCR_LSB_2 2<<2#define RPCR_LSB_3 3<<2#define RPCR_LSB_4 4<<2#define RPCR_LSB_5 5<<2#define RPCR_LSB_6 6<<2#define RPCR_LSB_7 7<<2//LAN91C111_MMU_COMMAND#define ALLOCATE_MEM_FOR_TX 1<<5#define RESET_MMU_TO_INIT 2<<5#define REMOVE_FRAME_TOP_RX 3<<5#define REMOVE_RELEASE_TOP_RX 4<<5#define RELEASE_SPECIFIC_PACKET 5<<5#define ENQUEUE_PACKET_INTO_TX 6<<5#define RESET_TX_FIFOS 7<<5//LAN91C111_INTERRUPT#define INTERRUPT_MDINT (1<<7)#define INTERRUPT_ERCV_INT (1<<6)#define INTERRUPT_EPH_INT (1<<5)#define INTERRUPT_RX_OVRN_INT (1<<4)#define INTERRUPT_ALLOC_INT (1<<3)#define INTERRUPT_TX_EMPTY_INT (1<<2)#define INTERRUPT_TX_INT (1<<1)#define INTERRUPT_RCV_INT (1<<0) //LAN91C111_POINTER#define POINTER_RCV (1<<15)#define POINTER_AUTO_INCR (1<<14)#define POINTER_READ (1<<13)#define POINTER_ETEN (1<<12)#define POINTER_NOT_EMPTY (1<<11) //LAN91C111_MGMT#define MGMT_MDO 1<<0#define MGMT_MDI 1<<1#define MGMT_MCLK 1<<2#define MGMT_MDOE 1<<3#define MGMT_MSK_CRS100 1<<14//PHY REGISTER#define LAN91C111_PHY_CONTROL 0#define LAN91C111_PHY_STATUS 1#define LAN91C111_PHY_ID1 2#define LAN91C111_PHY_ID2 3#define LAN91C111_PHY_AUTO_AD 4#define LAN91C111_PHY_AUTO_CAP 5#define LAN91C111_PHY_CFG_1 16#define LAN91C111_PHY_CFG_2 17#define LAN91C111_PHY_STATUS_OUT 18#define LAN91C111_PHY_MASK 19//PHY_CONTROL #define PHY_CONTROL_MII_DIS 1<<10#define PHY_CONTROL_ANEG_EN 1<<12//PHY_STATUS#define PHY_STATUS_ANEG_ACK 1<<5#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -