📄 de4x5.h
字号:
/*** DC21040 Receive Poll Demand Register (DE4X5_RPD)*/#define RPD 0x00000001 /* Receive Poll Demand *//*** DC21040 Receive Ring Base Address Register (DE4X5_RRBA)*/#define RRBA 0xfffffffc /* RX Descriptor List Start Address *//*** DC21040 Transmit Ring Base Address Register (DE4X5_TRBA)*/#define TRBA 0xfffffffc /* TX Descriptor List Start Address *//*** Status Register (DE4X5_STS)*/#define STS_GPI 0x04000000 /* General Purpose Port Interrupt */#define STS_BE 0x03800000 /* Bus Error Bits */#define STS_TS 0x00700000 /* Transmit Process State */#define STS_RS 0x000e0000 /* Receive Process State */#define STS_NIS 0x00010000 /* Normal Interrupt Summary */#define STS_AIS 0x00008000 /* Abnormal Interrupt Summary */#define STS_ER 0x00004000 /* Early Receive */#define STS_FBE 0x00002000 /* Fatal Bus Error */#define STS_SE 0x00002000 /* System Error */#define STS_LNF 0x00001000 /* Link Fail */#define STS_FD 0x00000800 /* Full-Duplex Short Frame Received */#define STS_TM 0x00000800 /* Timer Expired (DC21041) */#define STS_ETI 0x00000400 /* Early Transmit Interrupt */#define STS_AT 0x00000400 /* AUI/TP Pin */#define STS_RWT 0x00000200 /* Receive Watchdog Time-Out */#define STS_RPS 0x00000100 /* Receive Process Stopped */#define STS_RU 0x00000080 /* Receive Buffer Unavailable */#define STS_RI 0x00000040 /* Receive Interrupt */#define STS_UNF 0x00000020 /* Transmit Underflow */#define STS_LNP 0x00000010 /* Link Pass */#define STS_ANC 0x00000010 /* Autonegotiation Complete */#define STS_TJT 0x00000008 /* Transmit Jabber Time-Out */#define STS_TU 0x00000004 /* Transmit Buffer Unavailable */#define STS_TPS 0x00000002 /* Transmit Process Stopped */#define STS_TI 0x00000001 /* Transmit Interrupt */#define EB_PAR 0x00000000 /* Parity Error */#define EB_MA 0x00800000 /* Master Abort */#define EB_TA 0x01000000 /* Target Abort */#define EB_RES0 0x01800000 /* Reserved */#define EB_RES1 0x02000000 /* Reserved */#define TS_STOP 0x00000000 /* Stopped */#define TS_FTD 0x00100000 /* Fetch Transmit Descriptor */#define TS_WEOT 0x00200000 /* Wait for End Of Transmission */#define TS_QDAT 0x00300000 /* Queue skb data into TX FIFO */#define TS_RES 0x00400000 /* Reserved */#define TS_SPKT 0x00500000 /* Setup Packet */#define TS_SUSP 0x00600000 /* Suspended */#define TS_CLTD 0x00700000 /* Close Transmit Descriptor */#define RS_STOP 0x00000000 /* Stopped */#define RS_FRD 0x00020000 /* Fetch Receive Descriptor */#define RS_CEOR 0x00040000 /* Check for End of Receive Packet */#define RS_WFRP 0x00060000 /* Wait for Receive Packet */#define RS_SUSP 0x00080000 /* Suspended */#define RS_CLRD 0x000a0000 /* Close Receive Descriptor */#define RS_FLUSH 0x000c0000 /* Flush RX FIFO */#define RS_QRFS 0x000e0000 /* Queue RX FIFO into RX Skb */#define INT_CANCEL 0x0001ffff /* For zeroing all interrupt sources *//*** Operation Mode Register (DE4X5_OMR)*/#define OMR_SC 0x80000000 /* Special Capture Effect Enable */#define OMR_RA 0x40000000 /* Receive All */#define OMR_SDP 0x02000000 /* SD Polarity - MUST BE ASSERTED */#define OMR_SCR 0x01000000 /* Scrambler Mode */#define OMR_PCS 0x00800000 /* PCS Function */#define OMR_TTM 0x00400000 /* Transmit Threshold Mode */#define OMR_SF 0x00200000 /* Store and Forward */#define OMR_HBD 0x00080000 /* HeartBeat Disable */#define OMR_PS 0x00040000 /* Port Select */#define OMR_CA 0x00020000 /* Capture Effect Enable */#define OMR_BP 0x00010000 /* Back Pressure */#define OMR_TR 0x0000c000 /* Threshold Control Bits */#define OMR_ST 0x00002000 /* Start/Stop Transmission Command */#define OMR_FC 0x00001000 /* Force Collision Mode */#define OMR_OM 0x00000c00 /* Operating Mode */#define OMR_FDX 0x00000200 /* Full Duplex Mode */#define OMR_FKD 0x00000100 /* Flaky Oscillator Disable */#define OMR_PM 0x00000080 /* Pass All Multicast */#define OMR_PR 0x00000040 /* Promiscuous Mode */#define OMR_SB 0x00000020 /* Start/Stop Backoff Counter */#define OMR_IF 0x00000010 /* Inverse Filtering */#define OMR_PB 0x00000008 /* Pass Bad Frames */#define OMR_HO 0x00000004 /* Hash Only Filtering Mode */#define OMR_SR 0x00000002 /* Start/Stop Receive */#define OMR_HP 0x00000001 /* Hash/Perfect Receive Filtering Mode */#define TR_72 0x00000000 /* Threshold set to 72 (128) bytes */#define TR_96 0x00004000 /* Threshold set to 96 (256) bytes */#define TR_128 0x00008000 /* Threshold set to 128 (512) bytes */#define TR_160 0x0000c000 /* Threshold set to 160 (1024) bytes */#define OMR_DEF (OMR_SDP)#define OMR_SIA (OMR_SDP | OMR_TTM)#define OMR_SYM (OMR_SDP | OMR_SCR | OMR_PCS | OMR_HBD | OMR_PS)#define OMR_MII_10 (OMR_SDP | OMR_TTM | OMR_PS)#define OMR_MII_100 (OMR_SDP | OMR_HBD | OMR_PS)/*** DC21040 Interrupt Mask Register (DE4X5_IMR)*/#define IMR_GPM 0x04000000 /* General Purpose Port Mask */#define IMR_NIM 0x00010000 /* Normal Interrupt Summary Mask */#define IMR_AIM 0x00008000 /* Abnormal Interrupt Summary Mask */#define IMR_ERM 0x00004000 /* Early Receive Mask */#define IMR_FBM 0x00002000 /* Fatal Bus Error Mask */#define IMR_SEM 0x00002000 /* System Error Mask */#define IMR_LFM 0x00001000 /* Link Fail Mask */#define IMR_FDM 0x00000800 /* Full-Duplex (Short Frame) Mask */#define IMR_TMM 0x00000800 /* Timer Expired Mask (DC21041) */#define IMR_ETM 0x00000400 /* Early Transmit Interrupt Mask */#define IMR_ATM 0x00000400 /* AUI/TP Switch Mask */#define IMR_RWM 0x00000200 /* Receive Watchdog Time-Out Mask */#define IMR_RSM 0x00000100 /* Receive Stopped Mask */#define IMR_RUM 0x00000080 /* Receive Buffer Unavailable Mask */#define IMR_RIM 0x00000040 /* Receive Interrupt Mask */#define IMR_UNM 0x00000020 /* Underflow Interrupt Mask */#define IMR_ANM 0x00000010 /* Autonegotiation Complete Mask */#define IMR_LPM 0x00000010 /* Link Pass */#define IMR_TJM 0x00000008 /* Transmit Time-Out Jabber Mask */#define IMR_TUM 0x00000004 /* Transmit Buffer Unavailable Mask */#define IMR_TSM 0x00000002 /* Transmission Stopped Mask */#define IMR_TIM 0x00000001 /* Transmit Interrupt Mask *//*** Missed Frames and FIFO Overflow Counters (DE4X5_MFC)*/#define MFC_FOCO 0x10000000 /* FIFO Overflow Counter Overflow Bit */#define MFC_FOC 0x0ffe0000 /* FIFO Overflow Counter Bits */#define MFC_OVFL 0x00010000 /* Missed Frames Counter Overflow Bit */#define MFC_CNTR 0x0000ffff /* Missed Frames Counter Bits */#define MFC_FOCM 0x1ffe0000 /* FIFO Overflow Counter Mask *//*** DC21040 Ethernet Address PROM (DE4X5_APROM)*/#define APROM_DN 0x80000000 /* Data Not Valid */#define APROM_DT 0x000000ff /* Address Byte *//*** DC21041 Boot/Ethernet Address ROM (DE4X5_BROM)*/#define BROM_MODE 0x00008000 /* MODE_1: 0, MODE_0: 1 (read only) */#define BROM_RD 0x00004000 /* Read from Boot ROM */#define BROM_WR 0x00002000 /* Write to Boot ROM */#define BROM_BR 0x00001000 /* Select Boot ROM when set */#define BROM_SR 0x00000800 /* Select Serial ROM when set */#define BROM_REG 0x00000400 /* External Register Select */#define BROM_DT 0x000000ff /* Data Byte *//*** DC21041 Serial/Ethernet Address ROM (DE4X5_SROM, DE4X5_MII)*/#define MII_MDI 0x00080000 /* MII Management Data In */#define MII_MDO 0x00060000 /* MII Management Mode/Data Out */#define MII_MRD 0x00040000 /* MII Management Define Read Mode */#define MII_MWR 0x00000000 /* MII Management Define Write Mode */#define MII_MDT 0x00020000 /* MII Management Data Out */#define MII_MDC 0x00010000 /* MII Management Clock */#define MII_RD 0x00004000 /* Read from MII */#define MII_WR 0x00002000 /* Write to MII */#define MII_SEL 0x00000800 /* Select MII when RESET */#define SROM_MODE 0x00008000 /* MODE_1: 0, MODE_0: 1 (read only) */#define SROM_RD 0x00004000 /* Read from Boot ROM */#define SROM_WR 0x00002000 /* Write to Boot ROM */#define SROM_BR 0x00001000 /* Select Boot ROM when set */#define SROM_SR 0x00000800 /* Select Serial ROM when set */#define SROM_REG 0x00000400 /* External Register Select */#define SROM_DT 0x000000ff /* Data Byte */#define DT_OUT 0x00000008 /* Serial Data Out */#define DT_IN 0x00000004 /* Serial Data In */#define DT_CLK 0x00000002 /* Serial ROM Clock */#define DT_CS 0x00000001 /* Serial ROM Chip Select */#define MII_PREAMBLE 0xffffffff /* MII Management Preamble */#define MII_TEST 0xaaaaaaaa /* MII Test Signal */#define MII_STRD 0x06 /* Start of Frame+Op Code: use low nibble */#define MII_STWR 0x0a /* Start of Frame+Op Code: use low nibble */#define MII_CR 0x00 /* MII Management Control Register */#define MII_SR 0x01 /* MII Management Status Register */#define MII_ID0 0x02 /* PHY Identifier Register 0 */#define MII_ID1 0x03 /* PHY Identifier Register 1 */#define MII_ANA 0x04 /* Auto Negotiation Advertisement */#define MII_ANLPA 0x05 /* Auto Negotiation Link Partner Ability */#define MII_ANE 0x06 /* Auto Negotiation Expansion */#define MII_ANP 0x07 /* Auto Negotiation Next Page TX */#define DE4X5_MAX_MII 32 /* Maximum address of MII PHY devices *//*** MII Management Control Register*/#define MII_CR_RST 0x8000 /* RESET the PHY chip */#define MII_CR_LPBK 0x4000 /* Loopback enable */#define MII_CR_SPD 0x2000 /* 0: 10Mb/s; 1: 100Mb/s */#define MII_CR_10 0x0000 /* Set 10Mb/s */#define MII_CR_100 0x2000 /* Set 100Mb/s */#define MII_CR_ASSE 0x1000 /* Auto Speed Select Enable */#define MII_CR_PD 0x0800 /* Power Down */#define MII_CR_ISOL 0x0400 /* Isolate Mode */#define MII_CR_RAN 0x0200 /* Restart Auto Negotiation */#define MII_CR_FDM 0x0100 /* Full Duplex Mode */#define MII_CR_CTE 0x0080 /* Collision Test Enable *//*** MII Management Status Register*/#define MII_SR_T4C 0x8000 /* 100BASE-T4 capable */#define MII_SR_TXFD 0x4000 /* 100BASE-TX Full Duplex capable */#define MII_SR_TXHD 0x2000 /* 100BASE-TX Half Duplex capable */#define MII_SR_TFD 0x1000 /* 10BASE-T Full Duplex capable */#define MII_SR_THD 0x0800 /* 10BASE-T Half Duplex capable */#define MII_SR_ASSC 0x0020 /* Auto Speed Selection Complete*/#define MII_SR_RFD 0x0010 /* Remote Fault Detected */#define MII_SR_ANC 0x0008 /* Auto Negotiation capable */#define MII_SR_LKS 0x0004 /* Link Status */#define MII_SR_JABD 0x0002 /* Jabber Detect */#define MII_SR_XC 0x0001 /* Extended Capabilities *//*** MII Management Auto Negotiation Advertisement Register*/#define MII_ANA_TAF 0x03e0 /* Technology Ability Field */#define MII_ANA_T4AM 0x0200 /* T4 Technology Ability Mask */#define MII_ANA_TXAM 0x0180 /* TX Technology Ability Mask */#define MII_ANA_FDAM 0x0140 /* Full Duplex Technology Ability Mask */#define MII_ANA_HDAM 0x02a0 /* Half Duplex Technology Ability Mask */#define MII_ANA_100M 0x0380 /* 100Mb Technology Ability Mask */#define MII_ANA_10M 0x0060 /* 10Mb Technology Ability Mask */#define MII_ANA_CSMA 0x0001 /* CSMA-CD Capable *//*** MII Management Auto Negotiation Remote End Register*/#define MII_ANLPA_NP 0x8000 /* Next Page (Enable) */#define MII_ANLPA_ACK 0x4000 /* Remote Acknowledge */#define MII_ANLPA_RF 0x2000 /* Remote Fault */#define MII_ANLPA_TAF 0x03e0 /* Technology Ability Field */#define MII_ANLPA_T4AM 0x0200 /* T4 Technology Ability Mask */#define MII_ANLPA_TXAM 0x0180 /* TX Technology Ability Mask */#define MII_ANLPA_FDAM 0x0140 /* Full Duplex Technology Ability Mask */#define MII_ANLPA_HDAM 0x02a0 /* Half Duplex Technology Ability Mask */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -