Other Parts Discussed in Thread: 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 状态机模块
谢谢