RGMII with switch can't work

Hi community:
I use custom board which orin’s RGMII attach to switch BCM89553 in hardware. Our custom board doesn’t use MDIO, MDC, reset GPIO and interrupt GPIO of RGMII.
I followed the steps in Adaptation Guide to config pinmux, the files generated by spreadsheet is in attach.
Then I wrote dtsi file like below:

#include <dt-bindings/gpio/tegra234-gpio.h>

/ {
    ethernet@6810000 {
        status = "disabled";
    };

    ethernet@2310000 {
        status = "okay";

        nvidia,mac-addr-idx = <0>;
        nvidia,max-platform-mtu = <16383>;
        nvidia,pause_frames = <0>;
        phy-mode = "rgmii-id";
        

        fixed-link {
            speed = <1000>;
            full-duplex;
        };
    };
};

When orin bring up, I saw log like below:

[   26.919095] [eqos_poll_for_swr][588][type:0x4][loga-0x0] poll_for_swr: timeout
[   26.919335] net eth0: failed to poll MAC Software reset

I tried to up eth0, got log below:

root@tegra-ubuntu:/home/# ifconfig eth0 up
[   85.675095] [eqos_poll_for_swr][588][type:0x4][loga-0x0] poll_for_swr: timeout
[   85.675348] net eth0: failed to poll MAC Software reset
SIOCSIFFLAGS: Operation not permitted
root@tegra-ubuntu:/home/# 

tegra234-mb1-bct-padvoltage-p3701-0000.dtsi (1.4 KB)

tegra234-mb1-bct-gpio-p3701-0000.dtsi (3.9 KB)
tegra234-mb1-bct-pinmux-p3701-0000.dtsi (64.6 KB)

Hi,
Do you follow the document step by step?
Jetson AGX Orin Platform Adaptation and Bring-Up — Jetson Linux<br/>Developer Guide 34.1 documentation

Hi DaneLLL:
Thanks for your reply. I do follow the adaption guide step by step. I have set several pins’ function like direction by pinmux, the other pins work fine, so I think the pinmux configuration has worked.

Hi,
So you have Tx, Rx, but does not have MDC/MDIO in your hardware design. Is this correct?

Hi DaneLLL:
It is correct.

Hi,

Could you check if the clock is fed to MAC-Rx from PHY/Switch?

Below error is common case when RX clock to MAC is not shown.

root@tegra-ubuntu:/home/# ifconfig eth0 up
[ 85.675095] [eqos_poll_for_swr][588][type:0x4][loga-0x0] poll_for_swr: timeout
[ 85.675348] net eth0: failed to poll MAC Software reset

Hi WayneWWW:
Thanks for your reply. Yesterday I tried run flash.sh like below:

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

And found RGMII work fine!
Last week I only flash DTB like this:

sudo ./flash.sh -k A_kernel-dtb jetson-agx-orin-devkit mmcblk0p1

So it should be the issue of flash.sh usage.

It means you probably didn’t set the pinmux correctly.

Only running “-k A_kernel-dtb” will not update pinmux.

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