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

📄 rtl8139.h

📁 用BorlandC开发的DOS下的8139驱动demo
💻 H
字号:
/* This file contain the register map of RTL8139 and what the bits of
   the register stand for.
   The data is copied form data sheet of "Realtek Single Chip Fast Ethernet
   Controller" ,date 1997.4.40.
*/
#define BIT0    0x1
#define BIT1    0x2
#define BIT2    0x4
#define BIT3    0x8
#define BIT4    0x10
#define BIT5    0x20
#define BIT6    0x40
#define BIT7    0x80
#define BIT8    0x100
#define BIT9    0x200
#define BIT10   0x400
#define BIT11   0x800
#define BIT12   0x1000
#define BIT13   0x2000
#define BIT14   0x4000
#define BIT15   0x8000
#define BIT16   0x10000
#define BIT17   0x20000
#define BIT18   0x40000
#define BIT19   0x80000
#define BIT20   0x100000
#define BIT21   0x200000
#define BIT22   0x400000
#define BIT23   0x800000
#define BIT24   0x1000000
#define BIT25   0x2000000
#define BIT26   0x4000000
#define BIT27   0x8000000
#define BIT28   0x10000000
#define BIT29   0x20000000
#define BIT30   0x40000000
#define BIT31   0x80000000
//5.Register Descriptions
#define IDR0    0x0
#define TSD0    0x10
#define TSAD0   0x20
#define RBSTART 0x30
#define CR      0x37
#define CAPR    0x38
#define CBA     0x3a
#define IMR     0x3c
#define ISR     0x3e
#define TCR     0x40
#define RCR     0x44
#define CR9346  0x50
#define CONFIG0 0x51
#define CONFIG1 0x52
#define TSAD    0x60
#define CSCR    0x74
#define PARA78  0x78
#define PARA7c  0x7c
//5.1 	Transmit Configuration Register 	(Offset 0040-0043h,R/W)
#define TCR_IFG1        BIT25
#define TCR_IFG0        BIT24
#define TCR_LBK1        BIT18
#define TCR_LBK0        BIT17
#define TCR_CRC         BIT16
#define TCR_MXDMA2      BIT10
#define TCR_MXDMA1      BIT9
#define TCR_MXDMA0      BIT8
#define TCR_CLRABT      BIT0
//5.2 	Transmit Status of Descriptor0-3	(Offset 0010-001fh,R/W)
#define TSD_CRSL        BIT31
#define TSD_TABT        BIT30
#define TSD_OWC         BIT29
#define TSD_CDH         BIT28
#define TSD_NCC         BIT27+BIT26+BIT25+BIT24
#define TSD_EARTH       BIT21+BIT20+BIT19+BIT18+BIT17+BIT16
#define TSD_TOK         BIT15
#define TSD_TUN         BIT14
#define TSD_OWN         BIT13
#define TSD_SIZE        0x1fff
//5.3 	Interrupt Status(mask) Register        	(Offset 003e-003fh,R/W)
#define ISR_SERR	BIT15
#define ISR_FIFOOVW     BIT6
#define ISR_PUN         BIT5
#define ISR_RXOVW       BIT4
#define ISR_TER         BIT3
#define ISR_TOK         BIT2
#define ISR_RER         BIT1
#define ISR_ROK         BIT0
#define R39_INTERRUPT_MASK      0x7f
//5.4   Transmit Status of AllDescriptor        (Offset 0060-0062h,R/W)
#define TSAD_TOK3       BIT15
#define TSAD_TOK2       BIT14
#define TSAD_TOK1       BIT13
#define TSAD_TOK0       BIT12
#define TSAD_TUN3       BIT11
#define TSAD_TUN2       BIT10
#define TSAD_TUN1       BIT9
#define TSAD_TUN0       BIT8
#define TSAD_TABT3      BIT7
#define TSAD_TABT2      BIT6
#define TSAD_TABT1      BIT5
#define TSAD_TABT0      BIT4
#define TSAD_OWN3       BIT3
#define TSAD_OWN2       BIT2
#define TSAD_OWN1       BIT1
#define TSAD_OWN0       BIT0

//5.5   Media Status Register                   (Offset 0058	  ,R/W)
//5.6   Receive Configuration Register          (Offset 0044-0047h,R/W)
#define RCR_ERTH3       BIT27
#define RCR_ERTH2       BIT26
#define RCR_ERTH1       BIT25
#define RCR_ERTH0       BIT24
#define RCR_RXFTH2      BIT15
#define RCR_RXFTH1      BIT14
#define RCR_RXFTH0      BIT13
#define RCR_RBLEN1      BIT12
#define RCR_RBLEN0      BIT11
#define RCR_MXDMA2      BIT10
#define RCR_MXDMA1      BIT9
#define RCR_MXDMA0      BIT8
#define RCR_WRAP        BIT7
#define RCR_AER         BIT5
#define RCR_AR          BIT4
#define RCR_AB          BIT3
#define RCR_AM          BIT2
#define RCR_APM         BIT1
#define RCR_AAP         BIT0
//5.7   Multiple Interrupt Select Register      (Offset 005c-005dh,R/W)
//5.8   Receive Status in Rx Packet header---this is in Rx buffer
#define RxStutus_MAR    BIT15
#define RxStatus_PAM    BIT14
#define RxStatus_BAR    BIT13
#define RxStatus_ISE    BIT5
#define RxStatus_RUNT   BIT4
#define RxStatus_LONG   BIT3
#define RxStatus_CRC    BIT2
#define RxStatus_FAE    BIT1
#define RxStatus_ROK    BIT0

//5.9   ERSR:Early Rx Status Register           (Offset 0036h     ,R)
//5.10  Command Register                        (Offset 0037h     ,R/W)
#define CR_RST          BIT4
#define CR_RE           BIT3
#define CR_TE           BIT2
#define CR_BUFE         BIT0
//5.11  9346CR:9346 Command Register            (Offset 0050h     ,R/W)

//#define CR9346_EEM1     BIT7
//#define CR9346_EEM0     BIT6
#define CR9346_NORMAL   0x0
#define CR9346_AutoLoad BIT6
#define CR9346_PROGRAM  BIT7
#define CR9346_ConfigEn BIT7+BIT6
#define CR9346_EECS     BIT3
#define CR9346_EESK     BIT2
#define CR9346_EEDI     BIT1
#define CR9346_EEDO     BIT0
#define CR9346_ENB      BIT7+BIT3
//EERPOM Command

#define EEPROM_READ     BIT7+BIT8
#define EEPROM_WRITE    BIT6+BIT8
#define EEPROM_ERASE    BIT6+BIT7+BIT8
#define EEPROM_EnWRITE  BIT8+BIT5+BIT4
#define EEPROM_DisWRITE BIT8
//5.12  CONFIG0:Configuration Register 0        (Offset 0051h     ,R/W)
//5.13  CONFIG1:Configuration Register 1        (Offset 0052h     ,R/W)
#define CONFIG1_LEDS1   BIT7
#define CONFIG1_LEDS0   BIT6
#define CONFIG1_DVRLOAD BIT5
#define CONFIG1_MEMMAP  BIT3
#define CONFIG1_IOMAP   BIT2
#define CONFIG1_SLEEP   BIT1
#define CONFIG1_PWRDN   BIT0
//5.14  PCI Revision ID                         (Offset 005eh     ,R)
//5.15


//5.25  CS COnfiguration Register               (Offset 0074h-0075h,R/W)
#define CSCR_Testfun    BIT15
#define CSCR_LineCase   BIT14+BIT13+BIT12
#define CSCR_LinkChange BIT11
#define CSCR_LinkOK     BIT10
#define CSCR_LD         BIT9
#define CSCR_HEARTBEAT  BIT8
#define CSCR_JBEN       BIT7
#define CSCR_F_LINK_100 BIT6
#define CSCR_F_Connect  BIT5
#define CSCR_Con_status BIT3
#define CSCR_Con_sts_en BIT2
#define CSCR_PASS_SCR   BIT0


⌨️ 快捷键说明

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