Skip to content

Commit cc3e04d

Browse files
fix: use P3767-0001 nvpmodel conf for Orin NX 8GB
note: nvpmodel.service is failing on 8GB variants of this board since it has 2 less cores than the 16GB variant (supported already) and since the nvpmodel configuration file was being recycled for all Orin NX variants. So, `nvpmodel.service` would try to change settings for 8 CPUs when only 6 exist. cf. https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/index.html for the mapping between Orin NX variant and Nvidia "P-number".
1 parent 3ce210c commit cc3e04d

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

modules/default.nix

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,19 @@ in
5757
description = "Jetson SoM (System-on-Module) to target. Can be null to target a generic jetson device, but some things may not work.";
5858
};
5959

60+
sku = mkOption {
61+
default = null;
62+
# "Extensible option types" in the NixOS manual
63+
type = types.nullOr types.string;
64+
example = "0001";
65+
description = "Specific SKU of a given SOM. This can be
66+
helpful to fine-tune configuration of a given device. For
67+
example, Orin NX devices come in 8GB and 16GB flavors which
68+
differ in the number of supported cores. Configuring the SKU
69+
for this SOM would ensure things like nvpmodel work
70+
correctly.";
71+
};
72+
6073
carrierBoard = mkOption {
6174
default = null;
6275
type = types.nullOr (types.enum [ "devkit" ]);

modules/devices.nix

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{ pkgs, config, lib, ... }:
22

3-
# Configuration specific to particular SoM or carrier boardsl
3+
# Configuration specific to particular SoM or carrier boards
44
let
55
inherit (lib)
66
mkDefault
@@ -11,7 +11,9 @@ let
1111

1212
nvpModelConf = {
1313
orin-agx = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3701_0000.conf";
14-
orin-nx = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3767_0000.conf";
14+
orin-nx = if (cfg.sku == "0001")
15+
then "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3767_0001.conf"
16+
else "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3767_0000.conf";
1517
orin-nano = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3767_0003.conf";
1618
xavier-agx = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_t194.conf";
1719
xavier-nx = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_t194_p3668.conf";

0 commit comments

Comments
 (0)