Nvethernet 2310000.ethernet: [poll_check][42][type:0x4][loga-0x0] poll_check: timeout

I want to use the RGMII. But it can’t up. This is my config and log.

pinmux:

eqos_txc_pe0, eqos_td0_pe1, eqos_td1_pe2, eqos_td2_pe3, eqos_td3_pe4, eqos_tx_ctl_pe5
                        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_rd0_pe6, eqos_rd1_pe7, eqos_rd2_pf0, eqos_rd3_pf1, eqos_rx_ctl_pf2, eqos_rxc_pf3
                        eqos_rd0_pe6 {
                                nvidia,pins = "eqos_rd0_pe6";
                                nvidia,function = "eqos";
                                nvidia,pull = <TEGRA_PIN_PULL_NONE>;
                                nvidia,tristate = <TEGRA_PIN_ENABLE>;
                                nvidia,enable-input = <TEGRA_PIN_ENABLE>;
                        };

DTS:

        ethernet@2310000 {
                status = "okay";
                nvidia,mac-addr-idx = <0>;
                phy-mode = "rgmii-id";
                phy-handle = <&phy>;
                /delete-node/ fixed-link;

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

                        phy: phy@1 {
                                reg = <1>;
                                nvidia,phy-rst-pdelay-msec = <224>; /* msec */
                                nvidia,phy-rst-duration-usec = <10000>; /* usec */
                        };
                };
        };

log:

[   10.505297] nvethernet 2310000.ethernet: Adding to iommu group 51
[   10.511747] nvethernet 2310000.ethernet: failed to read skip mac reset flag, default 0
[   10.519907] nvethernet 2310000.ethernet: failed to read MDIO address
[   10.526461] nvethernet 2310000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[   10.537307] nvethernet 2310000.ethernet: setting to default DMA bit mask
[   10.544219] nvethernet 2310000.ethernet: max-platform-mtu DT entry missing, setting default 1500
[   10.553433] nvethernet 2310000.ethernet: ether_mdio_read:No clks available, skipping PHY read
[   10.562204] mdio_bus 2310000.ethernet: MDIO device at address 1 is missing.
[   10.569377] nvethernet 2310000.ethernet: missing nvidia,pad_auto_cal_pu_offset, setting default 0
[   10.578508] nvethernet 2310000.ethernet: missing nvidia,pad_auto_cal_pd_offset, setting default 0
[   10.587707] nvethernet 2310000.ethernet: failed to get phy reset gpio error: -2
[   10.604769] nvethernet 2310000.ethernet: Ethernet MAC address: 48:b0:2d:dc:ca:ed
[   10.612704] nvethernet 2310000.ethernet: macsec param in DT is missing or disabled
[   10.620495] nvethernet 2310000.ethernet: Macsec not supported/Not enabled in DT
[   10.856853] nvethernet 2310000.ethernet: eth0 (HW ver: 53) created with 8 DMA channels
[   15.609198] nvethernet 2310000.ethernet: [poll_check][42][type:0x4][loga-0x0] poll_check: timeout
[   15.618343] net eth0: failed to poll MAC Software reset

When I use devmem2 read 0x2310000, it shows a cbb-fabric error:
devmem2 0x2310000

[ 2405.216514] CPU:0, Error: cbb-fabric@0x13a00000, irq=34
[ 2405.221981] **************************************
[ 2405.226915] CPU:0, Error:cbb-fabric, Errmon:2
[ 2405.231407] 	  Error Code		: TIMEOUT_ERR

[ 2405.236982] 	  Error Code		: TIMEOUT_ERR
[ 2405.241025] 	  MASTER_ID		: CCPLEX
[ 2405.244525] 	  Address		: 0x2310000
[ 2405.248123] 	  Cache			: 0x0 -- Device Non-Bufferable
[ 2405.253328] 	  Protection		: 0x2 -- Unprivileged, Non-Secure, Data Access
[ 2405.260301] 	  Access_Type		: Read
[ 2405.263801] 	  Access_ID		: 0x16
[ 2405.263807] 	  Fabric		: cbb-fabric
[ 2405.270721] 	  Slave_Id		: 0x35
[ 2405.273945] 	  Burst_length		: 0x0
[ 2405.277450] 	  Burst_type		: 0x1
[ 2405.280778] 	  Beat_size		: 0x3
[ 2405.284003] 	  VQC			: 0x0
[ 2405.286788] 	  GRPSEC		: 0x7e
[ 2405.289840] 	  FALCONSEC		: 0x0
[ 2405.293069] 	**************************************
[ 2405.298168] ------------[ cut here ]------------
[ 2405.298255] WARNING: CPU: 0 PID: 0 at drivers/soc/tegra/cbb/tegra234-cbb.c:577 tegra234_cbb_isr+0x130/0x170
[ 2405.308278] Modules linked in: nvidia_modeset(OE) fuse(E) lzo_rle(E) lzo_compress(E) zram(E) 8021q(E) garp(E) mrp(E) ramoops(E) reed_solomon(E) aes_ce_blk(E) crypto_simd(E) cryptd(E) aes_ce_cipher(E) ghash_ce(E) snd_soc_tegra186_asrc(E) sha2_ce(E) cam_cdi_tsc(E) snd_soc_tegra186_dspk(E) snd_soc_tegra210_ope(E) snd_soc_tegra210_mvc(E) snd_soc_tegra186_arad(E) snd_soc_tegra210_iqc(E) snd_soc_tegra210_adsp(E) snd_soc_tegra210_afc(E) snd_soc_tegra210_dmic(E) sha256_arm64(E) snd_soc_tegra210_admaif(E) snd_hda_codec_hdmi(E) snd_soc_tegra210_adx(E) loop(E) ucsi_ccg(E) snd_soc_tegra210_amx(E) snd_soc_tegra210_mixer(E) snd_soc_tegra210_sfc(E) snd_soc_tegra210_i2s(E) snd_soc_tegra_machine_driver(E) sha1_ce(E) snd_soc_tegra_pcm(E) typec_ucsi(E) nv_hawk_owl(E) snd_soc_tegra_utils(E) snd_hda_tegra(E) typec(E) nvadsp(E) snd_soc_simple_card_utils(E) max96712(E) snd_soc_spdif_tx(E) snd_hda_codec(E) snd_soc_tegra210_ahub(E) nct1008(E) i2c_nvvrs11(E) snd_soc_rt5640(E) snd_hda_core(E) tegra210_adma(E)
[ 2405.308565]  userspace_alert(E) snd_soc_rl6231(E) tegra_bpmp_thermal(E) spi_tegra114(E) nvidia(OE) binfmt_misc(E) ina3221(E) pwm_fan(E) nvgpu(E) nvmap(E) ip_tables(E) x_tables(E) [last unloaded: mtd]
[ 2405.308639] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G           OE     5.10.120-tegra #81
[ 2405.308646] Hardware name: Unknown Jetson AGX Orin Developer Kit/Jetson AGX Orin Developer Kit, BIOS 4.1-33958178 08/01/2023
[ 2405.308656] pstate: 60400089 (nZCv daIf +PAN -UAO -TCO BTYPE=--)
[ 2405.308662] pc : tegra234_cbb_isr+0x130/0x170
[ 2405.308668] lr : tegra234_cbb_isr+0x10c/0x170
[ 2405.308671] sp : ffff800010003e10
[ 2405.308676] x29: ffff800010003e10 x28: ffffb5f5270a2680 
[ 2405.308683] x27: 0000000000000001 x26: 0000000000000080 
[ 2405.308689] x25: ffffb5f526abcb58 x24: ffffb5f52740ae50 
[ 2405.308697] x23: ffffb5f526da7008 x22: 0000000000000022 
[ 2405.308702] x21: ffffb5f52722f5a8 x20: 0000000000000002 
[ 2405.308710] x19: ffffb5f52722f598 x18: 0000000000000010 
[ 2405.308717] x17: 0000000000000000 x16: ffffb5f525395220 
[ 2405.308723] x15: ffffb5f5270a2bf0 x14: ffffffffffffffff 
[ 2405.308730] x13: ffff800090003917 x12: ffff80001000391f 
[ 2405.308736] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f 
[ 2405.308744] x9 : ffff800010003c30 x8 : 2a2a2a2a2a2a2a2a 
[ 2405.308751] x7 : 2a2a2a2a2a2a2a09 x6 : c0000000ffffefff 
[ 2405.308756] x5 : ffff4a60ece77958 x4 : ffffb5f5270b7a48 
[ 2405.308764] x3 : 0000000000000000 x2 : ffffb5f525530d70 
[ 2405.308770] x1 : ffffb5f5270a2680 x0 : 0000000100010001 
[ 2405.308779] Call trace:
[ 2405.308788]  tegra234_cbb_isr+0x130/0x170
[ 2405.308814]  __handle_irq_event_percpu+0x68/0x2a0
[ 2405.308821]  handle_irq_event_percpu+0x40/0xa0
[ 2405.308827]  handle_irq_event+0x50/0xf0
[ 2405.308834]  handle_fasteoi_irq+0xc0/0x170
[ 2405.308849]  generic_handle_irq+0x40/0x60
[ 2405.308852]  __handle_domain_irq+0x70/0xd0
[ 2405.308866]  gic_handle_irq+0x68/0x134
[ 2405.308871]  el1_irq+0xd0/0x180
[ 2405.308896]  cpuidle_enter_state+0xb8/0x410
[ 2405.308902]  cpuidle_enter+0x40/0x60
[ 2405.308912]  call_cpuidle+0x44/0x80
[ 2405.308916]  do_idle+0x208/0x270
[ 2405.308918]  cpu_startup_entry+0x2c/0x70
[ 2405.308940]  rest_init+0xdc/0xe8
[ 2405.308961]  arch_call_rest_init+0x18/0x20
[ 2405.308967]  start_kernel+0x500/0x538
[ 2405.308975] ---[ end trace 4c40d7f07a4ed36b ]---

Hi,
Here are some suggestions for the common issues:

1. Performance

Please run the below command before benchmarking deep learning use case:

$ sudo nvpmodel -m 0
$ sudo jetson_clocks

2. Installation

Installation guide of deep learning frameworks on Jetson:

3. Tutorial

Startup deep learning tutorial:

4. Report issue

If these suggestions don’t help and you want to report an issue to us, please attach the model, command/step, and the customized app (if any) with us to reproduce locally.

Thanks!

It doesn’t look like you answered that.

There is an obvious error already printed here. You should fix this first. A phy-reset gpio is a must have

I added “nvidia,phy-reset-gpio = <&tegra_main_gpio TEGRA234_MAIN_GPIO(G, 5) 0>” to dts, the reset gpio error is gone. But it still failed to poll MAC Software reset. And the reason is the same.

You should share what is your device tree now. If you change anything, you should let others know the detail. We are not your colleagues, so we won’t know what did you add.

update dts and log:
dts:

        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>;
                /delete-node/ fixed-link;

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

                        phy: phy@1 {
                                reg = <1>;
                                nvidia,phy-rst-pdelay-msec = <224>; /* msec */
                                nvidia,phy-rst-duration-usec = <10000>; /* usec */
                        };
                };
        };

log:

[   10.536791] nvethernet 2310000.ethernet: Adding to iommu group 51
[   10.543235] nvethernet 2310000.ethernet: failed to read skip mac reset flag, default 0
[   10.551382] nvethernet 2310000.ethernet: failed to read MDIO address
[   10.557937] nvethernet 2310000.ethernet: Failed to read nvida,pause_frames, so setting to default support as disable
[   10.568781] nvethernet 2310000.ethernet: setting to default DMA bit mask
[   10.575700] nvethernet 2310000.ethernet: max-platform-mtu DT entry missing, setting default 1500.
[   10.600863] nvethernet 2310000.ethernet: missing nvidia,pad_auto_cal_pu_offset, setting default 0
[   10.609993] nvethernet 2310000.ethernet: missing nvidia,pad_auto_cal_pd_offset, setting default 0
[   10.869252] nvethernet 2310000.ethernet: Ethernet MAC address: 48:b0:2d:dc:ca:f7
[   10.877204] nvethernet 2310000.ethernet: macsec param in DT is missing or disabled
[   10.884995] nvethernet 2310000.ethernet: Macsec not supported/Not enabled in DT
[   10.913365] nvethernet 2310000.ethernet: eth0 (HW ver: 53) created with 8 DMA channels
[   15.794734] nvethernet 2310000.ethernet: [poll_check][42][type:0x4][loga-0x0] poll_check: timeout
[   15.803884] net eth0: failed to poll MAC Software reset

Do you have the interrupt pin connected in your design?

There is no interrupt pin.

please refer to our design guide document and follow the suggested design.

I am wondering why “devmem2 0x2310000” gets a cbb-fabric error? Is it related to the “poll_check: timeout”? Also, “devmem2 0x6910000” doesn’t get an error. I didn’t add anything about 0x6910000 in dts and it didn’t connect to any device in hardware.