This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 如何禁用轮询所有32 phy's 通用状态寄存器?

Guru**** 2763455 points

Other Parts Discussed in Thread: AMIC110

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1235040/how-to-disable-polling-all-32-phy-s-generic-status-register

主题中讨论的其他器件:AMIC110

如何禁用轮询所有32 PHY 的通用状态寄存器?
基于以下 AM335x 和 AMIC110 Sitara 处理器技术参考手册中的内容
14.3.8.2.
功能说明
MII 管理 I/F 将保持空闲状态、直到通过设置 MDIOControl 中的 ENABLE 位启用为止
寄存器。 然后、MII 管理 I/F 将从"Generic Status"中持续轮询链路状态
依次寄存所有可能的32个 PHY 地址、将结果记录到 MDIO 连接寄存器中。
问题:
当我手动读取指定的 PHY 寄存器时、发现其他 PHY 的寄存器依次由 AM335x 硬件进行扫描。
如何在我读取指定的 PHY 寄存器期间禁用从 AM335x 硬件轮询所有32 PHY 状态寄存器的操作?
详细信息如下:
然后才能读取指定的 PHY 寄存器。 读取 mdiocontrol 寄存器、如下所示
Root@AM335x-evm:/opt# devmem2 0x4a101004
/dev/mem 打开。
在地址0xb6f05000处映射的存储器。
在地址0x4A101004 (0xb6f05004):0x8100007C 处读取
-- mDIO 状态机默认禁用。
在下面手动读取指定的 phy 寄存器
Root@AM335x-evm:/opt#./phyreg eth0
[72.614569] drivers/net/Ethernet/ti/davinci_mdio.c、davinci_mdio_runtime_resume、521调用 davinci_mdio_enable (config control_enable)
读取 phy addr:0x0 reg:0x0值:0x140
[ 72.735831]@ji.han drivers/net/Ethernet/ti/davinci_mdio.c、davinci_mdio_runtime_suspend、506配置~control_enable
root@AM335x-EVM:/opt#
上面的日志说明了 MDIO 状态机由我的读取 Phy 寄存器操作触发为"启用"。
如何避免在我的读取/写入指定 PHY 寄存器操作?期间启用 MDIO 状态机模块
谢谢