Custom pinmux for L4T 35.2.1 breaks the ethernet

Hi,

I’m currently porting L4T 35.2.1 to our custom carrier board with a Xavier NX. When I try to flash with our custom pinmux the ethernet connection breaks. When flashing the default devkit pinmux ethernet works fine.

Some points that might be helpful:

  • The ethernet port LED is still blinking, and the other side of the Ethernet link detects the carrier.
  • the dmesg output for nvethernet looks the same in both cases (custom/devkit pinmux). Except that the carrier-up line does not appear ( nvethernet 2490000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx)
  • In ip l it says eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
  • Warnings while generating the bootloader files from the device tree files
    ERROR: pin eqos_rd3_pf1(0x00022470) field nvidia,lpbk(0x00000020) is not matching, val = 0x01 expected = 0x00
    ERROR: pin eqos_sma_mdio_pf4(0x00022440) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
    ERROR: pin sdmmc4_cmd(0x00002440) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
    ERROR: pin soc_gpio10_pg6(0x00000410) field nvidia,tristate(0x00000010) is not matching, val = 0x01 expected = 0x00
    ERROR: pin gp_pwm2_px2(0x00000410) field nvidia,tristate(0x00000010) is not matching, val = 0x01 expected = 0x00
    ERROR: pin uart2_tx_px4(0x00000400) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
    ERROR: pin uart2_rx_px5(0x00000450) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
    ERROR: pin can0_dout_paa2(0x0000c400) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
    ERROR: pin can0_din_paa3(0x0000c450) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
    ERROR: pin uart3_tx_pcc5(0x00000400) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
    ERROR: pin uart3_rx_pcc6(0x00000450) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
    ERROR: pin soc_gpio22_pq2(0x00000459) field nvidia,pull(0x0000000c) is not matching, val = 0x02 expected = 0x00
    ERROR: pin uart1_tx_pr2(0x00000400) field nvidia,pull(0x0000000c) is not matching, val = 0x00 expected = 0x02
    ERROR: pin uart1_rx_pr3(0x00000454) field nvidia,pull(0x0000000c) is not matching, val = 0x01 expected = 0x02

What is the best way to debug this? Are there changes that need to be done to the default pinmux (v1.6)?

Thanks,

Huub

Ethernet is using pins with “eqos” on its name. Make sure you didn’t change them.

I’m using the same pinmux that I used in L4T 32.6.1 and there the ethernet worked, so I assume it’s not that, but will double check to make sure and report back here.

When running that python script to convert pinmux cfg, please do not add parameter “–mandatory” it will prevent that error showing.

Hi WayneWWW,

I generated the .dtsi files from a fresh pinmux sheet and the Ethernet worked fine. After investigating it looked like one of my dtsi files got corrupted. Everything is working fine now, thanks for your support.

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