Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53571
  • 博文数量: 24
  • 博客积分: 1480
  • 博客等级: 上尉
  • 技术积分: 250
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-12 16:20
文章分类

全部博文(24)

文章存档

2010年(24)

我的朋友

分类: 嵌入式

2010-06-26 15:21:08

1.vi drivers/net/arm/Makefile
 在第12行添加:
 
 obj-$(CONFIG_ARM_CS8900) += cs8900.o

2.vi drivers/net/arm/Kconfig
 在第5行添加:
 
 config ARM_CS8900
  tristate "CS8900 support"
  depends on NET_ETHERNET && ARM && ARCH_SMDK2410
  help
   support for cs8900 chipset based Ethernet cards , if you  have a network card of this type.

3.make menuconfig
 进入配置菜单添加驱动到内核:
 Device Drivers  --->
 [*] Network device support  --->
 [*]   Ethernet (10 or 100Mbit)  ---> 
 <*>   CS8900 support 

4.vi arch/arm/mach-s3c2440/mach-smdk2440.c
 在static struct map_desc smdk2440_iodesc[] __initdata 最后添加:
 , {
  .virtual = (u32)0xE0000000,
  .pfn  = __phys_to_pfn(S3C2410_CS3 + (1<<24)),
  .length  = SZ_1M,
  .type  = MT_DEVICE,
 }

5.vi include/asm-arm/plat-s3c24xx/common-smdk.h
 在14行添加:
 //change by
 #define pSMDK2410_ETH_IO                 __phys_to_pfn(0x19000000)
 #define vSMDK2410_ETH_IO                0xE0000000
 #define SMDK2410_ETH_IRQ                 IRQ_EINT9

6.

arch/arm/mach-s3c2410/mach-smdk2410.c文件中,找到smdk2410_iodesc[]结构

修改为:{vSMDK2410_ETH_IO, pSMDK2410_ETH_IO, SZ_1M, MT_DEVICE}


如果这部不做,加载内核的时候会出现

Cirrus Logic CS8900A driver for Linux(Modified for SMDK2410)

Unable to handle kernel paging request at virtual address e000030a


7.添加drivers/net/arm/cs8900.c文件


8.drivers/net/arm/cs8900.h文件


以上文件已在博客中上传。

阅读(468) | 评论(0) | 转发(0) |
0

上一篇:u-boot相关

下一篇:ubuntu 的一般配置

给主人留下些什么吧!~~