NVIDIA Jetson AGX Orin Custom Carrier Board RGMII Ethernet Not Working

NVIDIA Jetson AGX Orin Custom Carrier Board RGMII Ethernet Not Working

Hello, I have designed a custom carrier board hardware based on the NVIDIA Jetson Orin Developer Kit Carrier Board schematic.

The abnormal print log is as follows:

![XFI and RGMII ethernet error inf print]

For detailed prints, please refer to the attached log.txt.
AGX Orin Developer Kit _20241205_130448.txt (74.1 KB)
custom carry board USB and Ethernet Error.txt (71.4 KB)

The hardware changes made are as follows:

1、Custom Carrier Board Removed EEPROM

Modified the file:Linux_for_Tegra/bootloader/tegra234-mb2-bct-comm.dtsi

2、Ethernet Port Modifications:

Referenced: NVIDIA Jetson Orin Series Ethernet Controller Configuration

https://docs.nvidia.com/jetson/archives/r36.4/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html#ethernet-controller-configuration

(1)、 Removed the AQR113C PHY chip externally connected to MGBE and changed to switch mode.

Modified the file: Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-p3737-0000.dtsi

Modified the file: Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/tegra234-p3737-0000+p3701-0000.dts

delete ethernet@6800000

Modified the file: Linux_for_Tegra/p3701.conf.common

ODMDATA

(2) Enabled RGMII and connected it to the YT 8521SH PHY chip with PHY address 4.

Modified the file: Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-p3737-0000.dtsi

Added the eth0 device node:

RGMII Pinmux related Modifications:

Modified the file:Linux_for_Tegra/bootloader/tegra234-mb1-bct-gpio-p3701-0000.dtsi


Modified the file:Linux_for_Tegra/bootloader/generic/BCT/tegra234-mb1-bct-pinmux-p3701-0000.dtsi


also removed the corresponding unused pins.



Added the PHY chip driver, executed make ARCH=arm64 menuconfig, selected MOTORCOMM_PHY, and then recompiled the kernel.

Please help check if the modified file locations are correct and if there are any issues with the configurations,thanks.

We only checked one kind of topic in one thread.

For example, usb is one kind and RGMII is another. Please just ask one question here and file new thread for another one.

The topic and content have been changed.
Based on the R36.4 version, could you please confirm if the modified files and content are correct?

You could read /proc/device-tree node on your board to confirm if that is expected as the document described.

That would be more effective than checked by me

/proc/device-tree → /sys/firmware/devicetree/base

Please refer to the attached document for the detailed content of /sys/firmware/devicetree .
devicetree.tar.gz (107.5 KB)

If you are sure the device tree is same as your modification, please check pinmux setting.

https://docs.nvidia.com/jetson/archives/r36.4/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html#ethernet-controller-configuration
The modifications mentioned in the guide are as follows:

Do the modifications mentioned above correspond to the following two files?
Linux_for_Tegra/bootloader/tegra234-mb1-bct-gpio-p3701-0000.dtsi
Linux_for_Tegra/bootloader/generic/BCT/tegra234-mb1-bct-pinmux-p3701-0000.dtsi

大神,麻烦再帮忙确认下更改的文件位置和内容是否正确☺

最準確的方法是用你燒錄時候的log判斷到底是哪個檔案燒進去

你丟兩個檔案名稱給我也無法保證他們真的有被燒進去…

看了一些类似的帖子,比如:

他们配置pinmux是修改tegra234-mb1-bct-pinmux…dtsi文件pinmux_unused_lowpower: unused_lowpower 这个节点内容,如下图所示:


但使用Orin_Jetson_Series_Pinmux_Config_Template_2.0.xlsm生成的Orin-jetson_agx_orin-pinmux.dtsi都是放在pinmux_default: common这个节点下,并且删除了pinmux_unused_lowpower: unused_lowpower 相应管脚内容。

到底哪种方式正确?

應該是pinmux_default: common 上面那個post還沒解決…先不用完全參考.

剛才確認了一下. 要放在 pinmux_default或是pinmux_unused_lowpower應該都沒有影響.

@idealong I do not understand Mandarin, but since my post was referenced here, and if you have the same issue with PHY RGMII. Check if the interrupt pin is included in the MB1 BCT as input. The documentation misses this point.

Thank you for your response. I have made the requested modifications, as shown in the image below: