您的位置:首页 > 其它

fl2440内核移植(四)——DM9000移植

2015-11-25 21:02 302 查看
1、修改arch/arm/mach-s3c2440/mach-smdk2440.c

#include<linux/dm9000.h> //添加dm9000头文件

在设备结构体中添加dm9000网卡

static struct platform_device *smdk2440_devices[] __initdata = {

&s3c_device_ohci,

&s3c_device_lcd,

&s3c_device_wdt,

&s3c_device_i2c0,

&s3c_device_iis,

&s3c_device_rtc,

&s3c_device_dm9000,

};

添加如下代码:

/*DM9k ethernet driver info,add by Lu Zengmeng,2015-11-25*/

#define DM9000_BASE (S3C2410_CS4 + 0x300)

static struct resource s3c_dm9000_resource[] = {

[0] = {

.start = DM9000_BASE,

.end = DM9000_BASE + 3,

.flags = IORESOURCE_MEM

},

[1] = {

.start = DM9000_BASE + 4,

.end = DM9000_BASE + 7,

.flags = IORESOURCE_MEM

},

[2] = {

.start = IRQ_EINT7,

.end = IRQ_EINT7,

.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,

}

};

/* The DM9000 has no eeprom, and it's MAC address is set by

the bootloader before starting the kernel.*/

static struct dm9000_plat_data s3c_dm9000_pdata = {

.flags = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),

};

static 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_dm9000_pdata,

},

};

/*End of DM9K*/

2、配置menuconfig,使能DM9000相关驱动

Device Drivers--->

[*]Network device support--->

--- Network device support ---

│ │ < > Dummy net driver support

│ │ < > Bonding driver support

│ │ < > MAC-VLAN support (EXPERIMENTAL)

│ │ < > EQL (serial line load balancing) support

│ │ <M> Universal TUN/TAP device driver support

│ │ < > Virtual ethernet pair device

│ │ -*- Generic Media Independent Interface device support

│ │ < > PHY Device support and infrastructure --->

│ │ [*] Ethernet (10 or 100Mbit) --->

--- Ethernet (10 or 100Mbit)

│ │ < > ASIX AX88796 NE2000 clone support

│ │ < > SMC 91C9x/91C1xxx support

│ │ <*> DM9000 support

│ │ (4) DM9000 maximum debug level

│ │ [ ] Force simple NSR based PHY polling

重新编译内核后烧录到开发板上测试

>: ifconfig

eth0 Link encap:Ethernet HWaddr 08:00:3E:26:0A:51

inet addr:192.168.11.51 Bcast:192.168.11.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:32 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:2238 (2.1 KiB) TX bytes:0 (0.0 B)

Interrupt:51 Base address:0x2300

移植完成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: