TQ2440之内核3.15.6-DM9000移植

1.0.2-linux-3.15.6内核移植之DM9000网卡

内核中已经有DM9000的相关驱动了所以我们只需要小小的改动一下就可以用了。

还是在

[linux-3.15.6]# vimarch/arm/mach-s3c24xx/mach-smdk2440.c

1、增加头文件

26 /*add by hxy*/

27 #include <linux/dm9000.h>

28 /*end by hxy*/

2、添加基地址定义

154 /*add by hxy*/

155 #define MACH_SMDK2440_DM9K_BASE (S3C2410_CS4 +0x300)

3、添加结构体

156 /* DM9000AEP 10/100 ethernet controller */

157 static struct resource smdk2440_dm9k_resource[] ={

158     [0] = {

159        .start = MACH_SMDK2440_DM9K_BASE,

160        .end = MACH_SMDK2440_DM9K_BASE + 3,

161        .flags = IORESOURCE_MEM

162     },

163     [1] = {

164        .start = MACH_SMDK2440_DM9K_BASE + 4,

165        .end = MACH_SMDK2440_DM9K_BASE + 7,

166        .flags = IORESOURCE_MEM

167     },

168     [2] = {

169        .start = IRQ_EINT7,

170        .end = IRQ_EINT7,

171        .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,

172     }

173 };

174 /*

175  * TheDM9000 has no eeprom, and it's MAC address is set by

176  * thebootloader before starting the kernel.

177  */

178 static struct dm9000_plat_datasmdk2440_dm9k_pdata = {

179    .flags        =(DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),

180 }; 

181 static struct platform_device smdk2440_device_eth= {

182    .name        = "dm9000",

183    .id        = -1,

184    .num_resources    =ARRAY_SIZE(smdk2440_dm9k_resource),

185    .resource    =smdk2440_dm9k_resource,

186    .dev        = {

187        .platform_data    =&smdk2440_dm9k_pdata,

188     }, 

189 };     

190

191 /*end by hxy*/

4、添加网卡支持

199  &smdk2440_device_eth,

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值