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.

[参考译文] DP83867E:带 AGX Orin 的 PHY 复位要求

Guru**** 2445440 points
Other Parts Discussed in Thread: DP83867E

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1492295/dp83867e-phy-reset-requirements-with-agx-orin

器件型号:DP83867E

工具/软件:

您好、我们使用的是 DP83867E 作为连接到 Jetson AGX Orin 的 RGMII PHY、并试图获得稳定的连接。

我们将 RX_CTRL 搭接至模式3、其余的搭接引脚设置为模式1。

在测试期间、我们能够通过使 RESET_N 引脚与 Jetson PHY_Reset 保持断开连接、并通过 RC 电路将 RESET_N 引脚连接到 VDDIO、从而获得网络链路、以便在短暂的延迟后、该引脚被上拉并保持高电平。 通过此设置、我们已验证我们的硬件设置是否正确、并能够成功实现 MDIO 通信和互联网连接。

在连接 Jetson PHY_Reset 时、我们会观察到一个问题、即交换 MDIO 消息失败并且复位线路被 Jetson 拉至低电平。

连接逻辑分析仪后、我们能够看到 Jetson PHY_Reset 行为和 MDIO 封装。 标记0是复位序列开始的位置。 标记1是指尝试进行 MDIO 通信。

Jetson_RESET_AND_MDIO

放大了尝试进行 MDIO 通信的部分:

Jetson 尝试读取寄存器0x02和0x03、但操作失败。 PHY 在转换期间不会下拉 MDIO 线路、并且读取0xFFFFF 值、即使此时复位为高电平也是如此。

什么可能 导致读取 MDIO 数据失败?

仅通过 RC 电路上拉 RESET_N 而不连接 Jetson 是否可行?

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

    您好:

    如果存在重置时的 Jetson 连接、 SMI 功能将失败、而不存在此连接时、SMI 功能将全部正常? 如果复位可能影响 SMI 功能、这可能会导致初始化问题。 RESET 上拉是可行的;实际上、如果外部引脚未连接、则引脚上有内部 PU 电阻器。 当客户希望从外部下拉引脚进行专门的硬件复位时、需要进行外部连接。

    此致、

    Gerome

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

    您好 Gerome、

    正确、当 Jetson 重置连接存在时、 SMI 功能会失败、而未连接但通过 RC 上拉时、PHY 工作正常、但并非总是如此、大约70%的时间。

    因此、没有连接重置线路是可以的吗? 如果我们可以确认在没有 PHY 的情况下 PHY 可以完全正常工作、那么我们可以将其从设计中移除。

    您是否能够根据来自逻辑分析仪的图像提供任何见解? 随附部分显示了 PHY 执行复位序列但仍然无法在 MDIO 上响应的情况。 它是否与脉冲的时序有关?

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

    您好:

    问题似乎出在 SoC 控制复位线路上。 这可能是与初始化有关的问题、或在事务期间进行复位会混淆状态机。

    如果没有将线路连接到 SoC、PHY 仍然可以使用此引脚 PU 运行。

    此致、

    Gerome

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

    您好:
    我是 Patryks 的同事、目前正在处理同一个问题。
    我们已经有一个 长线程与 NVIDIA 在这方面可能的错误.
    我们和 NVIDIA 都无法在这一端找到错误配置
    我们在构建内核之前设置 CONFIG_DP83867_PHY=y、并确认它存在于正在运行的系统上。

    您能否确认以下器件树看起来正确?

    // SPDX-License-Identifier: GPL-2.0-only
    /*
     * Device Tree Overlay for RGMII Gigabit Ethernet PHY
     * This overlay configures the EQOS Ethernet controller to use an external PHY
     * connected via RGMII interface.
     * Based on docs.nvidia.com/.../JetsonAgxOrinSeries.html
     */
    
    /dts-v1/;
    /plugin/;
    
    #include <dt-bindings/gpio/tegra234-gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/net/ti-dp83867.h>
    
    / {
    	overlay-name = "RGMII Gigabit Ethernet PHY";
    
    	compatible = "nvidia,tegra234";
    
    	fragment@0 {
    		target-path = "/bus@0/ethernet@2310000";
    		__overlay__ {
    			status = "okay";
    			nvidia,mac-addr-idx = <0>;
    			nvidia,max-platform-mtu = <8000>;
    			nvidia,pause_frames = <0>;
    			local-mac-adress = [1a 2b 3c 4d 5e 6f];
    			phy-mode = "rgmii-id";
    			phy-handle = <&phy>;
    			nvidia,phy-reset-gpio = <&gpio TEGRA234_MAIN_GPIO(G, 5) 0>;
    
    			mdio {
    				compatible = "nvidia,eqos-mdio";
    				#address-cells = <1>;
    				#size-cells = <0>;
    
    				phy: phy@0 {
    					reg = <0>;
    					nvidia,phy-rst-pdelay-msec = <224>; /* msec */
    					nvidia,phy-rst-duration-usec = <10000>; /* usec */
    					interrupt-parent = <&gpio>;
    					interrupts = <TEGRA234_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
    					// Extra settings based on e2e.ti.com/.../2073476
    					compatible = "ethernet-phy-ieee802.3-c22";
    					tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    					rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    					ti,max-output-impedance;
    					// ti,clk-output-sel = <DP83867_CLK_O_SEL_CHN_A_RCLK>;
    					ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
    					ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
    				};
    			};
    		};
    	};
    
    	fragment@1 {
    		target-path = "/bus@0/ethernet@6800000";
    		__overlay__ {
    			status = "disabled";
    		};
    	};
    };
    



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

    尊敬的 Alexander:

    我让一位同事查看了器件树。 一个问题是 PHY-RST-线路。 不清楚这些线到底在做什么、以及如果理论上可以在 usec 中处理粒度、为什么有两个粒度。 但是、由于这里要关注的主题是复位、因此从电气角度看、了解与 SoC 不控制 DUT 的复位相比、复位可能会有所帮助。

    此致、

    Gerome

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

    我们还 询问了 NVIDIA 的这些设置
    第一个是复位与 SoC 尝试通过 MDIO 与 PHY 通信之间的延迟。
    第二个参数是复位线路被拉低的持续时间。

    reset-delay:
        description:
          RESET pulse width in microseconds. It applies to all MDIO devices
          and must therefore be appropriately determined based on all devices
          requirements (maximum value of all per-device RESET pulse widths).
    
    reset-post-delay:
        description:
          Delay after reset deassert in microseconds. It applies to all MDIO
          devices and it's determined by how fast all devices are ready for
          communication. This delay happens just before e.g. Ethernet PHY
          type ID auto detection.


    关于确定重置行的范围、我不确定您的具体含义。
    我们已经做到了、至少对于逻辑分析仪和 SoC 发送的复位信号是相同的、无论 PHY 是否连接到 SoC。 (不同之处在于、在断开连接的情况下、如果 SoC 成功通过 MDIO 建立通信、则复位线路不会被拉低)
    测量复位线路的 PHY 侧、当其断开连接时、只会在整个时间内使信号退出复位状态。

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

    您好:

    逻辑分析仪会将结果数字化为纯高/低电平、而示波器可以更好地洞察是否存在信号完整性问题(上升/下降问题、反射、建立/保持、奇怪的干扰等)。 我想看看此信息、因为它可以更好地了解时序的电气特性。

    此致、

    Gerome

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

    #示波器
    我们已经使用逻辑分析仪检查了模拟信号。 信号不如使用示波器精确、但看起来跟我们预期的一样、具有良好的阶跃函数行为。

    #搭接电阻器
    我们还研究了通过搭接电阻器实现的 PHY 配置。 除了 RX_CTRL 上所需的闪存外、我们按原样保留所有内容。
    首先、我们通过一些 LED + 51 Ω 电阻器(而不是建议使用的470 Ω 电阻器)将 LED_0、LED_1和 LED_2接地。 完全卸下 LED 指示灯(保持连接打开)不会改变行为。

    将所有自举电阻器(所需的电阻器除外)置于模式1 (开路/开路)是否看起来正确?

    #设备树
    我们在哪里检查需要设置`dt-bindings/net/ti-dp83867.h`提供的哪些选项? 我们使用的是正确的吗?

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

    您好:

    提供的捆扎带应该正常。 最好通过寄存器0x6E 和寄存器0x6F 确认您的设置是否完整。 您最初报告的行为表明可能发生了 Strap 配置错误、strap 配置引脚上的内部电阻器呈现的直流偏置会被 PHY 外部的外部因素中断。 在 SMI 无响应的情况下、如果在不同的 PHY 地址上发现器件、则会进一步强化这一假设。

    此致、
    Gerome