📄 8019.h
字号:
/**************************************************************/
#ifndef _8019_H
#define _8019_H
/**************************************************************/
#include "ylystd.h"
// ********************************************************
// *** Define Network Interface Controller Registers ***
// *** (RTL8019AS)
// ********************************************************
// NIC Page 0 read register assignments
#define CR 0x00 // Command Register
#define CLDA0 0x01 // Current Local DMA Address 0
#define CLDA1 0x02 // Current Local DMA Address 1
#define BNRY 0x03 // Boundary Pointer
#define BNDRY 0x03
#define TSR 0x04 // Transmit Status Register
#define NCR 0x05 // Number of Collisions Register
#define FIFO 0x06 // FIFO
#define ISR 0x07 // Interupt Status Register
#define CRDA0 0x08 // Current Remote DMA Address 0
#define CRDA1 0x09 // Current Remote DMA Address 1
#define RES1 0x0A // Reserved to NE2000
#define RES2 0x0B // Reserved to NE2000
#define RT8019ID0 0x0A // ID0 to RTL8019AS
#define RT8019ID1 0x0B // ID1 to RTL8019AS
#define RSR 0x0C // Receive Status Register
#define CNTR0 0x0D // Tally Counter 0 (Frame Alignment Errors)
#define CNTR1 0x0E // Tally Counter 1 (CRC Errors)
#define CNTR2 0x0F // Tally Counter 2 (Missed Packet Errors)
#define RMTDMA 0x10 // Remote DMA Port
#define RSTPORT 0x18 // Reset Port
// NIC Page 0 write register assignments
#define PSTART 0x01 // Page Start Register
#define PSTOP 0x02 // Page Stop Register
#define TPSR 0x04 // Transmit Page Start Address
#define TBCR0 0x05 // Transmit Byte Count Register 0
#define TBCR1 0x06 // Transmit Byte Count Register 1
#define RSAR0 0x08 // Remote Start Address Register 0
#define RSAR1 0x09 // Remote Start Address Register 1
#define RBCR0 0x0A // Remote Byte Count Register 0
#define RBCR1 0x0B // Remote Byte Count Register 1
#define RCR 0x0C // Receive Configuration Register
#define TCR 0x0D // Transmit Configuration Register
#define DCR 0x0E // Data Configuration Register
#define IMR 0x0F // Interrupt Mask Register
// NIC Page 1 register assignments
#define PAR0 0x01 // Physical Address Register 0
#define PAR1 0x02 // Physical Address Register 1
#define PAR2 0x03 // Physical Address Register 2
#define PAR3 0x04 // Physical Address Register 3
#define PAR4 0x05 // Physical Address Register 4
#define PAR5 0x06 // Physical Address Register 5
#define CURR 0x07 // Current Page Register
#define MAR0 0x08 // Multicast Address Register 0
#define MAR1 0x09 // Multicast Address Register 1
#define MAR2 0x0A // Multicast Address Register 2
#define MAR3 0x0B // Multicast Address Register 3
#define MAR4 0x0C // Multicast Address Register 4
#define MAR5 0x0D // Multicast Address Register 5
#define MAR6 0x0E // Multicast Address Register 6
#define MAR7 0x0F // Multicast Address Register 7
// NIC Page 2 register READ ONLY --> Page 0 WRITE
// NIC Page 3 read register assignments
#define RT9346CR 0x01 // 9346 Command Register
#define BPAGE 0x02 // BROM Page Register
#define CONFIG0 0x03 // RTL8019 Configuration Register 0
#define CONFIG1 0x04 // RTL8019 Configuration Register 1
#define CONFIG2 0x05 // RTL8019 Configuration Register 2
#define CONFIG3 0x06 // RTL8019 Configuration Register 3
#define CSNSAV 0x08 // CSN Save Register
#define INTR 0x0b // Interrupt Register
// NIC Page 3 write register assignments
#define HLTCLK 0x09 // Halt Clock Register
// NIC Other registers
#define NIC_DATA 0x10 // Data Register for I/O port mode
#define NIC_RESET 0x18 // Reset Register
// NIC Other Defines
// NIC Bits Defines
/**************************************************************/
u8_t Get8019Version(u16_t);
void ResetCSN(void);
u8_t ResetCard(void);
/**************************************************************/
#endif /* define _8019_H */
/**************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -