📄 pci.bak
字号:
/* R2886 PCI Driver include file for Paradigm C */
//
#define BUF_SIZE 1536
#define DESC_COUNT 8
#define DUPLEX_MODE 1 /* 0: Half, 1: Full */
// PCI Device ID
#define DEC21140_VID 0x1011
#define DEC21140_DID 0x0009
#define DM9102_VID 0x1282
#define DM9102_DID 0x9102
#define DM9009_VID 0x1282
#define DM9009_DID 0x9009
// Device I/O Address Start
#define PCI_IO_START 0x6000
#define PCI_MEM_START 0x70000
#define PCI_NIC0_IO 0x6000
#define PCI_NIC1_IO 0x6100
#define PCI_NIC2_IO 0x6200
#define PCI_NIC3_IO 0x6300
#define CARD_NIC_IO 0x6400
#define PCI_NIC0_MEM 0x70000
#define PCI_NIC1_MEM 0x70100
#define PCI_NIC2_MEM 0x70200
#define PCI_NIC3_MEM 0x70300
#define CARD_NIC_MEM 0x70400
#define PCI_NIC0_PHYA 1
#define PCI_NIC1_PHYA 1
#define PCI_NIC2_PHYA 1
#define PCI_NIC3_PHYA 1
// DEC21140/DM9102A Register Define
enum DEC_REG{
CR0_ADDR=0x0, CR1_ADDR=0x08, CR2_ADDR=0x10, CR3_ADDR=0x18, CR4_ADDR=0x20,
CR5_ADDR=0x28, CR6_ADDR=0x30, CR7_ADDR=0x38, CR8_ADDR=0x40, CR9_ADDR=0x48,
CR10_ADDR=0x50, CR11_ADDR=0x58, CR12_ADDR=0x60, CR13_ADDR=0x68, CR14_ADDR=0x70,
CR15_ADDR=0x78
};
// Define for MII PHY Chip
#define MDI 0x80000 ;;MII Data In
#define MIIRead 0x40000 ;;MII mode read
#define MIIWrite 00000 ;;MII mode write
#define MDO1 0x20000 ;;MII Data Out 1
#define MDO0 00000 ;;MII Data Out 0
#define MDCH 1 ;;MII Clock high
#define MDCL 0 ;;MII Clock low
/* Descriptor Structure Define */
#define DEC_DESC_SIZE 0x20
typedef struct DEC_DESCRIPTOR {
uint16 status; /* 00h */
uint16 own;
uint16 len; /* 04h */
uint16 ctrl;
uint32 buf_ptr; /* 08h */
uint32 ndesc_ptr; /* 0Ch */
uint16 reserved1; /* 10h */
char far *vbuf_ptr; /* 12h */
struct DEC_DESCRIPTOR far * vndesc_ptr;/* 16h */
uint16 rev0, rev1, rev2; /* 1Ah, 1Ch, 1Eh */
} DEC_DESCRIPTOR;
/* R1620 DEC information strcture */
typedef struct DEC_STRU {
DEC_DESCRIPTOR far *tx_insert_ptr;
DEC_DESCRIPTOR far *tx_remove_ptr;
DEC_DESCRIPTOR far *rx_insert_ptr;
DEC_DESCRIPTOR far *rx_remove_ptr;
struct DEC_STRU far * next_mac;
char far *tx_desc_ptr;
char far *rx_desc_ptr;
uint32 txd_raddr;
uint32 rxd_raddr;
uint16 cr0_datal;
uint16 cr0_datah;
uint16 cr6_datal;
uint16 cr6_datah;
uint16 ctype; //type=1,DEC21140, =1,DM9102
uint16 irq;
uint16 io_base;
uint16 handle;
uint16 int_status;
uint16 phy_addr;
uint16 StartBufPtr;
uint16 EndBufPtr;
uint16 SendBufferPtr;
uint16 TxStartLen;
uint16 TxEndLen;
uint16 TxRepCnt;
uint16 TxGap;
uint16 TxTmpLen;
uint16 TxTmpRep;
uint16 TxFreeDesc;
uint16 RxFreeDesc;
uint16 RxErrL;
uint16 RxErrH;
} DEC_STRU;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -