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。
//看这样子像是屏蔽时钟的寄存器
修改成下面
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。
//看这样子像是屏蔽时钟的寄存器
修改成下面