_基于S3C2440的嵌入式LINUX操作系统内核研究
图5 CS8900A工作流程图
移植时首先确定网卡的地址为0x19000000,中断号为EINT9。 修改drivers/net/cs89x0.c,指定CS8900A使用的资源: #elif defined(CONFIG_ARCH_S3C2410) #include <asm/irq.h> #include <mach/regs-mem.h>
#define S3C24XX_PA_CS8900 0x19000000
static unsigned int netcard_portlist[] __initdata ={0,0}; static unsigned int cs8900_irq_map[] = {IRQ_EINT9,0,0,0}; 然后修改入口函数cs89x0_probe: #if defined(CONFIG_ARCH_S3C2410) unsigned int oldval_bwscon; unsigned int oldval_bankcon3; #endif
#if defined(CONFIG_ARCH_S3C2410) //设置MAC,总线宽度等 if(netcard_portlist[0]) return -ENODEV;
netcard_portlist[0] = (unsigned int)ioremap(S3C24XX_PA_CS8900, SZ_1M) +