在嵌入式 Linux 上使用 TI DP83826E PHY。 PHY 地址由自举电阻器设置(应设置)。 我已经探测了电路板并确认了电阻器上的设置是合理的。
当电路板在上电后引导时、PHY 出现在地址7。
但是、如果电路板重新启动、它们会出现在地址1。
在上电和重启用例中、我都在 u-boot 中停止了运行、并使用 MII 探测 MDIO 总线、并确认 MII 检测到的是 PHY 所在的位置。
每个 PHY 都位于单独的 MDIO 总线上。 总线的 MAC 控制器是 Altera Cyclone5 FPGA。
我不明白为什么 PHY 会出现在不同的地址、只需根据 Linux 内核是在重启后启动还是在重启后启动。 我已经详细介绍了驱动程序代码、找不到任何对地址进行编程的尝试、也没有在数据表中看到任何此类功能。
我唯一的理论是、在 Cyclone5 FPGA 中、内核通过重新启动而在 FPGA 中持续进行的某些初始化操作改变了器件的显示方式、但并未重启电源。
我是否缺少 DP83826E 器件使其以这种方式运行的一些东西?