RGMII 通常用于连接千兆PHY, 使用125M时钟,但公司的板子使用RGMII连接百兆PHY DP83822 ,这里记录一下调试该PHY 芯片的过程。
RLT8211少量个别板子跑1000M模式有丢包现象,且tx rx表现不一致,所以从设备树中强制改到100M模式
&gmac {
max-speed = <100>;//里添加限制最大速度
status = "okay";
};
下面的思路给了启发 ,感谢
电路图如下:
首先,修改设备树:
重新编译内核升级boot.img到板子,发现PHY的link指示灯亮,说明MAC和PHY之间的SMI接口通信正常,但怎么都ping不同局域网内IP, ifconfig 查看网卡数据流量信息,发现发送字节数一直很小,接收数据在增长。
尝试了使用一下几种方法分析
使用clk_summuy 查看MAC 时钟发现 都是25M HZ,没有问题
使用ethtool 查看接口信息和双工信息,显示是MII 接口怀疑该工具有问题与驱动不匹配,同时强制降为10M 通信还是无法解决。
最后只能使用示波器查看SMI 和RGMII 接口信号,惊喜来的太突然,马上发现MAC发出的TXC 时钟只有5M Hz,这明显不对。