免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 676 | 回复: 0
打印 上一主题 下一主题

DM9000 问题 (zz) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-27 11:06 |只看该作者 |倒序浏览
一个数字问题,花费两天时间,真顶不顺。如果这个所谓的革新公司提供实验板的原理图就好了,可惜...我怀疑他们的板都不知从那里抄来的,也确实佩服他们的销售和我们学校的领导,多么成功的交易啊...
      好,问题解决,留下笔记。Linux 2.6.19.2 ,参考 mach-vr1000.c 和网上众多例子...
vi arch/arm/mach-s3c2410/mach-smdk2410.c ,加入:
static struct resource s3c_d9k_resource[] = {
        [0] = {
                .start = 0x0A000000 + 0x300,
                .end   = 0x0A000000 + 0x300 + 0x03,
                .flags = IORESOURCE_MEM
        },
        [1] = {
                .start = 0x0A000000 + 0x300 + 0x4,
                .end   = 0x0A000000 + 0x300 + 0x4 + 0x7f,
                .flags = IORESOURCE_MEM
        },
        [2] = {
                .start = IRQ_EINT0,
                .end   = IRQ_EINT0,
                .flags = IORESOURCE_IRQ
        }
};
static struct dm9000_plat_data s3c_device_d9k_platdata = {
        .flags= DM9000_PLATF_16BITONLY
};
struct platform_device s3c_device_d9k = {
        .name= "dm9000",
        .id= 0,
        .num_resources= ARRAY_SIZE(s3c_d9k_resource),
        .resource= s3c_d9k_resource,
        .dev= {
                .platform_data = &s3c_device_d9k_platdata,
        }
};
修改static struct platform_device *smdk2410_devices[] __initdata = {
        &s3c_device_usb,
        &s3c_device_lcd,
        &s3c_device_wdt,
        &s3c_device_i2c,
        &s3c_device_iis,
        &s3c_device_d9k
};
      红色部分是关键,网上的 vr1000.c 和网上大多例子此处都为0x40。经查证,是因为DM9000A的地址线和数据线是复用的,它是通过92脚(CMD)来区分。如果CMD接到 s3c2410的A2脚, 则数据端口的地址 = 地址端口 + 0x04 。那如果是0x40的话,他的CMD应该是接到s3c2410的A7脚。
       奇怪的是 DM9000 在u-boot下也算工作正常,翻查代码,原来有这么两句:
#define DM9000_IO    CONFIG_DM9000_BASE
#define DM9000_DATA    (CONFIG_DM9000_BASE+4)
唉,一切只能怪自己不仔细,客观的说,是经验不足 ^_^
      哈哈,无论如何,终于摆脱 read wrong id 的恶梦,可是,马上又遇到可恶的 IRQ_EINT0 ,一申请0号中断就死机...
转过来,让自己也注意一下
http://weibing.blogbus.com/logs/4437246.html


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/78225/showart_1227058.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP