RGMII Ethernet Not Enabled on Jetson AGX Orin Custom Carrier Board

We developed a custom carrier board and it successfully booted as reported here: (https://forums.developer.nvidia.com/t/jetson-agx-orin-not-booting-on-custom-carrier-board/320107).
On our carrier board, only the RGMII ethernet is available. Therefore, we have disabled MGBE, but we are unsure of all the steps required to enable the RGMII ethernet.
Below, we outline the steps we believe are necessary:

  1. After reading the guide “Jetson AGX Orin Platform Adaptation and Bring-Up”, specifically the chapter “Ethernet Controller Configuration” - “For RGMII” , we understand that the pinmux needs to be modified.

  2. Next, we disassemble the “tegra234-p3701-0000-p3737-0000.dtb” file to its dts format:

    dtc -I dtb -O dts -o temp.dts tegra234-p3701-0000-p3737-0000.dtb

  3. we then modify the dts file by adding the following configuration:

ethernet@2310000 {
		status = "okay";
		nvidia,mac-addr-idx = <0>;
		nvidia,phy-reset-gpio = <&tegra_main_gpio TEGRA234_MAIN_GPIO(G, 5) 0>;
		phy-mode = "rgmii-id";
		//phy-handle = <&phy>;
 
		mdio {
			compatible = "nvidia,eqos-mdio";
			#address-cells = <1>;
			#size-cells = <0>;
 
			phy: phy@1 {        /* phy@1*/
				compatible = "micrel,ksz9031";
				device_type = "ethernet-phy";
				reg = <1>;     /*reg = <1>; */
				nvidia,phy-rst-pdelay-msec = <224>; /* msec */
				nvidia,phy-rst-duration-usec = <10000>; /* usec */
				interrupt-parent = <&tegra_main_gpio>; 
				interrupts = <TEGRA234_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
				micrel,copper-mode;
                		micrel,reg-init = <0x3 0x12 0x7fff 0x880>;
                		phandle = <0x21>;
			};
		};
	};
  1. We reassemble the modified dts file back into a dtb:

    dtc -I dts -O dtb -o tegra234-p3701-0000-p3737-0000.dtb temp.dts

  2. Now, with all the modified files in the Linux_for_tegra folder, we run:

    sudo ./apply_binaries.sh

    Then we flash the device using:

    sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1

Could you confirm if this procedure is correct?

Additionally, I would like to inform you that we are using the KSZ9031RNX as the Ethernet chip.

Thank you

Hi,
If the device cannot be flashed/booted, please refer to the page to get uart log from the device:
Jetson/General debug - eLinux.org
And get logs of host PC and Jetson device for reference. If you are using custom board, you can compare uart log of developer kit and custom board to get more information.
Also please check FAQs:
Jetson AGX Orin FAQ
If possible, we would suggest follow quick start in developer guide to re-flash the system:
Quick Start — NVIDIA Jetson Linux Developer Guide 1 documentation
And see if the issue still persists on a clean-flashed system.
Thanks!

The device can be flashed/booted.
I will wait for other responses.

Thanks

Looks like you didn’t post the pinmux part. Did you also change that?

Yes, we have modified the pinmux configuration.
Here are the generated files:
tegra234-mb1-bct-pinmux-p3701-0000-a04 1.zip (7.6 KB)

Your pinmux does not match to the document.

Are these ones correct?
tegra234-mb1-bct-gpio-p3701-0000-a04.zip (7.6 KB)

No, still wrong… did you really document?

In the pinmux, we forgot to enable the following:

soc_gpio17_pg4 {
        nvidia,pins = "soc_gpio17_pg4";
        nvidia,function = "rsvd0";
        nvidia,pull = <TEGRA_PIN_PULL_UP>;
        nvidia,tristate = <TEGRA_PIN_ENABLE>;
        nvidia,enable-input = <TEGRA_PIN_ENABLE>;
        nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};

soc_gpio18_pg5 {
        nvidia,pins = "soc_gpio18_pg5";
        nvidia,function = "rsvd0";
        nvidia,pull = <TEGRA_PIN_PULL_NONE>;
        nvidia,tristate = <TEGRA_PIN_DISABLE>;
        nvidia,enable-input = <TEGRA_PIN_DISABLE>;
        nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};

Now, we will enable them.

Additionally, we did not disable the MGBE in the pinmux, but we have disabled it in the p3701.conf.common file.

Could you explain what the issue is with the pinmux configuration and whether the steps from 1 to 5 are correct?

Thank you

Other eqos pin from your pinmux dtsi are also wrong.

We have modified the pinmux by setting all egos_rd to pull-up.

tegra234-mb1-bct-gpio-p3701-0000-a04.zip (7.6 KB)

Could you please also confirm if the steps from 1 to 5 are correct?

Thank you