大家好:
我用am3352连接两个不同型号(RTL8201和IP101G)的phy,phy物理地址分别0和3,分别对应网口0和网口1,都使用rmii接口。现象有如下:
1、在linux系统里,插拔网口0,没有任何反应,ping网口0页无法ping通。插拔网口1,会有驱动的link up 和 link down的信息,并且网口0和网口1提示信息保持同步,也会同时up和down。网口1可以ping通。
2、内核启动信息中,显示两个phy的identify是一致的,通过数据手册确定显示的identify是网口1 phy的identify。
3、在uboot模式中,用rmii read <addr> <register>分别命令读取两个phy的identify,读出来总是网口1phy的identify,如下:
UBoot# mii read 3 2
001c
UBoot# mii read 0 2
001c
请问大牛,这个问题怎么导致的,如何处理
tongsheng wang:
在硬件上把网口1的phy的mdio引脚断掉,网口0就可以通了。为什么不能同时工作呢,专家指点啊
Steven Liu1:
你用的是哪个版本的SDK?
一般来说调试网口驱动,只需要改三个地方:
1. GMII_SEL寄存器的设置。
2 所配置出来的对应管教的pinmux
3. PHY_ID
你给的信息太少了,这两个phy都是工作在怎样的模式上?SCH可以上传吗?如果是7.0之后的版本,建议把device tree 文件放上来。
PS: uboot里面默认只始能了网口0,网口1没有使能的。
TI中文支持网