fl2440 dm9000网卡驱动安装

时间:2023-01-16 17:14:01

vim arch/arm/mach-s3c2440/mach-smdk2440.c

* add DM9000 ethernet driver  */  
#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,  
    },  
};


修改platform_device *smdk2440_devices[] __initdata结构体

static struct platform_device *smdk2440_devices[] __initdata = {
    &s3c_device_ohci,
    &s3c_device_lcd,
    &s3c_device_wdt,
    &s3c_device_i2c0,
    &s3c_device_iis,
    &s3c_device_dm9000,
};  

vim include/linux/dm9000.h   

添加:#include <linux/io.h>再次编译内核后进入:

fl2440 dm9000网卡驱动安装


OK