Skip to content

Commit 3f8a00a

Browse files
Orin NX: Add support for xavier NX carrier board
Signed-off-by: Tanel Dettenborn <[email protected]>
1 parent cd55370 commit 3f8a00a

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

flake.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,14 @@
7070
{ som = "orin-agx"; carrierBoard = "devkit"; }
7171
{ som = "orin-agx-industrial"; carrierBoard = "devkit"; }
7272
{ som = "orin-nx"; carrierBoard = "devkit"; }
73+
{ som = "orin-nx"; carrierBoard = "xavierNxDevkit"; }
7374
{ som = "orin-nano"; carrierBoard = "devkit"; }
7475
{ som = "orin-nx"; carrierBoard = "devkit"; super = true; }
7576
{ som = "orin-nano"; carrierBoard = "devkit"; super = true; }
7677
{ som = "orin-agx"; carrierBoard = "devkit"; majorVersion = "5"; }
7778
{ som = "orin-agx-industrial"; carrierBoard = "devkit"; majorVersion = "5"; }
7879
{ som = "orin-nx"; carrierBoard = "devkit"; majorVersion = "5"; }
80+
{ som = "orin-nx"; carrierBoard = "xavierNxDevkit"; majorVersion = "5"; }
7981
{ som = "orin-nano"; carrierBoard = "devkit"; majorVersion = "5"; }
8082
{ som = "orin-nx"; carrierBoard = "devkit"; super = true; majorVersion = "5"; }
8183
{ som = "orin-nano"; carrierBoard = "devkit"; super = true; majorVersion = "5"; }

modules/default.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ in
123123
type = types.enum [
124124
"generic"
125125
"devkit"
126+
127+
# Use this, if you would like to use Orin NX SOM with the original Xavier NX Devkit module (p3509-a02),
128+
"xavierNxDevkit"
126129
];
127130
default = "generic";
128131
description = ''

modules/devices.nix

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ in
6060
# Set fan control service if we have a config for it
6161
services.nvfancontrol.configFile = mkIf (nvfancontrolConf ? "${cfg.som}") (mkDefault nvfancontrolConf.${cfg.som});
6262
# Enable the fan control service if it's a devkit
63-
services.nvfancontrol.enable = mkIf (cfg.carrierBoard == "devkit") (mkDefault true);
63+
services.nvfancontrol.enable = mkIf (cfg.carrierBoard == "devkit" || cfg.carrierBoard == "xavierNxDevkit") (mkDefault true);
6464

6565
hardware.nvidia-jetpack.flashScriptOverrides =
6666
let
@@ -114,9 +114,20 @@ in
114114
})
115115

116116
(mkIf (cfg.som == "orin-nx" || cfg.som == "orin-nano") {
117-
targetBoard = mkDefault "jetson-orin-nano-devkit${lib.optionalString cfg.super "-super"}";
118-
# Use this instead if you want to use the original Xavier NX Devkit module (p3509-a02)
119-
#targetBoard = mkDefault "p3509-a02+p3767-0000";
117+
targetBoard = let
118+
defaultConf = mkDefault "jetson-orin-nano-devkit${lib.optionalString cfg.super "-super"}";
119+
xavierConf = if cfg.majorVersion == "5" then
120+
mkDefault "p3509-a02+p3767-0000"
121+
else if cfg.majorVersion == "6" then
122+
mkDefault "p3509-a02-p3767-0000"
123+
else
124+
throw "Not supported majorVersion";
125+
in {
126+
generic = defaultConf;
127+
devkit = defaultConf;
128+
xavierNxDevkit = xavierConf;
129+
}.${cfg.carrierBoard};
130+
120131
partitionTemplate = mkDefault "${pkgs.nvidia-jetpack.bspSrc}/bootloader/${partitionTemplateDirectory}/cfg/flash_t234_qspi.xml";
121132
})
122133

0 commit comments

Comments
 (0)