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

📄 说明.txt

📁 为At91rm9200制作的cs8900驱动
💻 TXT
字号:


1、在  include\asm-arm\arch-at91rm9200\AT91RM9200.h里面添加:
	#define AT91C_BASE_CS5		(0x60000000) // 10M eth Base Address
2、在  arch\arm\mach-at91rm9200\core.c里面的以下地方添加{ 0xd0000000,   AT91C_BASE_CS5,   SZ_1M,   DOMAIN_IO, 0, 1, 0, 0},
	static struct map_desc at91rm9200_io_desc[] __initdata = {
	/* virtual,             physical,          length,   domain,    r, w, c, b */
	{ AT91C_VA_BASE_SYS,    AT91C_BASE_SYS,    SZ_4K,    DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_SPI,    AT91C_BASE_SPI,    SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_SSC2,   AT91C_BASE_SSC2,   SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_SSC1,   AT91C_BASE_SSC1,   SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_SSC0,   AT91C_BASE_SSC0,   SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_US3,    AT91C_BASE_US3,    SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_US2,    AT91C_BASE_US2,    SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_US1,    AT91C_BASE_US1,    SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_US0,    AT91C_BASE_US0,    SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_EMAC,   AT91C_BASE_EMAC,   SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_TWI,    AT91C_BASE_TWI,    SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_MCI,    AT91C_BASE_MCI,    SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_UDP,    AT91C_BASE_UDP,    SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_TCB1,   AT91C_BASE_TCB1,   SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ AT91C_VA_BASE_TCB0,   AT91C_BASE_TCB0,   SZ_16K,   DOMAIN_IO, 0, 1, 0, 0},
	{ 0xd0000000,   AT91C_BASE_CS5,   SZ_1M,   DOMAIN_IO, 0, 1, 0, 0},//添加内容
	LAST_DESC
};

3、driver\net\space.c里面的static struct devprobe isa_probes[] __initdata数组里面添加以下内容:
	#if defined(CONFIG_CS89x0) || defined(CONFIG_CERF_CS8900A)
 		{cs89x0_probe, 0},
	#endif

4、从2410驱动里面拷贝cs8900a.c和cs89x0.h到drivers/net目录下面
5、在cs8900a.c添加
	#define IRQ_LAN        25
	#define vCS8900_BASE		0xd0000000
    在int __init cs89x0_probe(struct net_device *dev)函数里面添加bank配置:
    	AT91_SYS->EBI_SMC2_CSR[5]=(0x7f|(1<<7)|(1<<12)|(3<<16)|(7<<24)|(0xf<<8)|(1<<13)|(7<<29));
    	AT91_SYS->AIC_SMR[25]=3<<5;
5、在makefile里面添加obj-$(CONFIG_CERF_CS8900A) += cs8900a.o
6、在config.in里面添加相应的网络部分添加tristate '    CERF CS89x0 support' CONFIG_CERF_CS8900A $CONFIG_ISA
7、配置网络编译。









⌨️ 快捷键说明

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