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.

[参考译文] AM5726:AM5726

Guru**** 2555630 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/921657/am5726-am5726

器件型号:AM5726

您好!

该电路板使用 TI AM 5726以及与之关联的 GMAC MDIO 通道、该通道连接到以太网交换机 MDIO/SMI。 此 MDIO/SMI 总线上没有 PHY。 此开关具有一个非常大的寄存器地址空间、并且使用为这个目的保留的地址0-7来执行一个间接寄存器寻址。

MDIO/SMI 寄存器地址0和1是用于写入操作的32位指针、寄存器地址2和3是要写入的32位数据、 寄存器地址4和5是要读取的32位地址、 寄存器地址6和7是32位数据读取寄存器。 一个操作(读取/写入)状态寄存器位于寄存器地址0x1F 处。

交换机映射到 MDIO/SMI PHY 地址0。

是否有方法可以停止 MDIO 扫描并仍然能够发出读取/写入事务以访问交换机?

如果无法停止扫描,是否有方法限制自动扫描发生的地址范围? (防止干扰开关操作)

哪个 PHY 寄存器是 MDIO 扫描?

谢谢你

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

    Ioan、

    您将需要配置 CPSW、以便在 EMAC_SoC.c 文件中将 PHY 编号设置为 NO_PHY

    您还需要通过检查 SL_MACCONTROL 寄存器的 EXT_EN 位是否设置为0来确保 CPRGMII 处于"强制"运行模式(应该是)。

    来自 TRM:
    24.11.4.8.7.3.4强制运行模式
    当 SL_MACCONTROL 寄存器的 EXT_EN 位设置为0时、CPRGMII 以强制运行模式运行。 在强制运行模式中、带内数据如果存在则被忽略。 链路状态为强制高电平、双工和速度由 SL_MACCONTROL[0] FULLDUPLEX 和[7] gig 位确定。 如果 gig = 1、则运行为千兆位模式。 如果 gig 为0、则操作为100 Mbps 模式。


    下面是中的配置 /packages/ti/drv/emac/soc/am572x/emac_soc.c 将两个端口的 PHY ID 更新为 EMACInitCfg[1]中的 EMAC_CPSW_NO_PHY_ADDR (0xFFFFFFFF)

    >>>

    EMAC_RX_ISR_PER_msec_default、

     {
      CSL_MPU_IPORT_regs、
      CSL_MPU_ISL1_regs、
      EMAC_CPSW_NO_PHY_ADDR、
     }、
     {
      CSL_MPU_IPORT_regs、
      CSL_MPU_ISL2_regs、
      EMAC_CPSW_NO_PHY_ADDR、
     }

    <<<

    此致、

    Dave