kernel 支持网卡dm9000 开发板s3c2410
2010-10-20 10:09
169 查看
1.
gedit arch/arm/plat-s3c24xx/common-smdk.c
#include <linux/dm9000.h>
/* DM9000 */
static struct resource s3c_dm9k_resource[] = {
[0] = {
.start = S3C2410_CS2, /* ADDR2=0,发送地址时使用这个地址 */
.end = S3C2410_CS2 + 3,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = S3C2410_CS2 + 4, /* ADDR2=1,传输数据时使用这个地址 */
.end = S3C2410_CS2 + 4 + 3,
.flags = IORESOURCE_MEM,
},
[2] = {
/* 中断号 */
.start = IRQ_EINT2,
.end = IRQ_EINT2,
.flags = IORESOURCE_IRQ,
}
};
/* for the moment we limit ourselves to 16bit IO until some
* better IO routines can be written and tested
*/
static struct dm9000_plat_data s3c_dm9k_platdata = {
.flags = DM9000_PLATF_32BITONLY,
};
static struct platform_device s3c_device_dm9k = {
.name = "dm9000",
.id = 0,
.num_resources = ARRAY_SIZE(s3c_dm9k_resource),
.resource = s3c_dm9k_resource,
.dev ={
.platform_data = &s3c_dm9k_platdata,
}
};
static struct platform_device __initdata *smdk_devs[] = {
&s3c_device_nand,
&smdk_led4,
&smdk_led5,
&smdk_led6,
&smdk_led7,
&s3c_device_dm9k,
};
2.
gedit drivers/net/dm9000.c
#if defined(CONFIG_ARCH_S3C2410)
#include <mach/regs-mem.h>
#endif
1194行,添加
#if defined(CONFIG_ARCH_S3C2410)
unsigned int oldval_bwscon = *(volatile unsigned int *)S3C2410_BWSCON;
unsigned int oldval_bankcon2 = *(volatile unsigned int *)S3C2410_BANKCON2;
#endif
在修改后的1209行加入:
#if defined(CONFIG_ARCH_S3C2410)
*((volatile unsigned int *)S3C2410_BWSCON) = (oldval_bwscon &
~(3<<16)) | S3C2410_BWSCON_DW2_32 | S3C2410_BWSCON_WS2 |
S3C2410_BWSCON_ST2;
*((volatile unsigned int *)S3C2410_BANKCON2) = 0x1f7c;
#endif
在修改后的1378行加入:
#if defined(CONFIG_ARCH_S3C2410)
printk("Now use the default MAC address: 10:23:45:67:89:ab/n");
mac_src = "EmbedSky";
ndev->dev_addr[0] = 0x10;
ndev->dev_addr[1] = 0x23;
ndev->dev_addr[2] = 0x45;
ndev->dev_addr[3] = 0x67;
ndev->dev_addr[4] = 0x89;
ndev->dev_addr[5] = 0xab;
#else
……
1411行
#endif
在修改后的1423行加入:
#if defined(CONFIG_ARCH_S3C2410)
*(volatile unsigned int *)S3C2410_BWSCON = oldval_bwscon;
*(volatile unsigned int *)S3C2410_BANKCON2 = oldval_bankcon2;
#endif
相关文章推荐
- <2012 12 05> FL2440开发板的U-boot-2010.09版本移植(五)支持DM9000网卡和板级相关LED等配置
- jz2440开发板移植U-boot之修改代码支持DM9000网卡
- x210v3开发板u-boot-2012.10移植之十一---添加DM9000网卡支持
- 移植u-boot-2012.04----支持DM9000网卡
- fl2440的U-boot-2010.09移植(三)DM9000网卡及开发板相关配置
- OK6410开发板上的DM9000网卡
- 转载 修改 Linux 内核 DM9000 支持 tiny210 开发板
- U-Boot在FL2440上移植(四)----支持网卡DM9000和烧写yaffs文件系统
- u-boot-2016.05移植:(5)、支持DM9000网卡
- kernel 2.6.30.4 RTC 的修改 开发板s3c2410
- s3c6410移植android-kernel-2.6.35内核不识别DM9000网卡
- 第一次移植uboot(3)(添加DM9000网卡支持) .
- l 移植u-boot之修改代码支持DM9000网卡-3.5
- 开发板如何支持 kernel通过nfs挂载rootfs(一)
- 移植u-boot-2015.07-rc3之修改代码支持DM9000网卡(七)
- linux-2.6.32在mini2440开发板上移植之DM9000网卡移植
- u-boot-2014.10移植第17天----添加DM9000网卡支持(一)
- 移植uboot到fl2440支持DM9000网卡
- u-boot-2014.10移植第18天----添加DM9000网卡支持(二)
- Linux嵌入式移植之——(3)支持DM9000网卡