S3C6410和DM9000驅動

添加DM9000驅動linux

Linux 內核下的 drivers/net/dm9000.c 實現了與體系結構無關的 DM9000 網卡驅動,只須要在 BSP 的板文件(arch/arm/mach-s3c6410/smdk-6410.c)中定義相關的 platform 設備和數據:數組


一、 添加引腳宏定義
在arch/arm/mach-s3c6400/include/mach/map.h文件中添加宏定義

#define S3C64XX_PA_DM9000 (0x18000000)spa

 

 二、 添加platform數據orm

在arch/arm/mach-s3c6410/smdk-6410.c文件中form

2.一、添加頭文件#include <linux/dm9000.h>map

2.二、定義platform 設備和數據數據

static struct resource s3c_dm9000_resources[] = {static

[0] = { .start = S3C64XX_PA_DM9000, .end = S3C64XX_PA_DM9000 + 0x3, .flags = IORESOURCE_MEM, },   [1] = { .start = S3C64XX_PA_DM9000 + 0x4, .end = S3C64XX_PA_DM9000 + 0x7, .flags = IORESOURCE_MEM, },   [2] = {           .start = IRQ_EINT(7),          .end   = IRQ_EINT(7), .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, }, };   static struct dm9000_plat_data s3c_dm9000_platdata = { .flags = DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM, .dev_addr = { 0x0, 0x16, 0xd4, 0x9f , 0xed, 0xa4 }, };   static struct platform_device s3c_device_dm9000 = { .name = "dm9000", .id = 0, .num_resources = ARRAY_SIZE(s3c_dm9000_resources), .resource = s3c_dm9000_resources, .dev = { .platform_data = &s3c_dm9000_platdata, } };   三、 修改smdk6410_devices[]數組 在arch/arm/mach-s3c6410/smdk-6410.c文件中的struct platform_device *smdk6410_devices[]數組填入以下語句: & s3c_device_dm9000,
相關文章
相關標籤/搜索