RGMII Interface Not Working on Custom Carrier Board

Hi Nvidia,

Jetpack: 6.0 (R36.3)
PHY: RTL8211

1. Hardware:

2. Device Tree Configuration:

ethernet@2310000 {
    status = "okay";
    phy-mode = "rgmii-id";
    phy-handle = <&rgmii_phy>;
    nvidia,phy-reset-gpio = <&gpio TEGRA234_MAIN_GPIO(Y, 1) 0>;
    nvidia,mac-addr-idx = <1>;
    nvidia,max-platform-mtu = <16383>;
    nvidia,mdio_addr = <1>;

    mdio {
        compatible = "nvidia,eqos-mdio";
        #address-cells = <1>;
        #size-cells = <0>;

        rgmii_phy: phy@1 {
            reg = <1>;
            nvidia,phy-rst-pdelay-msec = <224>; /* msec */
            nvidia,phy-rst-duration-usec = <20000>; /* usec */
            //interrupt-parent = <&gpio>;
            //interrupts = <TEGRA234_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
        };
    };
};

3. Pinmux Configuration:

eqos_txc_pe0 {
	nvidia,pins = "eqos_txc_pe0";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_NONE>;
	nvidia,tristate = <TEGRA_PIN_DISABLE>;
	nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};

eqos_td0_pe1 {
	nvidia,pins = "eqos_td0_pe1";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_NONE>;
	nvidia,tristate = <TEGRA_PIN_DISABLE>;
	nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};

eqos_td1_pe2 {
	nvidia,pins = "eqos_td1_pe2";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_NONE>;
	nvidia,tristate = <TEGRA_PIN_DISABLE>;
	nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};

eqos_td2_pe3 {
	nvidia,pins = "eqos_td2_pe3";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_NONE>;
	nvidia,tristate = <TEGRA_PIN_DISABLE>;
	nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};

eqos_td3_pe4 {
	nvidia,pins = "eqos_td3_pe4";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_NONE>;
	nvidia,tristate = <TEGRA_PIN_DISABLE>;
	nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};

eqos_tx_ctl_pe5 {
	nvidia,pins = "eqos_tx_ctl_pe5";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_NONE>;
	nvidia,tristate = <TEGRA_PIN_DISABLE>;
	nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};

eqos_rd0_pe6 {
	nvidia,pins = "eqos_rd0_pe6";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_UP>;
	nvidia,tristate = <TEGRA_PIN_ENABLE>;
	nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};

eqos_rd1_pe7 {
	nvidia,pins = "eqos_rd1_pe7";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_UP>;
	nvidia,tristate = <TEGRA_PIN_ENABLE>;
	nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};

eqos_rd2_pf0 {
	nvidia,pins = "eqos_rd2_pf0";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_UP>;
	nvidia,tristate = <TEGRA_PIN_ENABLE>;
	nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};

eqos_rd3_pf1 {
	nvidia,pins = "eqos_rd3_pf1";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_UP>;
	nvidia,tristate = <TEGRA_PIN_ENABLE>;
	nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};

eqos_rx_ctl_pf2 {
	nvidia,pins = "eqos_rx_ctl_pf2";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_UP>;
	nvidia,tristate = <TEGRA_PIN_ENABLE>;
	nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};

eqos_rxc_pf3 {
	nvidia,pins = "eqos_rxc_pf3";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_UP>;
	nvidia,tristate = <TEGRA_PIN_ENABLE>;
	nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};

eqos_sma_mdio_pf4 {
	nvidia,pins = "eqos_sma_mdio_pf4";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_NONE>;
	nvidia,tristate = <TEGRA_PIN_ENABLE>;
	nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};

eqos_sma_mdc_pf5 {
	nvidia,pins = "eqos_sma_mdc_pf5";
	nvidia,function = "eqos";
	nvidia,pull = <TEGRA_PIN_PULL_NONE>;
	nvidia,tristate = <TEGRA_PIN_DISABLE>;
	nvidia,enable-input = <TEGRA_PIN_DISABLE>;
};

4. Kernel Log Errors:

[   10.245203] nvethernet 2310000.ethernet: Adding to iommu group 54
[   10.251994] nvethernet 2310000.ethernet: failed to read skip mac reset flag, default 0
[   10.252001] nvethernet 2310000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[   10.252003] nvethernet 2310000.ethernet: setting to default DMA bit mask
[   10.505274] nvethernet 2310000.ethernet: Ethernet MAC address: 3c:6d:66:63:c6:6a
[   10.568332] nvethernet 2310000.ethernet: Macsec not enabled
[   10.568336] nvethernet 2310000.ethernet: Macsec: Reduced MTU: 1466 Max: 16383
[   10.577539] nvethernet 2310000.ethernet: eth0 (HW ver: 53) created with 8 DMA channels
[   11.956787] mdio_bus 2310000.ethernet: MDIO device at address 1 is missing.
[   11.956800] nvethernet 2310000.ethernet: failed to connect PHY
[   11.956806] net eth0: ether_open: Cannot attach to PHY (error: -19)

*** Please note that this reply is generated by LLM automatically ***

Based on the provided context, I’ll provide a comprehensive answer.

The question seems to be asking about the Jetson AGX Orin module, specifically about its compatibility with the NVIDIA JetPack 6.2 and the R363 PHY RTL8211.

From the provided context, we can gather the following information:

  1. The Jetson AGX Orin series is a high-performance module that delivers up to 275 TOPS (tera operations per second) and consumes between 15-60W of power.
  2. The Jetson AGX Orin module is part of the NVIDIA Jetson Linux Developer Guide, which applies to NVIDIA Jetson Linux version 36.4.3 GA.
  3. The Jetson AGX Orin module is supported by the NVIDIA JetPack 6.2, which is the latest production-quality Jetson Linux release.

Regarding the R363 PHY RTL8211, I couldn’t find any specific information in the provided context. However, I can tell you that the RTL8211 is a Realtek Ethernet PHY (Physical Layer) chip, which is commonly used in various networking applications.

To answer your question, I couldn’t find any direct information about the compatibility of the Jetson AGX Orin module with the R363 PHY RTL8211. However, I can suggest that the Jetson AGX Orin module is a highly capable and flexible platform that can support a wide range of peripherals and interfaces, including Ethernet.

If you’re looking for specific information about the compatibility of the Jetson AGX Orin module with the R363 PHY RTL8211, I recommend checking the NVIDIA Jetson Linux Developer Guide or the NVIDIA JetPack documentation for more detailed information.

In comparison to other Jetson modules, the Jetson AGX Orin series is a high-end module that offers superior performance and power efficiency. Here’s a brief comparison with other Jetson modules:

  • Jetson Orin NX series: Offers up to 100 TOPS and consumes between 10-25W of power.
  • Jetson Orin Nano series: Offers up to 40 TOPS and consumes between 7-15W of power.
  • Jetson Xavier NX series: Offers up to 21 TOPS and consumes between 10-20W of power.
  • Jetson AGX Xavier series: Offers up to 32 TOPS and consumes between 10-30W of power.

In summary, the Jetson AGX Orin module is a high-performance module that is supported by the NVIDIA JetPack 6.2 and offers superior performance and power efficiency compared to other Jetson modules. However, I couldn’t find any specific information about its compatibility with the R363 PHY RTL8211.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Issue resolved. It was a pinmux configuration problem.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.