客户的板卡,基于BeagleBone设计的。同样的uImage,及文件系统,在Beagleboned的demo板上,网络部分成功运行,网口正常工作。
但是,在我们的开发板上却无法正常工作。
通过软件调试信息跟踪,发现,drivers/net/ethernet/ti/davinci_mdio.c 文件源码里
函数 static int davinci_mdio_reset(struct mii_bus *bus)中,
/* get phy mask from the alive register */
phy_mask = __raw_readl(&data->regs->alive);
phy_mask 得到的值不一样。
(1)Beagleboned的demo板,读到的值是1, 取反是0xfffffffe, MDIO扫描时,在phy[0]上找到设备
(2)Agama板子读到的值是4, 取反是0xfffffffb,MDIO扫描时,在phy[2]上找到设备
就是这样的差别,导致Agama板子网卡无法工作。
硬件电路,也查了好多遍了。有什么建议吗?
