主题中讨论的其他器件: DP83869
工具与软件:
我有一个带有连接到 DP83869HM 的微处理器的定制电路板、当我执行 MDIO 总线事务时、我得到的响应无效。 在 PHY 上物理切换 RESET 后、我在硬件上初始化 ETH 驱动程序、并从包含 OUI 的寄存器2和3读回0x9815、0x9055或0x9855。 我修改了以读取前32个寄存器、它们都返回该值、但寄存器0xd 和0xe 除外、它们返回0。
如果我删除并重新安装该模块、这在整个下电上电过程中始终保持不变、例如我将始终收到0x9815。 如果我仅复位 PHY、该数字将保持不变。 如果我执行了完整的系统下电上电、那么返回值 可能会更改为上面列出的其他值之一。 这很不一致。
我们将逻辑分析仪连接到了 MDIO/MDC 引脚、并通过放在 Linux MDIO 子系统中的 printk 语句验证了这是我们在上述引脚上看到的情况。
有什么物理原因可能导致这种情况吗? 信号看起来非常干净、肯定会返回这些值、我只是不明白为什么。