dm9000.h

来自「基于S3C2410和SM501的彩屏控制器程序」· C头文件 代码 · 共 71 行

H
71
字号
#ifndef DM9000_H
#define DM9000_H

//********************** Including Libs **********************
#include <string.h>
#include "comdef.h"
#include "2410.h"



//********************** Macro Definition **********************
/*
	DM9000_BASE设为0x19000300, 是由于网卡CS为nGCS3译码所得。
	nGCS3存贮空间为0x18000000--0x20000000
	因此,DM9000_BASE可为:(0x18000000--0x20000000) + 0x300
*/
#define DM9000_BASE		0x19000300

#define DM9000_VID_L	0x28
#define DM9000_VID_H	0x29
#define DM9000_PID_L	0x2A
#define DM9000_PID_H	0x2B
#define DM9000_ID		0x90000A46
#define DM9000_INT_MII	0x00

#define DM9000_PPTR 	*(volatile u16 *)(DM9000_BASE)		// 命令寄存器地址
#define DM9000_PDATA 	*(volatile u16 *)(DM9000_BASE + 4)	// 数据寄存器地址
// 注: 命令寄存器地址=0x19000300, 0x300为默认,0x19000300 为XC95144译码所得

// 数据包参数
#define PKTSIZE			1518
#define PKTSIZE_ALIGN	1536
#define PKTBUFSRX		4
#define PKTALIGN		32

// 网卡配置参数
#define	CFG_HZ					1562500
#define CONFIG_DRIVER_DM9000	1
#define CONFIG_ETHADDR			08:01:3e:26:0a:5b 
#define CONFIG_NETMASK      	255.255.255.0
#define CONFIG_IPADDR			10.10.10.118
#define CONFIG_SERVERIP			10.10.10.26


//********************** Local Function **********************
#ifdef __DM9000
	#define EXTERN
#else
	#define EXTERN	extern
#endif

EXTERN u32 GetDM9000ID (void);
EXTERN void DM9000_init (void);
EXTERN int eth_rx (void);
EXTERN int eth_send (volatile void *packet, int length);


#undef EXTERN


//********************** Extern Variable **********************



//********************** Extern Function **********************
void NetReceiveProcess (volatile uchar * pkt, int len);
ulong get_timer(int t);


//*****************************************************************
#endif

⌨️ 快捷键说明

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