PHY 在 XI 引脚上有一个稳定的50MHz 输入时钟。 我已将 TI 驱动程序从5.15 Linux 移植回4.1 Linux。 访问 PHY 寄存器的所有 x_MMD 例程都被使用 MDIO 总线进行通信的例程所取代。 寄存器的所有读/写测试均成功、且值良好。
当在 U-boot 中停止时、PHY 通过 BMCR 寄存器进行软复位。 PHY 将成功地自动协商、 ETH 接口工作正常。
探测 RX_CLK 和 TX_CLK 引脚会显示有效时钟。
当系统引导时、MAC 驱动程序会发现 PHY 并调用驱动程序复位功能。
TI 驱动程序使用 PHYRCR (0x1f)寄存器进行硬复位、并验证 RESET 位是否被清除。
之后、RX_CLK 和 TX_CLK 空闲。 PHY RX_CLK/TX_CLK 标志被连接至一个 CYCLONE5 FPGA、此 FPGA 需要这些时钟有效以实现其自身的复位功能、
初始化失败、无法启动 ETH 接口。
我尝试向 BMCR 写入0x0200以启动自动协商、但这对启用时钟没有影响。
复位后、为了使 RX_CLK/TX_CLK 信号再次运行、我在设置中缺少什么?