Hi! I’m using Orin NX 16GB module with a custom carrier board, which has already been in production use with Xavier NX.
I’m using Nvidia BSP 36.3, and the board with Orin can boot into initrd, where it cannot find the NVMe device. This is essential as Orin doesn’t have internal eMMC.
Error: Could not stat device /dev/nvme0n1 - No such file or directory.
Using Workflow 3:
Building the image:
sudo ADDITIONAL_DTB_OVERLAY_OPT="BootOrderNvme.dtbo" ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_t234_nvme.xml --showlogs jetson-orin-nano-devkit nvme0n1p1
full output of build:
jetson-orin-build-3.log (261.0 KB)
Flashing the device:
sudo ADDITIONAL_DTB_OVERLAY_OPT="BootOrderNvme.dtbo" ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_t234_nvme_orb.xml --showlogs jetson-orin-nano-devkit nvme0n1p1
full output of flashing:
jetson-orin-flash-3-no-nvme.log (8 KB)
full serial output:
jetson-orin-serial-output-3.log (60.6 KB)
The PCIe controllers seem to come up, and the NVMe kernel modules are loaded. However on serial you can see
Connection timeout: device /dev/nvme0n1 is still not ready.
The SD Express PCIe card is connected to PCIE1_XXX pins on Jetson, so it should not change between Xavier NX and Orin NX.
I reviewed the differences in pinout between Xavier NX and Orin NX in Jetson_OrinNano_OrinNX_XavierNX_Interface_Comparison_Migration_DA-11081-001_v1.1.pdf
, and
- SDMMC interface pins from Xavier are PCIE3 pins on Orin - so not related
- CSI4 interface pins from Xacier are PCIE2 pins on Orin - so not related
There are no differences listed for PCIE1 pins.
One change we had to make:
DevKit has EEPROM containing info about devkit used by Nvidia to dermine the devkit version but our carrier board does not have it, to make the board boot we had to change the EEPROM size from 0x100 to 0x0 in bootloader/generic/BCT/tegra234-mb2-bct-misc-p3767-0000.dts:
cvb_eeprom_read_size = <0x0>
Here the PCIe/SD interface, connected to PCIE1_XXX pins, which are visible in the schematic:
- PCIE1_CLK_P - pin 175
- PCIE1_CLK_N - pin 173
- PCIE1_CLKREQ_3V3 - pin 182
- etc. according to Jetson Orin NX Series and Jetson Orin Nano Series Pin and Function Names Guide
Already confirmed that the correct voltage for SD card is present on the 3.3V pin.
Should we make changes to ODMDATA, device tree or pinmux to be able to detect the NVMe?
I’ll be grateful for all pointers and help.