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.

[参考译文] AM6442:尽管 DTS 发生变化、但 MDC 总线频率未反映在示波器上

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1589408/am6442-mdc-bus-frequency-not-reflecting-on-oscilloscope-despite-dts-change

器件型号: AM6442

您好:

我尝试通过更新 DTS 中的时钟频率(或 bus_freq)属性、为我们的定制电路板(AM642 处理器)上的以太网控制器 (CPSW 和 ICSSG) 设置特定的 MDC 总线频率。
最初、MDC 总线频率设置为 1MHz 、但示波器 的测量结果为 CPSW ~500kHz、 ICSSG 的测量结果为~700kHz。
稍后、我更改了 DTS、以便 为两条总线请求 300kHz、现在驱动程序用以下命令在内核中报告所请求的频率:dmesg | grep -i mdio:
[  2.038840] davinci_mdio 300b2400.mdio:DaVinci MDIO 修订版 1.7、总线频率 300000
[  2.23487] davinci_mdio 8000f00.mdio:DaVinci MDIO 修订版 9.7、总线频率 300000

 对于 300kHz 配置、k3-am64-main.dtsi 中所做的更改如下:
image.png
image.png

但是、在示波器上进行测量时、MDC 时钟仍显示相同的速率 —  CPSW 约 为 500kHz、ICSSG 约为 700kHz。

我想提供有关应在何处确切配置 MDC 时钟频率的指导、以便:
硬件反映了所请求的频率。
驱动程序在探测过程中正确读取它。

SDK 版本:tisdk_10.00.07.04
Linux 内核版本:6.6.32

提前感谢您提供的任何建议。

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

    您好、

    MDIO 时钟由 GPIO 位拆裂生成、因此频率不可调节。 这是解决系统勘误表的变通办法。 这是勘误表 i2329 MDIO:MDIO 接口损坏 (CPSW 和 PRU-ICSS)。  

    您是否看到未正确读取和识别 PHY 的问题?

    此致、

    Schuyler

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

    您好、

    尽管应用了勘误表 i2329 权变措施、但我们仍然观察到 ICSSG1 上的链路不稳定(连续上行和下行消息)。 为了研究这一点、我们想改变 MDC 频率并测试它是否使链路稳定。

    `、我们修改了驱动程序 Δ T rivers/net/Ethernet/ti/davinci_mdio.c `d、如下所示:

    1.添加了每个 MDC 切换的软件延迟:


    #define MDC_DELAY_NS (1000000000 /(2 * DEF_OUT_FREQ)


    2.在`davinci_set_MDC`函数中,我们添加了:


    nDelay (MDC_DELAY_NS);


    3.设置`#define DEF_OUT_FREQ 2000000`。

    通过这种更改、在 CPSW 和 ICSSG 上测得的 MDC 频率约 比 DEF_OUT_FREQ 低 400kHz。

    我们仍需要有关如何在此勘误表权变措施下可靠设置 MDC 频率以实现测试 PHY 稳定性所需的频率的指导。
    您能否就安全更改 MDC 频率的正确方法提供建议?

    谢谢。