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:将 CPSW 设置为 no_phy 模式

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1505226/am6442-set-cpsw-up-in-no_phy-mode

器件型号:AM6442
主题中讨论的其他器件:SysConfig

工具/软件:

您好、

是否有一个有关如何在 no_phy 模式下设置 CPSW 的示例。  我遇到了 CPSW 连接到另一个器件(RMII 模式下的 Anybus-M40)的情况。

该器件固定为100Mbps 全双工。

选择 NO_PHY 模式后、SysConfig 无法强制速度和双工模式。

然后、在尝试编译时、我得到以下未定义:

 EnetApp_isPortLinked  obj/debug/ti_enet_lwipif.obj                                                                                           
 EnetBoard_getid OBJ/debug/ti_enet_open_close.obj                                                                                              
 EnetBoard_getMiiConfig OBJ/debug/ti_enet_open_close.obj                                                                                       
 EnetBoard_getPhyCfgobj/debug/ti_enet_OPEN_close.obj                                                                                          
 EnetBoard_setupPorts  obj/debug/ti_enet_open_close.obj                                                                                       
 gEnetPhyDrvTbl        c:/ti/mcu_plus_sdk_am64x_10_01_00_32/source/networking/enet/lib/enet-cpsw.am64x.r5f.ti-arm-clang.debug.lib

我了解 EnetApp_isPortLinked 函数、因为这可用于将端口启动或关闭到栈。  

但其他的,因为我没有一个 phy,不确定如何使用它们。

任何帮助都将是伟大的。

Robert

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

    您好 Robert:

    感谢您的查询。

    Unknown 说:
    是否有一个示例说明如何在 no_phy 模式下设置 CPSW。

    希望以下文档会有所帮助

    AM243x MCU+ SDK:MAC2MAC 支持

    如果您需要进一步的帮助、请告诉我。

    此致

    Ashwani

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

    好的、第一部分完成、结果表明必须启用 CPSW 的两个 MAC 端口、然后将这两个端口设置为 no-phy、禁用未使用引脚的实际引脚。  它现在正在编译。  

    我该如何告诉它端口已打开? 调用 App_isNetworkUp (neftif)、始终返回 false。 我们还是先研究一下。

    Robert

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

    我必须触及 syscfg 文件中的某些内容、现在返回到未定义的函数。   如图所示、我再次设置了两个 MAC。

    在 MDIO 配置中:应将工作模式设置为什么?

    在 MDIO 配置中:主器件应该是打开还是关闭?

    在 MDIO 配置中:是否应该启用任何受监控的 PHY 地址?

    在系统集成配置中:外部 PHY 管理启用是否应该打开?

    谢谢 Robert

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

    您好 Robert:

    要启用无 PHY 模式、您只需进行本页( https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/latest/exports/docs/api_guide_am64x/enet_mac2mac_top.html)中提到的修改

    您可以将 MDIO 设置保持为示例中已使用的默认值、并将"外部 PHY 管理"设置为禁用。

    目前、 MAC2MAC 并不是一种经过全面测试的功能、如上页所述、 已经测试了1G 全双工模式。

    请给我一些时间来测试您的要求(100米全双工)、并在下周回复您。 它可能涉及对 SysConfig 和驱动程序文件进行一些修改-我将共享这些文件的补丁。

    如果您也可以共享当前的 example.syscfg 文件、该操作将会有所帮助。

    此致、

    Nitika.

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

    您好 Robert:

    感谢您分享该文件、我将查看此内容并返回给您。

    此致、

    Nitika.

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

    最后、IT 部门必须执行以下操作:

    指定使用外部 PHY。

    创建一个虚拟 PHY、实现所需的函数和结构。

    创建了一个 EnetApp_isPortLinked 函数、并返回 TRUE。  (这还不够)

    创建了一个 EnetApp_handleLinkChangeEvent、我从 EnetApp_isPortLinked 函数调用该事件(仅在我们的情况下第一次调用、如果是向上或向下的外部链接)。 在此函数中调用 ENET_IOCTL 、其参数为100Mbps、全双工模式下的链路建立或链路断开命令。

    我认为系统不会调用虚拟 phy 所需的任何函数、但只需要它们链接。

    感谢您的帮助。

    Robert