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

📄 pci.bak

📁 RDC R2886 USB Ehci ohc测试源码,paradigm c++上运行测试
💻 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 + -