我正在使用RTL8211EG phy芯片
使用的是GMII接口方式,现象如下:
100M网络能通,并且使用正常;不能使用1000M网络。
使用的是GMII接口方式,100M网络能通,并且使用正常;不能使用1000M网络
1.使用mdio扫描phy设备,每个phy设备能多出一个地址
phy_mask = __raw_readl(&data->regs->alive);函数读出来的phy地址总会多出一个。
<1>.如果地址不为“0:00”,则扫描到的地址会本身的地址再加上“0:00”;
<2>.如果地址为”0:00”,则扫描到的地址为“0:00”和“0:01”。
2.软件上读取寄存器0x0A发现,初始化时会读到0x0800,而一段时间后就只能读到0x0000了(寄存器显示本地接收 和 对端接收 都不ok)
3.测量PHY给MAC的时钟发现,会在125MHz,25MHz,2.5MHz上跳变,最后稳定在25MHz上
4.测量MAC给PHY的时钟发现,时钟一直在25MHz,2.5MHz上跳变,最后稳定在25MHz上
请问哪位高手有没有解决的方法 或者 建议?
yu luo2:
我调了好久这个问题,不知道大家有什么建议吗
Chris Meng:
回复 yu luo2:
Luo Yu,
是否有尝试配置MACCONTROL .GIG_FORCE为1?
yu luo2:
回复 Chris Meng:
强制设置成千兆速度试过,但是网络不通
测量时钟发现,MAC输出给phy的时钟是125MHz;
而phy给MAC的时钟会在2.5MHz,25MHz,125MHz上跳变最后稳定在25MHz
phy的寄存器显示本地和对端接收 都是不ok。
davyford:
我也正在使用RTL8211EG phy芯片,遇到和楼主一样的问题,不知道楼主的问题是否解决了呢?请赐教,谢谢。
yu luo2:
回复 davyford:
8211eg 默认有带有 0 地址,(芯片手册上有)
如果硬件地址是1,那么phy有两个地址0 和 1