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.

[参考译文] DP83867CR:DP83867

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1358390/dp83867cr-dp83867

器件型号:DP83867CR

我正在尝试将 DP83867与 Jetson Orin 连接。

我看到如下错误

[ 20.163987] mdio_bus 2310000.ethernet: MDIO device at address 0 is missing.
[ 20.172251] nvethernet 2310000.ethernet: failed to connect PHY
[ 20.179193] net eth0: ether_open: Cannot attach to PHY (error: -19)

我的 DTS 文件更新如下

ethernet@2310000 {
		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];
		nvidia,phy-reset-gpio = <&tegra_main_gpio TEGRA234_MAIN_GPIO(G, 5) 0>;
		phy-handle = <&phy>;
		phy-mode = "rgmii-id";		

		mdio {
			compatible = "nvidia,eqos-mdio";
			#address-cells = <1>;
			#size-cells = <0>;
		phy: phy@0 {
				reg = <0>;
				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>;
				interrupt-parent = <&tegra_main_gpio>;
				interrupts = <TEGRA234_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>; //<TODO> Need to check
			};			
		};
	};

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

    尊敬的 Mahesh:

    有关此问题、请参阅以下文档(第20页):

    https://www.ti.com/lit/an/snla443/snla443.pdf?ts = 1715106453959&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FDP83869HM

    --

    此致、

    林希尔曼

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

    感谢您提供文档、

    我们遵循了文档、但仍然看到问题。  

    我们在 dmesg 上看到以下消息、

    orin@orin-desktop:~$ sudo dmesg | grep ethernet
    [   10.852563] nvethernet 2310000.ethernet: Adding to iommu group 51
    [   10.859607] nvethernet 2310000.ethernet: failed to read skip mac reset flag, default 0
    [   10.868401] nvethernet 2310000.ethernet: failed to read MDIO address
    [   10.875561] nvethernet 2310000.ethernet: setting to default DMA bit mask
    [   10.883101] nvethernet 2310000.ethernet: missing nvidia,pad_auto_cal_pu_offset, setting default 0
    [   10.892849] nvethernet 2310000.ethernet: missing nvidia,pad_auto_cal_pd_offset, setting default 0
    [   10.911517] nvethernet 2310000.ethernet: Ethernet MAC address: 48:b0:2d:94:ac:db
    [   10.920071] nvethernet 2310000.ethernet: macsec param in DT is missing or disabled
    [   10.928472] nvethernet 2310000.ethernet: Macsec not supported/Not enabled in DT
    [   10.937803] nvethernet 2310000.ethernet: eth0 (HW ver: 53) created with 8 DMA channels
    [   12.921233] using random self ethernet address
    [   12.926362] using random host ethernet address
    [   13.646843] using random self ethernet address
    [   13.652101] using random host ethernet address

    连接我们监控的波形、一个在复位引脚上[RESET-PIN-dp83867.jhpg ]、另一个在 DP83867上的 Rx-clk 和 Rx-DO 上[rx-clk-andrx-d0.jpg]

    我们还在启动后停止时在 MDIO 线路上看到 SCLK 和 SDA 切换

    请提供建议

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

    根据对 NVIDIA 的响应、我们听说错误并不致命。

    但是、当我们执行 ifconfig eth0 up/down 时、我们仍然看不到 PHY....no 上的任何事务会递增

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

    我运行了 https://github.com/wkz/mdio-tools 上提供的 MDIO 实用程序 [这是在 ti-forum 中建议的]

    在目标中附加运行该实用程序的结果  

    e2e.ti.com/.../mdio_2D00_tool_2D00_out.txt

    我现在正在分析这些寄存器、非常感谢您对此提供的观点和意见

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

    尊敬的 Mahesh:

    至于上面的寄存器0x0031、它是一个扩展寄存器。 请按照以下说明阅读这些扩展寄存器:

    --

    此致、

    林希尔曼

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

    谢谢!

    可能是一个新手问题。

    为什么要读取这些扩展寄存器、只需尝试了解这些扩展寄存器上是否存在需要检查/写入的东西。

    您是否看到寄存器从0x00 0x1F 读取数据时存在任何问题?

    我从我的硬件工程师那里听到的消息是、他们禁用了硬件的自动协商功能、不知道他们是如何实现的、但我们是否针对软件采取了任何具体措施来管理这一点。

    将读取这些扩展寄存器并恢复。

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

    尊敬的 Mahesh:

    0x001F 以上的寄存器需要扩展寄存器。 这些寄存器存储在不同的库中、这就是需要扩展寄存器访问的原因。 我将等待您对扩展寄存器访问的响应。

    --

    此致、

    林希尔曼

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

    我们正在读取扩展寄存器。

    第一步、我们尝试读取寄存器0x0170、并想要验证读取是否一致。

    每次读取后、我们会看到不同的结果。

    如果我们在此遗漏了一些内容、您能提供一些建议吗?

    orin@orin-desktop:~/tools/mdio-utils/mdio-tool/build$ sudo ./mdio-tool -e eth0 -w -a 0x0D -v 0x001F
    Probed phyaddr: 0
    PHY: 0|REG: 13 <--- 0x001f
    orin@orin-desktop:~/tools/mdio-utils/mdio-tool/build$ sudo ./mdio-tool -e eth0 -w -a 0x0E -v 0x0170
    Probed phyaddr: 0
    PHY: 0|REG: 14 <--- 0x0170
    orin@orin-desktop:~/tools/mdio-utils/mdio-tool/build$ sudo ./mdio-tool -e eth0 -w -a 0x0D -v 0x401F
    Probed phyaddr: 0
    PHY: 0|REG: 13 <--- 0x401f
    orin@orin-desktop:~/tools/mdio-utils/mdio-tool/build$ sudo ./mdio-tool -e eth0 -r -a 0x0E
    Probed phyaddr: 0
    PHY: 0|REG: 14 ---> 0x0000
    
    orin@orin-desktop:~/tools/mdio-utils/mdio-tool/build$ sudo ./mdio-tool -e eth0 -w -a 0x0D -v 0x001F
    Probed phyaddr: 0
    PHY: 0|REG: 13 <--- 0x001f
    orin@orin-desktop:~/tools/mdio-utils/mdio-tool/build$ sudo ./mdio-tool -e eth0 -w -a 0x0E -v 0x0170
    Probed phyaddr: 0
    PHY: 0|REG: 14 <--- 0x0170
    orin@orin-desktop:~/tools/mdio-utils/mdio-tool/build$ sudo ./mdio-tool -e eth0 -w -a 0x0D -v 0x401F
    Probed phyaddr: 0
    PHY: 0|REG: 13 <--- 0x001f
    orin@orin-desktop:~/tools/mdio-utils/mdio-tool/build$ sudo ./mdio-tool -e eth0 -r -a 0x0E
    Probed phyaddr: 0
    PHY: 0|REG: 14 ---> 0x7949
    
    orin@orin-desktop:~/tools/mdio-utils/mdio-tool/build$ 

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

    你好,林晓敏, 任何建议,请

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

    尊敬的 Mahesh:

    根据寄存器读取、似乎 PHY 没有基于寄存器0x0001进行链路。

    让我们从硬件的角度来了解 PHY 为什么没有建立链路。 如果可能、您能否向我们发送有关 MDI 线路或连接器侧的原理图?

    --

    此致、

    林希尔曼

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

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

    示例、感谢您在本视频中

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

    硬件工程师提供的搭接详细信息、

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

    你好,Hillaman Lin,有什么建议吗?

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

    尊敬的 Mahesh:

    根据原理图、我有几个问题需要与客户确认:

    • 客户是否使用集成的 RJ45连接? (变压器在变压器内部)
    • MDI 线路上是否有任何直流隔离?
    • 如果可能、我想问一下 MDI 布线长度是多少?

    客户是否已使用另一个 DP83867PHY 尝试连接、看看他们是否能够建立链路?

    --

    此致、

    林希尔曼

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

    尊敬的 Hillman:

    请在下面查找详细信息-

     

    • 客户是否使用集成的 RJ45连接? (变压器在变压器内部)

    硬件工程师-是的、我们使用了 7499111614A 该器件具有内部变压器。 请参阅第2页  

    www.we-online.com/.../7499111614A.pdf

    • MDI 线路上是否有任何直流隔离?

    硬件工程师-不对、从 PHY 直接连接到具有内部变压器的 RJ45连接器。

    • 如果可能、我想问一下 MDI 布线长度是多少?

    最小值为893.11mil 最大值为895.02mil

    另一个观察结果- GTX CLK PIN#29我们正在获取125MHz、而 RX_CLK PIN#32我们正在获取2.5MHz。

    谢谢

    萨加尔

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

    尊敬的 Kumar:

    如果 PHY 没有链路建立、PHY 将默认为10Mbps、因此 RX_CLK 将生成2.5MHz。

    主要问题应该在 MDI 线路周围。  

    我还想确认的是不同的链路伙伴。 客户是否能够尝试将此板使用到另一个 DP83867PHY 板、然后查看它们是否能够建立链路? 基于两个 DP83867PHY 进行调试更容易、因此我们可以调整两侧的寄存器。

    我们还提供了 DP83867故障排除指南、该指南可能很有用:

    --

    此致、

    林希尔曼

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

    尊敬的 Hillman:

    感谢您的支持。 1G 现在正在工作。 我们发现镜像启用自举模式3在更改为模式1后开始工作。

    谢谢

    萨加尔

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

    感谢您的支持、我们的接口可以正常运行。

    感谢您在实现这一目标方面的见解和指导。

    -红木

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

    尊敬的 Kumar 和 Gaikwad:

    很高兴它能起作用。 我现在就结束这种胎面了。

    --

    此致、

    林希尔曼