Chinaunix首页 | 论坛 | 博客
  • 博客访问: 516102
  • 博文数量: 95
  • 博客积分: 5168
  • 博客等级: 大校
  • 技术积分: 1271
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-28 23:31
文章分类

全部博文(95)

文章存档

2013年(2)

2012年(3)

2011年(1)

2010年(8)

2009年(81)

分类: LINUX

2009-02-27 22:11:27

------------------------------------
本文系本站原创,欢迎转载!
转载请注明出处:http://sjj0412.cublog.cn/
------------------------------------------ 

由于linux-2.6.13已经带有dm9000驱动(drivers/net),只需添加一些内容即可.

1.首先修改arch/arm/mach-s3c2410/devs.c

添加如下内容

static struct resource s3c_dm9000_resource[] = {

        [0] = {

          .start = S3C2410_CS4 + 0x300,

          .end   = S3C2410_CS4 + 0x300 + 0x03,

          .flags = IORESOURCE_MEM

},

        [1] = {

          .start = S3C2410_CS4 + 0x300 + 0x04,

          .end   = S3C2410_CS4 + 0x300 + 0x04 + 0x3,  //   0x3f

          .flags = IORESOURCE_MEM

},

        [2] = {

          .start = IRQ_EINT7,

          .end   = IRQ_EINT7,

          .flags = IORESOURCE_IRQ

}

};

片选值S3C2410_CS4,中断线IRQ_EINT7,这些值要根据你的板子电路图来设置。

 

static struct dm9000_plat_data s3c_device_dm9000_platdata = {

        .flags= DM9000_PLATF_16BITONLY

};

      struct platform_device s3c_device_dm9000 = {

        .name= "dm9000",

        .id= -1,

        .num_resources= ARRAY_SIZE(s3c_dm9000_resource),

        .resource= s3c_dm9000_resource,

        .dev= {

          .platform_data = &s3c_device_dm9000_platdata,

}

};

EXPORT_SYMBOL(s3c_device_dm9000);

2.arch/arm/mach-s3c2410/devs.h

添加如下内容

extern struct platform_device s3c_device_dm9000;

arch/arm/mach-s3c2410/mach-2440.c

3.添加如下红色内容

static struct platform_device *smdk2440_devices[] __initdata = {

       &s3c_device_usb,

       &s3c_device_lcd,

       &s3c_device_wdt,

       &s3c_device_i2c,

&s3c_device_dm9000

       &s3c_device_iis,

};

然后cp arch/arm/configs/s3c2410_defconf .config

Make menuconfig

Make zImage

下载zImage到开发板即可。

 

阅读(1765) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~