1)修改arch/arm/mach-s3c2440/mach-smdk2440.c文件,增加以下信息
/****add by dengwei*****************/
#include <linux/dm9000.h>
static struct resource s3c_dm9k_resource[] =
{
[0] =
{
.start = S3C2410_CS3, //網卡連接在CS3總線上(此處跟據不同開發板進行修改)
.end = S3C2410_CS3 + 3,
.flags = IORESOURCE_MEM,
},
[1] =
{
.start = S3C2410_CS3 + 4, //同上
.end = S3C2410_CS3 + 4 + 3,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = IRQ_EINT7, //根據硬件外部中斷管腳修改此數字
.end = IRQ_EINT7,
.flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING,
}
};
static struct dm9000_plat_data s3c_dm9k_platdata =
{
.flags =DM9000_PLATF_16BITONLY,
};
struct platform_device s3c_device_dm9k =
{
.name = "dm9000",
.id = 0,
.num_resources = ARRAY_SIZE(s3c_dm9k_resource),
.resource = s3c_dm9k_resource,
.dev =
{
.platform_data= &s3c_dm9k_platdata,
}
};
EXPORT_SYMBOL(s3c_device_dm9k);
/*************************add by dengwei***************************/
2)修改 arch/arm/mach-s3c2440/mach-smdk2440.c文件
修改struct platform_device *smdk2440_devices[]__initdata結構體增加以下代碼:
static struct platform_device*smdk2440_devices[] __initdata =
{&s3c_device_ohci,&s3c_device_lcd,&s3c_device_wdt,&s3c_device_i2c0,
&s3c_device_iis,&s3c_device_dm9k, //for dm9000 add by dengwei
};
3)修改drivers/net/dm9000.c源碼:
在頭文件區增加頭文件:
#include <mach/regs-mem.h>
大約1365行左右增加以下代碼:
static int __devinit dm9000_probe(structplatform_device *pdev)
{
//add here 函數開始處
}
/**********add by dengwei*****************/
/**********add by dengwei****************/
4)修改make menuconfig配置選項:
Devices Drivers --->
Network device support--->
Ethernet (10 or 100) --->
[*]DM9000support
(4)DM9000maxinum debug level
//僅保留這兩個選項,其余的全部去掉
5)重新編譯內核,燒入開發板中即可
6)第一次使用的開發板需使用ifconfig eth0 hw ether 12:34:56:78:32:65 設置mac地址
(MAC地址可以隨便設置)
使用ifconfigeth0 192.168.220.*設置開發板IP
使用ping命令ping主機即可