JetPack 5.0 DP - Ethernet Port "RGMII" not working with KSZ9031

Dear NVidia Team

We tried to adapt the new JetPack 5.0 DP Release for our custom carrier board Xavier AGX and came across multiple issues. First we could not flash the carrier board. This was solved using the steps from the following thread (just for your information):

Now we tried to adapt the device tree for our PHY KSZ9031 as in previous JetPack Versions described in this other thread:

We see the following error messages in the “dmesg”:

[ 8.932207] nvethernet 2490000.ethernet: Adding to iommu group 31
[ 8.944695] nvethernet 2490000.ethernet: failed to read skip mac reset flag, default 0
[ 8.958930] nvethernet 2490000.ethernet: failed to read MDIO address
[ 8.976293] nvethernet 2490000.ethernet: setting to default DMA bit mask
[ 9.057539] nvethernet 2490000.ethernet: set default TXQ to TC mapping
[ 9.103367] nvethernet 2490000.ethernet: Setting default PTP RX queue
[ 9.109303] nvethernet 2490000.ethernet: failed to get eqos_rx_m clk
[ 9.117548] nvethernet 2490000.ethernet: failed to get eqos_rx_input clk
[ 9.130938] nvethernet 2490000.ethernet: failed to get eqos_tx_divider clk
[ 9.145819] nvethernet 2490000.ethernet: No MAC address in local DT!
[ 9.158666] nvethernet 2490000.ethernet: failed to get MAC address
[ 9.159490] nvethernet: probe of 2490000.ethernet failed with error -22

See attached the full dmesg:
dmesg.txt (129.3 KB)

Do we have to worry about the message “GSP stress test not loaded”?
Let us know if you need additional information.

Thank you.
Best regards

Hi,

The driver is changed for eqos in jp5.0.

Please refer to kernel/nvidia/Documentation/devicetree/bindings/platform/tegra/tegra-nvethernet.txt. For the new DT properties.

Hi WayneWWW

We are already using the new DT properties as we only adapted the “tegra194-platforms-eqos.dtsi” file in the source files. Even when we remove the added settings for the ksz9031 PHY, we get the same errors.
As we understand, normally the MAC Address is read from the EEPROM on the module, is that correct? Can the commenting out of the EEPROM lines for the flashing have an influence?
Thank you.

Please also attach current dts setting.

Attached you can find the device tree:
out.dts (265.2 KB)
Thank you.

Hi,

Could you also check what is under your “/proc/device-tree/chosen”?

Just want to clarify.

If you tried the same steps on devkit (removing eeprom read from mb2 cfg), will you see the same issue on devkit’s ethernet?

I think EEPROM plays an important role in r34.1(JP5.0); But some custom board (just like mine) maybe disable the EEPROM or in different connection. Comment out “EEPROM section” is just for flash.sh could work well temporaily, not a best solution.

I found my board ksz9896 switch and CAN ports could not adapt r34.1 using “old way” hardware dts, and I also want to know how to adapt ksz989X switch in r34.1(JP5.0)

Hi @sevm89 ,

Please try to modify only that cfg file with “flash” suffix instead of changing all those cfg files.

To flash the board, changing one file should be sufficient.

I find out only modify “EEPROM section” statements at last only in the file:
bootloader/t186ref/BCT/tegra194-mb1-bct-misc-flash.cfg
the flash.sh works well on my custom board.

eeprom.cvm_eeprom_i2c_instance = 0;
eeprom.cvm_eeprom_i2c_slave_address = 0xa0;
#eeprom.cvm_eeprom_read_size = 256;
eeprom.cvm_eeprom_read_size = 0;
eeprom.cvb_eeprom_i2c_instance = 0;
eeprom.cvb_eeprom_i2c_slave_address = 0xae;
#eeprom.cvb_eeprom_read_size = 256;
eeprom.cvb_eeprom_read_size = 0;

According to offical eeprom docs, I tried “read_size” value: 150, 50, 20; all values hang at “tegrarcm_v2 --isapplet”, except 0.
When I use above minimal changes, more hardware vendor information was shown in kernel dmesg out.

Kernel 5.10 include ksz switch driver, but not compiled in default sample kernel; I think customize device tree and drivers in kernel config, rebuild kernel would bring ksz9896 switch up.

Little bug: “kernel/nvidia/drivers/misc/Kconfig:116:warning: multi-line strings not supported”
Missing ending quote of line 116;

Hi WayneWWW

We used now the new released overlay:

Flashing went well, but still our Ethernet Port is not working. We see the following messages:

[ 9.691149] nvethernet 2490000.ethernet: Adding to iommu group 30
[ 9.691365] nvethernet 2490000.ethernet: failed to read skip mac reset flag, default 0
[ 9.691370] nvethernet 2490000.ethernet: failed to read MDIO address
[ 9.691375] nvethernet 2490000.ethernet: setting to default DMA bit mask
[ 9.691379] nvethernet 2490000.ethernet: set default TXQ to TC mapping
[ 9.691382] nvethernet 2490000.ethernet: Setting default PTP RX queue
[ 9.699644] nvethernet 2490000.ethernet: failed to get eqos_rx_m clk
[ 9.699649] nvethernet 2490000.ethernet: failed to get eqos_rx_input clk
[ 9.699653] nvethernet 2490000.ethernet: failed to get eqos_tx_divider clk
[ 9.700637] nvethernet 2490000.ethernet: Ethernet MAC address: 48:b0:2d:3c:8c :8e
[ 9.700692] nvethernet 2490000.ethernet: Macsec not supported
[ 9.701687] nvethernet 2490000.ethernet: eth5 (HW ver: 50) created with 1 DMA channels
[ 15.303801] libphy: nvethernet_mdio_bus: probed
[ 15.304045] nvethernet 2490000.ethernet: failed to connect PHY
[ 15.374960] net eth5: ether_open: Cannot attach to PHY (error: -19)

Any ideas what goes wrong?
Thank you.

Then your issue is more than just the eeprom.

We don’t support any customization case on JP5.0DP. We will deal with this after jp5.0GA.

Can you use mdiotool to check if access to phy is working? You can read some phy registers.

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