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.

[参考译文] AM6412:AM64X 以太网备用引导模式

Guru**** 2914580 points

Other Parts Discussed in Thread: AM6412

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1618480/am6412-am64x-ethernet-backup-boot-mode

器件型号: AM6412

您好、

我目前正在努力实现 AM64X 的以太网备份引导模式功能。 请帮帮我。

设置:

  • 处理器:AM6412BSCGHAALV
  • PHY:2 个 DP83867 通过 RGMII 实现、一个连接到 RGMII1 (PHY 地址 1)、一个连接到 RGMII2 (PHY 地址 0)
  • 引导模式设置:  
    • QSPI 作为主引导模式(工作):BOOTMODE[9..3]= 0b0100010
    • 以太网作为备用引导模式:BOOTMODE [13..10]= 0b0100(0:RGMII 100:以太网备份)
  • 设置:QSPI 闪存为空、对应于 RGMII2 的以太网接口连接到运行 tcpdump 的 PC
       

预期行为:
无法从 QSPI 闪存引导后、器件应切换到以太网备用引导模式、BOOTP/DHCP 数据包应由 tcpdump 捕获

实际行为:
未观察到 BOOTP/DHCP 数据包。 在 MDIO 接口上未观察到任何活动、在 RGMII 接口上没有活动。

我在 AM64X SK 评估板上进行了一些实验、结果如下:

  • 同上。 主引导模式:QSPI、次级引导模式:以太网 RGMII。
    结果:以太网接口上没有活动、并且 MDIO -> 不正常
  • 主引导模式:QSPI、次级引导模式:串行
    结果:'c'信标已在串行--> 确定
  • 主引导模式以太网 RGMII、由 SW 编程的链路参数、BOOTMODE[9..3]= 0b0010100
    结果:通过 tcpdump --> OK 捕获 BOOTP/DHCP 数据包
  • 主引导模式以太网 RGMII、MDIO PHY 扫描、BOOTMODE[9..3]= 0b0000100
    结果:以太网接口上没有活动、并且 MDIO -> 不正常

我在这里遗漏了什么吗? 是否有人能够成功使用以太网备份模式?

这一功能将帮助我们很多,特别是在新的板的初始编程。 如果需要、我很乐意为您提供更多详细信息。

谢谢、祝您好运!

Ragesh

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

    Ragesh 您好

    感谢您的查询!

    请允许我花一些时间进行内部检查。

    我会试着在下周初回复您。

    感谢您的耐心!

    此致

    Anastas Yordanov

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

    在这一主题上是否有任何进展?  

    此致、

    Samuele

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

    尊敬的 Samuele:Ragesh、

    很抱歉、我的答复中有时间间隔。

    我尝试解释您的通知的以下内容:

    主引导模式以太网 RGMII、通过 SW 编程的链路参数、BOOTMODE[9..3]= 0b0010100
    结果:通过 tcpdump --> OK
    [quoteuserid=“517755“ url=“~/support/processors-group/processors/f/processors-forum/1618480/am6412-am64x-ethernet-backup-boot-mode 捕获 BOOTP/DHCP 数据包:主引导模式以太网 RGMII、MDIO PHY 扫描、BOOTMODE[9..3]= 0b0000100
    结果:以太网接口和 MDIO 上没有活动--> 不正常

    并假设问题与 第二种情况下涉及的 AM6412 MDIO 扫描有关(链路信息位 7 = 0)。

     在 AM243x/AM64x 器件勘误表 1.0/2.0 中、有有关 AM243x MDIO 硬件状态机问题的公告手册 — i2329、适用于 1.0 和 2.0 器件修订版:  

     其内容如下:

      

    解决方法如下所示:

    若要修复此行为、建议使用 SDK 中相应的 MDIO 手动模式驱动程序。  

    希望这对您有所帮助。

    期待您的反馈!

    谢谢

    此致、

    Anastas Yordanov

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

    对技术参考手册(修订版 I)进行多次阅读后、我认为整个手册和 SK 开发板也存在一些不一致的地方:

    “表 4-51. 以太网引导参数表“指出(偏移量 259)、表示接口预期可以是(基于解析的引脚配置):
    - 0 = RGMII、具有内部延迟
    - 1 = RGMII、带外部延迟
    –2 = RMII

    不过、检查引导模式引脚(“表 4-4. 防盗启动模式选择“、“表 4-5. 备份模式选择“、“表 4-20. 以太网 RGMII 引导配置字段“、“表 4-23. 以太网备用引导配置字段“)唯一可用于 RGMII 的 phy 模式配置是“RGMII with internal Tx delay“。

    此外、查看 SK 评估板的原理图(也具有“dp83867“)、可以观察到连接到 RGMII2 接口的 PHY 采用配置 (strap) 电阻器配置:

    - PHY 地址为 0x1(我认为这应该是 0x0 以使 ROM 代码找到正确的 PHY)

    - RX 内部延迟 PHY 模式(与 ROM 代码的预期冲突)

    我可能错过了一些内容、请提供帮助吗?

    此致、

    Samuele

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

    您好 Samuele、

    “ Table 4-51。 以太网引导参数表“指出(偏移量 259)、表示接口预期可以是(基于解析的引脚配置):

    ROM 可以在其功能中切换内部和外部 Tx 延迟、但  AM64x 器件不支持外部 TX 延迟选项。 这就是保留另一个选项的原因:

    [引述 userid=“688514“ url=“~/support/processors-group/processors/f/processors-forum/1618480/am6412-am64x-ethernet-backup-boot-mode/6260653 ]- PHY 地址为 0x1(我认为这应该是 0x0 以使 ROM 代码找到正确的 PHY)

    不需要 PHY 地址。 ROM 在 MDIO0 上执行 PHY 扫描。  

    以下是 ROM 配置和使用的引脚:

    这是 ROM 为以太网引导执行的初始化步骤:

    此致、

    Stan

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

    尊敬的 Anastas:

    感谢您的详细答复。 实际上、MDIO 扫描似乎存在问题。 我探测了 MDIO 线路、因此无法看到那里有任何活动。  

    遗憾的是、该权变措施不适用于此问题、因为我们仍在 ROM 代码域中、无法控制。

    此致、

    Ragesh

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

    尊敬的 Stan:

    只是要确保:对于主以太网引导、我可以选择使用 MDIO 扫描(链路信息位= 0)还是不使用 MDIO 扫描(链路信息位= 1)。 哪个选项用于备用以太网引导? 有无 MDIO 扫描?  

    此致、

    Ragesh

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

    尊敬的 Ragesh:

    我需要内部检查。 很遗憾、TRM 中未对此进行介绍。

    此致、

    Stan

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

    尊敬的 Stan:


    感谢您的回答。 为了确保我了解 RGMII 内部延迟的概念:具有“内部 TX 延迟“的 RGMII 意味着“TX 时钟偏斜“由 PHY 提供、例如通过“dp83867“提供、对吧?

    我的假设基于我在内核器件树中观察到的“phy-mode“配置:
    -“rgmii-id“(TX/RX 路径上的内部延迟):导致 dp83867 RGMIIDCTL (0x86) 寄存器被配置为 0x0077
    -“rgmii-rxid“(仅限内部 RX 延迟):寄存器 0x86 中的结果设置为 0x0007
    -“rgmii-txid“(仅限内部 TX 延迟):不工作(我无法理解为什么)

    我对“内部延迟“的理解是否正确?

    此外、是否有人在 SK 评估板上成功使用了备用以太网引导? (我们有 SKEVM SK-AM64 PROC100E3)。

    此致、
    Samuele

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

    尊敬的 Samuele、Ragesh、

    感谢您的提问!

    斯坦今天已离职、他将能够在星期二(3 月 17 日)之后做出回应。 我想我可以对其中一些问题发表评论。

    为了确保:对于主以太网引导、我可以选择使用 MDIO 扫描(链路信息位= 0)还是不使用 MDIO 扫描(链路信息位= 1)。 哪个选项用于备用以太网引导? 有无 MDIO 扫描?  [/报价]

    已进行内部查询。 我们正在等待 AM64x ROM 以太网引导专家的响应。

    [报价 userid=“688514“ url=“~/support/processors-group/processors/f/processors-forum/1618480/am6412-am64x-ethernet-backup-boot-mode/6260653 ]- RX 内部延迟 PHY 模式(与 ROM 代码的预期内容冲突)

    我也认为这是冲突、因为 AM6412 CPSW MAC RGMII 发送器已经对通过以太网的 ROM 引导应用“TX 内部延迟“。

    请尝试配置相应的 strap、以禁用 DP83867 PHY RX 延迟、因为此路径上不需要额外延迟。

    感谢您的回答。 为了确保我了解 RGMII 内部延迟的概念:具有“内部 TX 延迟“的 RGMII 意味着“TX 时钟偏斜“由 PHY 提供、例如通过“dp83867“提供、对吧?[/报价]

    Samuele、

    根据我的理解  、当在 ROM 以太网引导中讨论 TX 内部延迟时、 请参考 AM6412 CPSW RGMII TX 侧、而不是 PHY 的 TX 延迟。 PHY RX 实际上应该是“外部侧“。 默认情况下在 AM6412 TX 应用延迟、不应在 dp83867 PHY 接收器侧(即外部延迟)插入额外延迟。 这意味着时钟和数据之间的“内部 TX 延迟“由 AM6412 CPSW RGMII TX 插入。  

    期待您的反馈!

    谢谢

    此致

    Anastas Yordanov

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid=“661483“ url=“~/support/processors-group/processors/f/processors-forum/1618480/am6412-am64x-ethernet-backup-boot-mode/6269358

    我也认为这是冲突、因为 AM6412 CPSW MAC RGMII 发送器已经对通过以太网的 ROM 引导应用“TX 内部延迟“。

    请尝试配置相应的 strap、以禁用 DP83867 PHY RX 延迟、因为此路径上不需要额外延迟。

    [/报价]

    您好、Anastas、

    感谢您的迅速回复。 在讨论 PHY 自举电阻器之前、我执行了几项测试、以评估“DP83867“在修改其内部延迟时的行为。 这是我的设置:
    –打开电路板电源并找到 Linux 用户空间 shell
    –使用“Mdio-tools“实用程序与 PHY 寄存器组进行交互
    –特别是修改了“RGMIIDCTL“(0x86) 寄存器
    –一个简单的“ping“调用证明 SoC 是否仍然能够与 PHY 通信

    结果表明、支持任何 PHY TX 内部延迟(0.25ns 至 4.00ns、即 0x0 至 0xF 寄存器值范围)。 另一方面、PHY RX 内部延迟必须保持在[1.00、3.50] ns 间隔内(即 0x3 至 0xd 寄存器值范围)。 根据该观察结果 、SK 板上的搭接电阻器似乎配置正确。

    为了进一步测试 SoC PHY 交互、您能否告诉我、为了配置 RGMII TX 内部延迟、您访问的 ROM 代码是哪些寄存器?

    更笼统地说、是否可以检查 ROM 源代码? 这将极大地帮助我们了解备份以太网引导过程中发生的情况。

    此致、
    Samuele

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

    您好 Samuele、

    我们考虑将以下 AM64x TRM 一节作为 RX 路径和 TX 路径方向的参考:

    为了进一步测试 SoC PHY 交互、您能告诉我哪些寄存器是用于配置 RGMII TX 内部延迟的 ROM 代码访问吗?

    据我所知、RGMII TX 内部延迟 (ID) 最小为 1.2ns — 请参阅一节,    AM6412 数据表的 CPSW3G RGMII 时序  在 POR 时默认从 AM6412 CPSW RGMII 发送器硬件自动提供。 ROM 代码不需要触摸任何 AM6412 寄存器即可在软件中启用此类延迟。

    相关的 CPSW RGMII 数据接收(即 PHY 到 CPSW)路径  

    根据这些 AM64x 数据表、应尝试遵循 PHY 0x0086 RGMIIDCTL 寄存器值的 TX 路径输出开关/RX 路径时序要求。

    在我理解上述配置时:  

    -“rgmii-rxid“(仅限内部 RX 延迟):寄存器 0x86 中的结果设置为   >= 0x0003 - 0x000f

     

    另一方面、PHY RX 内部延迟必须保持在[1.00、3.50]ns 间隔(即 0x3 到 0xd 寄存器值范围)内。

    问:您是如何得出这个结论的。 为什么 0xE 和 0xF 值不可接受?

    我仍在等待请求的 ROM 以太网引导所有者的确认。

    谢谢

    此致

    Anastas Yordanov   

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

    您好、Anastas、

    很感谢澄清一下、我完全没能满足 AM6412 SoC 的时序特性。

    问:您是如何得出这个结论的。 为什么 0xE 和 0xF 值不可接受?

    为了回答您的问题、让我与您分享我们基于 AM6412 SoC 的 2 款器件的几个屏幕截图(假设 TX 延迟始终保留为 0x0):

      这确认了有关范围为 0x3..0xF 的语句。

    在第二个器件(我们想采用以太网备份引导模式的器件)上、我观察到略有不同的行为、这促使我将 0x3..0xd 范围视为安全的:

      

    为了证明某个值是否有效、我只是执行了一个 ping 请求。 希望能回答您的问题。

    在任何情况下、根据您分享的说明和文档屏幕截图、可以清楚地看到 SK EVM 板具有正确配置的搭接电阻器。 但不清楚为什么在回退到以太网备用引导模式时没有检测到任何活动。

    此致、
    Samuele

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

    您好 Samuele、

    是的、我知道 AM6412 和 PHY 之间的 RX 路径上可能需要不同的延迟补偿值(由于器件采样到样本,PCB 布线特征阻抗,环境条件等方面的差异)。   

    我联系了我们的 AM64x 以太网专家。

    另外、是否有人成功地在 SK 评估板上使用了备份以太网引导? (我们有一个 SKEVM SK-AM64 PROC100E3)。

    我想再次提请你注意这一早期的通知从 myside 在线程(见突出显示为橙色):

      

    以太网专家还重点介绍了 AM64x/AM243x 器件勘误表 1.0/2.0 中与 ROM 以太网引导相关的第二个公告注释 i2331  

    以太网专家建议 不要使用 ROM 配置的以太网引导模式。

    关于 CPSW 延迟配置中的 ROM 行为 — 专家声明如下:  

    “配置 CPSW 外部延迟后、由 PHY 本身处理、但我无法确认 ROM 是否会设置延迟。“

    我们必须等待 ROM 代码团队专家回答您有关以下方面的问题:

    对于主以太网引导、我可以选择使用 MDIO 扫描(链路信息位= 0)还是不使用 MDIO 扫描(链路信息位= 1)。 哪个选项用于备用以太网引导? 有无 MDIO 扫描?  [/报价]

    但不清楚在回退到以太网备份引导模式时为什么没有检测到任何活动。

    谢谢

    此致

    Anastas Yordanov

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

    您好、Anastas、

    似乎很明显、器件版本 2 和版本 1 不提供可靠的以太网备用引导模式。 是否有计划在下一个器件版本中纠正此问题(是否计划再进行另一个器件版本)?

    此致、
    Samuele

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

    您好 Samuele、

    让我与 AM64x 团队核实并返回给您!

    请预计可能会有一些延迟。

    谢谢

    此致

    Anastas Yordanov

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

    您好 Samuele、

    我想为我的回答中的两周间隔道歉!

    我希望我们能 在下周初得到团队的回答。

    感谢您的理解和耐心!

    此致

    Anastas Yordanov

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

    您好、Anastas、

    感谢您随时向我通报情况。 耐心等待。

    此致、

    Samuele Favazza

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

    抱歉、AM64x 未来不打算推出芯片版本。  在正常运行的情况下、以太网可在 AM64x 上使用、但不能可靠地用作引导源

    此致、

    James

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

    尊敬的 Samuele:Ragesh、

    我一个月没听过你的声音。 因此、我假设 AM64x 以太网已经清楚地在应用中正常运行、但不能 可靠地用作引导源

    我正在关闭此 TT。 如果您还有其他问题、请随时创建新的 E2E 主题。

    谢谢!

    此致

    Anastas Yordanov