如何解决在探测MDIO总线之前初始化第二个以太网PHY的时钟
我有一个基于i.MX6ULL处理器的设计,需要两个以太网接口。该处理器具有两个以太网控制器FEC2和FEC1。每个FEC都有一个使用RMII连接的PHY(LAN8720A):FEC1- PHY,地址为0; FEC2-地址为1的PHY。设备正在运行Linux。它首先运行u-boot,然后将其最小化(本质上是初始化RAM,NAND,然后启动Linux)。
我面临的问题是如何配置Linux,以便在开机后能够直接使用两个接口。
板卡上电后,Linux首先初始化FEC2,然后探查MDIO总线,然后初始化FEC1。结果是,在探测一个PHY期间,没有时钟(来自仍处于非活动状态的FEC1)。然后Linux仅找到连接到FEC2的PHY,只有该接口才能正常工作。
如果现在重新启动了电路板(通过命令重新启动或重置按钮,而不是通过电源重启),则在Linux启动期间,两个FEC均已激活(它们在上一次系统启动期间已启用),因此,两个PHY在探测MDIO总线时可以找到它们,并且两个接口都可以使用。
因此,我的问题是,也许对此有一个优雅的解决方案-在Linux探测MDIO总线之前,如何让两个FEC都为其PHY产生时钟?我想我可以依靠u-boot了。但是,如果有其他可能,我宁愿避免建立这种不必要的关系。
最好的问候, 亚当
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。