基于fl2440 内核linux3.0添加dm9000支持
来源:互联网 发布:约瑟夫问题c语言详解 编辑:程序博客网 时间:2024/05/18 09:05
2440开发板和dm9000的联系
片选信号AEN使用了nGCS4,所以网卡的内存区域在BANK4,也就是从地址0x20000000开始。DM9000的TXD[2:0]作为strap pin在电路图中是空接的,所以IO base是300H。中断使用了EINT7。
所以要对arch/arm/mach-s3c2440/mach-smdk2440.c进行修改,修改如下:
9 #include <linux/dm9000.h> //add DM9000 net support 括号里边不能有空格!!!
50
51
52 #define DM9000_BASE (S3C2410_CS4 + 0x300)
50
51
52 #define DM9000_BASE (S3C2410_CS4 + 0x300)
53 static struct resource s3c_dm9000_resource[] = {
54
55
56 [0]={
57 .start=DM9000_BASE,
58 .end=DM9000_BASE+3,
59 .flags=IORESOURCE_MEM
60 },
61
62 [1]={
63 .start=DM9000_BASE+4,
64 .end=DM9000_BASE+7,
65 .flags=IORESOURCE_MEM,
66 },
67
68 [2]={
69 .start=IRQ_EINT7,
70 .end= IRQ_EINT7,
71 .flags=IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
72 }
73
74
75 };
54
55
56 [0]={
57 .start=DM9000_BASE,
58 .end=DM9000_BASE+3,
59 .flags=IORESOURCE_MEM
60 },
61
62 [1]={
63 .start=DM9000_BASE+4,
64 .end=DM9000_BASE+7,
65 .flags=IORESOURCE_MEM,
66 },
67
68 [2]={
69 .start=IRQ_EINT7,
70 .end= IRQ_EINT7,
71 .flags=IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
72 }
73
74
75 };
82 static struct dm9000_plat_data s3c_dm9000_pdata = {
83
84 .flags = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),
85 };
86
87
88 static struct platform_device s3c_device_dm9000 = {
89
90 .name = "dm9000",
91 .id = -1,
92 .num_resources = ARRAY_SIZE(s3c_dm9000_resource),
93 .resource = s3c_dm9000_resource,
94 .dev = {
95 .platform_data = &s3c_dm9000_pdata,
96 },
97 };
83
84 .flags = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),
85 };
86
87
88 static struct platform_device s3c_device_dm9000 = {
89
90 .name = "dm9000",
91 .id = -1,
92 .num_resources = ARRAY_SIZE(s3c_dm9000_resource),
93 .resource = s3c_dm9000_resource,
94 .dev = {
95 .platform_data = &s3c_dm9000_pdata,
96 },
97 };
203 static struct platform_device *smdk2440_devices[] __initdata = {
204 &s3c_device_ohci,
205 &s3c_device_lcd,
206 &s3c_device_wdt,
207 &s3c_device_i2c0,
208 &s3c_device_iis,
209 &s3c_device_dm9000, //这是要添加的
210 };
211
204 &s3c_device_ohci,
205 &s3c_device_lcd,
206 &s3c_device_wdt,
207 &s3c_device_i2c0,
208 &s3c_device_iis,
209 &s3c_device_dm9000, //这是要添加的
210 };
211
修改好之后保存退出。返回自己内核所在的目录make 。生成的linuxrom-s3c2440.bin烧录到自己的开发板上,这时候就可以用ifconfig这个命令了。
0 0
- 基于fl2440 内核linux3.0添加dm9000支持
- fl2440——添加DM9000网卡支持
- Fl2440内核添加DM9000网卡驱动
- 基于linux3.0内核fl2440开发板下的gps数据采集与处理
- 内核linux-3.0移植到fl2440-----添加DM9000网卡驱动
- 移植Linux3.0内核到fl2440开发板
- FL2440移植linux-3.0全过程(4)添加DM9000网卡支持
- 移植uboot到fl2440支持DM9000网卡
- 基于arm9的linux3.0内核移植
- fl2440内核linux-3.0移植-----添加SD卡支持
- 基于fl2440内核linux-3.0移植----添加按键驱动
- 基于fl2440内核linux-3.0移植----添加adc驱动
- linux3.0 内核级调试工具KDB支持反汇编
- fl2440 移植u-boot-2010.09全纪录3----------DM9000网卡支持
- fl2440内核移植(四)——DM9000移植
- RT3070 AP模式移植 基于linux3.0内核
- fl2440——移植USB驱动、内核添加USB支持、U盘挂载
- fl2440——RTC(实时时钟)的学习、内核添加RTC支持
- 对付空中无线电波读取人的思想的方法
- echo使用!
- 枚哥词典01
- 关于scrollview中嵌套横向滑动控件时产生的体验不佳问题
- Java覆盖equals (入门级)
- 基于fl2440 内核linux3.0添加dm9000支持
- 【springmvc+mybatis项目实战】杰信商贸-33.出口报运修改+报运货物批量展现-批量修改控件2
- 一个关于STM8中断应用异常的话题
- 黑马程序员_Java多态性
- EXT 横排列表单样例
- to_char
- Linux下基于bitnami的Redmine安装部署以及结合Subversion的设置
- 网络解析封装
- sheepdog的学习