We have a custom carrier board for Orin NX with RTL8111 on PCIE port 3 and M2 PCIe module on PCIE port 2. I have enables C7 and C9, and changed ODMDATA to 9 in p3767.conf.common
I am using p3509-a02-p3767-0000.conf to flash the board. This file references p3768-0000-p3767-0000-a0.conf which specifies the device tree file tegra234-p3768-0000+p3767-0000-nv.dtb. I also set TBCDTB_FILE=“${DTB_FILE}” to remove DTB from UEFI.
I checked pinmux and all the signals are correct by default.
I have followed the developer guide but I am stuck at how to define the PHY node. The developer guide shows example as follows;
and when I add this to the C7 and C9 PCIe controller nodes I get this error when recompiling the dts
"ERROR (phandle_references): /bus@0/pcie@141e0000: Reference to non-existent node or label “p2u_gbe_0”
The developer guide references this file to edit pcie in sources but it does not exist in sources or file system.
“pipe2uphy DT nodes are defined in SoC DT at $(TOP)/hardware/nvidia/soc/t234/kernel-dts/tegra234-soc/tegra234-soc-pcie.dtsi”
So I am decompiling the tegra234-p3768-0000+p3767-0000-nv.dtb, editing the dts, and recompiling to dtb.
Without making the phy changes, it recompiles and I can flash the device and I can see the peripherals in lspci, but I do not get an IP address to the RTL8111 , which appears as Eth1 in ifconfig on the device.
Can you tell me how to edit the phy nodes correctly.
When I use the C7 and C9 details in example file tegra234-p3767-sku-handling.dtsi and add to overlay file tegra234-p3768-0000+p3767-0000-dynamic.dtbo then I get these errors.
Is there another step required to add the missing references …
overlay.dts:57.39-61.27: ERROR (phandle_references): /p3767-sku-handling-fragment@6/overlay/pcie@141e0000: Reference to non-existent node or label “p2u_gbe_0”
overlay.dts:64.39-70.27: ERROR (phandle_references): /p3767-sku-handling-fragment@6/overlay/pcie@140c0000: Reference to non-existent node or label “vdd_1v8_ao”
overlay.dts:64.39-70.27: ERROR (phandle_references): /p3767-sku-handling-fragment@6/overlay/pcie@140c0000: Reference to non-existent node or label “p2u_gbe_1”
This is the same as the online developer guide example for editing pcie as per my original question. I was stuck at the same point which is why I asked this question.
Do I need to create these phandles p2u_gbe_1, p2u_gbe_0 , if so, is there a guide to what is required and how to implement it.