Problem with RGMII Ethernet with JetPack 5.0.2 (was working with JetPack 5.0.1DP)

I am working on a custom baseboard with a Marvell 88E1512 PHY. I was following the adaption guide (device enabled ethernet@2310000, custom pinmux, disabled MGBE).
The device does come up and show in ifconfig, but no traffic actually work. DHCP does not get an address and also with fixed address, I cannot access any other component.
I don’t have any related errors in dmesg.
Interrupt is registered and gpio has the phy reset.
ifconfig does show a small quantity of packages in/out. See tcpdump attached.
Note: This was working with JetPack 5.0.1DP and a USB-Ethernet adapter on the same network with this device works fine as well.
Any suggestions?

dmesg.txt (75.5 KB)
gpio.txt (7.1 KB)
ifconfig.txt (1.4 KB)
interrupts.txt (21.7 KB)
tcpdump2.txt (84.8 KB)
gpio-default.dtsi (4.0 KB)
padvoltage-default.dtsi (1.3 KB)
pinmux.dtsi (64.6 KB)

Here is my latest device tree config (I was trying the different proposals found in this forum…) - btw added via an overlay, but confirmed in the sysfs that this DT is applied.

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>;
    nvidia,max-platfrom-mtu = <16383>;
    /* 0=enable, 1=disable */
    nvidia,pause_frames = <0>;

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

        phy: phy@0 {
            //compatible = "ethernet-phy-ieee802.3-c22";
            reg = <0x0>;
            //#phy-cells = <0>;
            nvidia,phy-rst-pdelay-msec = <224>; /* msec */
            nvidia,phy-rst-duration-usec = <10000>; /* usec */
            /* use phy in poll mode */
            interrupt-parent = <&tegra_main_gpio>;
            interrupts = <TEGRA234_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
            /* Setup LED[2] as interrupt pin (active low) */
            //marvell,reg-init = <0x03 0x12 0x7fff 0x880>;

Thank you

Could you check if the node under /proc/device-tree/chosen/ is same between DP version and 5.0.2?

Which speicifc node are you looking at?
I have those (and the ids, bootargs, nvidia,ether-mac) are surely the same. Did not check all others.

ls /proc/device-tree/chosen/
board-has-eeprom  kaslr-seed          linux,uefi-mmap-desc-size  linux,uefi-mmap-start    nvidia,ether-mac   nvidia,ether-mac2  nvidia,ether-mac5  nvidia,ether-mac8
bootargs          linux,initrd-end    linux,uefi-mmap-desc-ver   linux,uefi-system-table  nvidia,ether-mac0  nvidia,ether-mac3  nvidia,ether-mac6  nvidia,ether-mac9
ids               linux,initrd-start  linux,uefi-mmap-size       name                     nvidia,ether-mac1  nvidia,ether-mac4  nvidia,ether-mac7  nvidia,sku
cat bootargs
root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 console=tty0 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0
cat ids
cat nvidia,ether-mac0

Sorry for the late response, have you managed to get issue resolved or still need the support? Thanks

No. Currently working with a USB-Ethernet dongle. But this is not the long-term solution…

There is no specific change for RGMII between jp5.0.2 and jp5.0.1.

Please read the adaptation guide again for every change you need, apply them one by one and check your log again.
I believe this is just pinmux issue.

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