基于 Orin Nano开发的产品,想用 Orin NX 需要做哪些适配工作

Jetson r36.4.3, JetPack6.2 版本下,基于 Orin Nano 8GB 的模块,已经完成了产品开发。 修改了包括Pimux、uefi、dtb、kernel、rootfs,及 app 开发等。现在想用 Orin NX 16G 来扩展 GPU 性能,前面的哪些是必须重新适配?我需要一些帮助,谢谢

Orin Nano 与 Orin NX的 QSPI flash,可以用相同的刷写指令写入吗?

Hi pwpost,

What’s the board config you are using for Orin Nano 8GB?

I think you can use the same board config and workflow(e.g. flash command) for Orin NX 16GB since it will detect the module you are using based on CVM EEPROM.

谢谢您的回复,我用相同的 flash 指令刷写 NX 后,配合 Orin Nano上制作的 M.2 硬盘,能够正常启动进入系统。

但模式切换还有问题, 当/etc/nvpmodel.conf 链接到/etc/nvpmodel/nvpmodel_p3767_0003.conf时, nvpmodel -q 返回是 15W 模式,调不到 25W 或 MAXN 模式。此时是 Orin Nano 模块的模式状态。

修改链接指定到 xxx_p3767_0000.conf 后,有如下出错信息:

~# systemctl restart nvpmodel.service

Job for nypmodel.service failed because the control process exited with error code.

See “systemctl status nupmodel service” and “journalctl -xeu nupmodel service” for details.

~# nvpmodel - q

NV Power Mode: MAXN

0

NVPM ERROR: Error opening /sys/devices/platform/bus@0/13e00000.host1x/16000000.pva0/clk_cap/pva0_vps: 2

NVPM ERROR: failed to read PARAM PVAO_VPS: ARG MAX_ FREQ: PATH /sys/devices/platform/bus@0/1300000.host 1x/16000000 .pva/clk_cap/pva_vps

NVPM ERROR: Error opening /sys/devices/platform/bus@0/13e00000.host1x/16000000.pva0/clk_cap/pva0_cpu_axi: 2

NVPM ERROR: failed to read PARAM PVAO_AXI: ARG MAX_FREQ: PATH /sys/devices/platform/bus@0/1300000 .host 1x/16000000.pva0/clk_cap/pva0_cpu axi

请指导一下我该如何修复,谢谢

Please share the exact flash command for further check.

/etc/nvpmodel.conf should link to the different nvpmodel config based on the module you are using.

We don’t suggest modify it manually.

Please share the result of the following commands on your board.

$ cat /etc/nv_boot_control.cof
$ ls -l /etc/nvpmodel.conf

sudo ./flash.sh -c bootloader/generic/cfg/flash_t234_qspi.xml nsf40pro internal

root@nsf40pro:~# cat /etc/nv_boot_control.conf                                               

TNSPEC 3767-303-0000-B.1-1-1-nsf40pro-

COMPATIBLE_SPEC 3767-000-0000–1–nsf40pro-

TEGRA_BOOT_STORAGE nvme0n1

TEGRA_CHIPID 0x23

TEGRA_OTA_BOOT_DEVICE /dev/mtdblock0

TEGRA_OTA_GPT_DEVICE /dev/mtdblock0

root@nsf40pro:~# ls -l /etc/nvpmodel.conf

lrwxrwxrwx 1 root root 38 6月 3 17:36 /etc/nvpmodel.conf → /etc/nvpmodel/nvpmodel_p3767_0000.conf

I think this command will flash the QSPI only.

Is your custom board config (nsf40pro.conf) referenced from jetson-orin-nano-devkit.conf?

The command output looks fine to me, especially since the P3767-0000 module (Orin NX 16G) uses nvpmodel_p3767_0000.conf for its nvpmodel configuration.

是的,是基于orin-nano-devkit.conf 做了些修改。

我把 nvpmodel_p3767_0000.conf 文件中,所有包含 PVA 的内容,全部注释掉了,然后 nvpmodel看起来就正常了。这样是否可行?

我在 orin nx 的dts 中,有如下配置:

host1x@13e00000 {
nvdla0@15880000 { status = “disabled”; };
nvdla1@158c0000 { status = “disabled”; };
pva0@16000000 { status = “disabled”; };
};

删除这些配置后,不注释 PVA 项,nvpmodel -q / nvpmodel -m x 都能正常了。

还有一个问题,/etc/nvpmodel.conf 软链接到哪个文件,可以在启动过程中自动适配吗? 如果是 Orin Nano 8GB,自动指向p3767_0003.conf;如果是 Orin NX 16GB,自动指向p3767_0000.conf。有这功能吗?

Yes, you can disable PVA, but we don’t suggest commenting out the whole PVA section.
Please use:

  • PVA cores = 0
  • PVA VPS = n/a
  • PVA AXI = n/a
    This is safer than removing the entries entirely.

If PVA is disabled in DTS, the PVA sysfs nodes may disappear, and nvpmodel can fail when it still tries to access PVA clocks. So the recommended approach is:

  • keep PVA enabled in DTS
  • disable PVA only in nvpmodel (PVA cores = 0, PVA VPS/AXI = n/a)

Yes, it will be linked to the correct configuration based on the module in use during flash process.

是指往m.2 硬盘写入根文件系统时,会做这个软 link 到正确配置吗? 我之前用 orin nano 制作了m.2 硬盘作为母盘,后期都是用磁盘对拷的方式,这种情况是不是手动修改这个软 link就可以了?

Sorry that the previous response is wrong.
The /etc/nvpmodel.conf symlink is not assigned during flashing.
It is created during boot by nvpower.service, which selects the proper config based on /proc/device-tree/compatible.

For Orin NX and Orin Nano, please use the official initrd flashing flow with the proper board configuration for each module.
So we do not recommend copying a prepared NVMe SSD image from Orin Nano to Orin NX by disk duplication alone.
Even if the same BSP package is used, each module should be flashed with its corresponding configuration.

ok, I got it , thanks a lot