Hi,
The hardware team have designed an Orin NX carrier that is very similar to the Xavier NX carrier and the Seeed Studio NX carrier.
The main difference between our carrier and the examples is that PCIe0/C0 has been connected to an FPGA and PCIe2/C7 has been connected to the M.2 slot for the NVME.
I can boot the Orin NX on our carrier using L4T R35.5.0 and l4t_initrd_flash.sh, i.e.:
I know I can re-flash the Orin NX on the Seeed Studio carrier using p3509-a02+p3767-0000. I re-flashed a Seeed Studio reComputer J4012.
I need help understanding how to change the PCIe configuration so that PCIe2/C7 is enabled and the M.2 NVMe SSD becomes available to l4t_initrd_flash.sh, so it can be flashed, and to the bootloaders so it can be booted from after flashing.
I’ve read Module Bring-Up|Jetson Orin NX and Nano Series and rummaged around in the forum.
Unfortunately, I’m still confused. I can see various .dtb, dts and .dtsi files in bootloader/t186ref/BCT and hardware/nvidia/platform/t23x.
Can anyone give me some pointers that might help me get started? I’m sorry if I’m being a bit slow!
Any help greatly appreciated,
Matt
Step 1: Select the UPHY Config. I think the default is what I want. In other words, gbe-uphy-config-8 = PCIe x2 (C7), RP.
Step 2: Enable the appropriate PCIe node from the table below. I used dtc to create tegra234-p3767-0000-p3509-a02.dts. I changed pcie@141e0000 status to okay. I used dtc to (re-)create tegra234-p3767-0000-p3509-a02.dtb with pcie@141e0000 enabled.
Step 3: Configure controller pins in pinmux. I think the default is correct. As far as I can tell, the function of the PCIE2 pins is for PCIe in the spreadsheet.
Step 4: “Add the pipe2uphy phandle entries as a phy property in the PCIe controller DT node.” I don’t understand this step.
After changing the kernel device-tree and rebooting I could see the change by doing cat pcie@140a0000/status but I didn’t see any NVMe devices in /dev.
I’ve got a follow-up question. Perhaps it should be a new thread??
I’ve made progress using the p3768 module config. I can program the NVMe and boot from it. We need to use SPI0 so I used the pinmux spreadsheet to change the configuration of the SPI pins, the SPI is working as we expect.
I created a new module config by copying the p3768 and overriding the files so that the files generated by the spreadsheet are used.
My question is about DisplayPort (DP) vs HDMI. We need to use the HDMI. We’re replacing the Xavier NX with Orin NX on our custom board. We use the HDMI with the Xavier NX.
I’ve noticed that one of the differences between the p3768 config and the p3509 config is that p3768 is using DP and p3509 is using HDMI.
If I use the HDMI page of the pinmux spreadsheet to generate the new pinmux files, is that enough to make HDMI work for us with the Orin NX and our custom board?
I haven’t tried HDMI yet. I’m on holiday tomorrow and wanted to ask the question in the hope of avoiding wasting time fumbling around when you know the answer! :-)