ERROR: resetting DM9000 -> not responding dm9000 not found at 0x88000000问题解决

ERROR: resetting DM9000 -> not responding                                       
dm9000 not found at 0x88000000 id: 0x00000000  

从错误信息来分析。id号打印出来是错误的。
先定位错误文件:
root@xjg:/home/xjg/u-boot-2012.10# grep -r "ERROR: resetting DM9000"
drivers/net/dm9000x.c: printf("ERROR: resetting DM9000 -> not responding\n");

发现一開始reset函数就错误发生。说明是前面的步骤有问题。
我检查了下你的lowlevel_init.S文件,发现时钟初始化有问题。
终于定位是在以下这句  凝视了就能够。


210     /* CLK_IP1 */
211 /*  ldr r1, =0xe9fdf0f9         @ FIMD[0] USBOTG[16]
212                         @ NANDXL[24]
213     str r1, [r0, #0x464]        @ S5PC110_CLK_IP1
214 */

以下看看这一步为什么不正确?
S5PV210 can disable the clock operation of each IP if it is not required。
//看这样子像是屏蔽时钟的寄存器
改动成以下这个样子就能够了。说明这个寄存器的第26位(SROM时钟)是不能屏蔽的。
210     /* CLK_IP1 */
211     ldr r1, =0xeDfdf0f9         @ FIMD[0] USBOTG[16]
212                         @ NANDXL[24]
213     str r1, [r0, #0x464]        @ S5PC110_CLK_IP1

214 

为什么和SROM时钟相关呢?从原理图上能够知道dm9000是使用的自己的时钟源,dm9000芯片外接了一个25MHz的晶振。


感谢物联网大讲堂朱老师的指导:
210用srom接口来和网卡通信。还记得dm9000是怎么接到210上面的吗?csn1片选信号。


就是说dm9000是接在210的SROM  bank1上面的。这就能够解释为什么SROM时钟不能关闭了。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值