uboot网络调试方法

一、硬件简单确认:
1、确认RGMII模式(hi3559A支持RGMII/RMII)
2、phy的地址phy_addr
3、PHY是否有延时电阻(RTL8211有)
4、phy晶振时钟

5、速率1000M clk 125M,100M clk 25M

二、软件确认
1、uboot涉及驱动:drivers/net/higmacv300,PHY配置驱动:drivers/net/phy/realtek.c
2、先看mdio能否扫描到phy,读出的phy id要和phy datasheet一致;同时,读出phyid的addr需要和上面硬件的phy_add一致
3、如果第二步是正确的,那么说明mdio接口和phy已经工作;接下来要检查rgmii接口
4、将板子和笔记本直连:GMAC<—>phy<—>pc
板子ping PC 以及PC ping板子,然后读GMAC和phy的寄存器(读GMAC要自己写,读phy有个mii命令)
可以查看GMAC收发了多少数据,PHY收发了多少数据,从而判断是GMAC发给PHY异常还是PHY发给PC异常,或GMAC接收异常还是PHY接收异常
5、到这一步还是不行,就需要自己写回环测试代码:
一个是GMAC回环:MAC_IF_STAT_CTRL寄存器
第二个PHY回环:BMCR寄存器

6、uboot遇到时通时不通时,将uboot强制成100M速率试试

你可能感兴趣的:(D.,经验总结)