linux-2.6.30的DM9000移植

来源:互联网 发布:linux 进程绑定cpu 编辑:程序博客网 时间:2024/05/18 21:11

第一步:在arm/arm/plats3c24xx/devs.c 文件中添加如下代码

//-----------------------------------------------------------      

#include <linux/dm9000.h>

static struct resource s3c_dm9k_resource[] = {
[0] = {
.start = S3C2410_CS4,
.end = S3C2410_CS4 + 3,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = S3C2410_CS4 + 4,
.end = S3C2410_CS4 + 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,
}

 

 

 

//-----------------------------------------------------

  第二步:在 arm/arm/pla/include/plat/devs.h 文件中 添加如下一行

  extern struct platform_device s3c_device_dmk;    //for dm9000   --------hainanyunyu --广州大学

 

 

 

//----------------------------------------------------------------

第三步:在  arm/arm/mach-s3c2410/mach-smdk2410.c  

 

文件中的*smdk2410_devices[] __initdata

添加&s3c_device_dm9000,//for dm9000   --------hainanyunyu --广州大学

 

如下所示:

static struct platform_device *smdk2410_devices[] __initdata = {

&s3c_device_usb,

&s3c_device_lcd,        

      &s3c_device_wdt,    

&s3c_device_i2c,

&s3c_device_iis,

      &s3c_device_dmk,//for dm9000   --------hainanyunyu --广州大学

};