最近调试AM335x平台网口时,在U-boot下使用mdio接口读写千兆网口dp83867 phy芯片,提示PHY ID跟网口不对应,我们实际硬件连接模式网口0对应的PHY ID = 9,网口1对应PHY ID = 0,内核启动期间根据打印消息提示没检测到PHY ID,设备树的配置及其他调试信息如下截图所示。请高手指点,谢谢!!
硬件设置PHY ID模式如图2所示。
图2 u-boot下找不到PHY ID
在u-boot下使用mdio接口读写PHY芯片,提示找不到PHY ID, 硬件配置如图2,3所示。按图2配置模式PHY ID = 9, 图3配置电阻都没焊,PHY ID = 0
图3 网口0对应PHY芯片配置模式
图4 网口1对应PHY芯片配置模式
内核启动后检测到双网口,如图所示
Jian Zhou:
先检查下上下拉是否是正常的。
heng ye:
回复 Jian Zhou:
To Jian Zhou
检查下第1路上下拉估计是有问题,但奇怪的是目前把第2路PHY 地址(原来是没有配置电阻)配置成跟第1路一样的模式,即PHY地址配置都为9,但内核检测到两个PHY地址分别为4和9,具体如下图1红色标注所示,个人感觉检测顺序有点颠倒,网口0可以正常UP,目前电脑网口配置成100M模式,且跟目标板配置在同一网段,电脑跟目标板用网线直连,仍然ping 不通,具体如图2和3所示。
问题1:内核检测PHY地址的打印输出的顺序是否跟网口eth0和eth1一一对应??
问题2:网口eth0 检测到PHY地址,网口eth1没检测到,且网口eth0 显示up,但PC机仍然ping不通目标板
图1 内核检测到的PHY 地址
图2 网口eth0 up
jerry wan:
回复 heng ye:
内核开启vlan support,设备树&mac添加duan_emac,注意驱动中寄存器rgmii_sel的设置