1、当编写无uboot的驱动时,一定要注意GPIO的管脚上拉,下拉,管脚复用的上下拉使能问题。尽量参考uboot或者裸机的实现去编写代码。实在调试不出来,可以考虑打印所有的驱动相关的寄存器。
2、问题: 网卡驱动代码写完之后,通过MMFR寄存器,读取PHY的寄存器的值失败(全F情况)
解决方法::读取失败一般是硬件的管脚,时钟或者PHY的类型没有配置好(MII、RMII、RGMII)
我遇到的问题是: 管脚复用没有配置好,管脚的上拉和下拉电阻配置寄存器没有配置。
3、问题:PHY寄存器的值,可以正常通过MMFR寄存器从PHY寄存器中读取出来,但是自主协商失败
解决方法:时钟、管脚和MII设置。