由于 Linux-2.6.32.2 中固然有 DM9000 网卡驱动,但并不是完全的适合mini2440,所以还是需要修改,修改DM9000 所用的位宽寄存器,在linux-2.6.32.2/ drivers/net/dm9000.c,添加下面的头文件
#if defined (CONFIG_ARCH_S3C2410)
#include <mach/regs-mem.h>
#endif
在dm9000设备的初始化函数中添加如下红色部分,这里是配置 DM9000 所用片选总线的时序,大约在1557行四周的位置,
static int __init
dm9000_init(void)
{
#if defined(CONFIG_ARCH_S3C2410)
unsigned int oldval_bwscon = *(volatile unsigned int*)S3C2410_BWSCON;
unsigned int oldval_bankcon4 = *(volatile unsigned int*)S3C2410_BANKCON4;
*((volatile unsigned int *)S3C2410_BWSCON) =
(oldval_bwscon & ~(3<<16)) | S3C2410_BWSCON_DW4_16 |
S3C2410_BWSCON_WS4 | S3C2410_BWSCON_ST4;
oldval_bankcon4 = 0x1f7c;
#endif
printk(KERN_INFO "%s Ethernet Driver, V%s\n", CARDNAME, DRV_VERSION);
return platform_driver_register(&dm9000_driver);
}
Linux-2.6.32.2 中固然有 DM9000 网卡驱动,但并不是完全的适合mini2440,导致挂载不上nfs文件系统
最新推荐文章于 2017-06-02 17:39:27 发布