使用国产裕泰8521phy芯片,芯片工作在sgmac-to-rgphy 模式,对端接东土的交换芯片,交换芯片已经设置为强制前兆,sgmii 模式。使用的phy驱动为yt8521的专用驱动motircomm,我启动时需要设置一下寄存器的值以便phy工作在正常模式,相关启动脚本如下:
第一次启动后,可以正常link 到千兆模式,但我使用ifconfig eth1 down 后,发现不再自动link ,如下
但是速度与双工模式均正确,此时我再执行命令mdio eth1 0 0x1200 midi eth1 0 0x140 后又可再次link ,查阅芯片手册寄存器写1200是使能自协商,写140是工作在千兆全双工模式,现在想要实现使用ifconfig eth1 up时自动link,而不是手动执行,我在phy驱动的resume 函数和config_aneg函数中均做过修改,但似乎没有效果,应该如何修改?或者跟哪些函数有关?请各位指教