上一章通过硬件复位的方式去解决网口在系统启动后不稳定。由于领导想不用焊电阻的方法(因为原本网口的复位脚是没有焊接的)去解决这个问题,问题来了,只能通过纯软件改写固件。这几天可谓是头疼。
接下来说的一切前提环境是在是使用 CPU引脚输出50MHZ的时钟频率。
现象一:上电后,uboot的网口正常
这个是一直让我搞不懂。。。直到我老大让我去测试一下在进入到系统后,使用reboot指令重启进入到uboot我才知道。
这样做法就验证了其实是上电的问题,导致了phy芯片一开始工作正常。
现象二:进入到内核kernel,注册完网口驱动后,其实中间过程中时钟频率clk会屏蔽掉,然后等到系统起来了,才再打开。(期间用示波器查看时钟频率)
问题点就出现在这了,然后我这边想办法让时钟clk不屏蔽,一直都处于打开的状态。
修改代码如下:
static int
fec_probe(struct platform_device *pdev)
{
......
ret