Skip to content

Commit bf1d6c5

Browse files
committed
feat: add support for flashing emulation configs on AGX devkits
1 parent b25c55b commit bf1d6c5

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

default.nix

+4
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ let
123123
value = c;
124124
}) [
125125
{ som = "orin-agx"; carrierBoard = "devkit"; }
126+
{ som = "orin-agx"; carrierBoard = "devkit-as-nano-4gb"; }
127+
{ som = "orin-agx"; carrierBoard = "devkit-as-nano-8gb"; }
128+
{ som = "orin-agx"; carrierBoard = "devkit-as-nx-8gb"; }
129+
{ som = "orin-agx"; carrierBoard = "devkit-as-nx-16gb"; }
126130
{ som = "orin-agx-industrial"; carrierBoard = "devkit"; }
127131
{ som = "orin-nx"; carrierBoard = "devkit"; }
128132
{ som = "orin-nano"; carrierBoard = "devkit"; }

modules/default.nix

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ in
6363
};
6464

6565
carrierBoard = mkOption {
66-
type = types.enum [ "generic" "devkit" ];
66+
type = types.enum [ "generic" "devkit" "devkit-as-nx-8gb" "devkit-as-nx-16gb" "devkit-as-nano-8gb" "devkit-as-nano-4gb" ];
6767
default = "generic";
6868
description = lib.mdDoc ''
6969
Jetson carrier board to target. Can be set to "generic" to target a generic jetson carrier board, but some things may not work.

modules/devices.nix

+11-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@ let
99

1010
cfg = config.hardware.nvidia-jetpack;
1111

12+
# The AGX supports Emulating weaker Jetson SoMs on the devkit:
13+
# https://developer.ridgerun.com/wiki/index.php/NVIDIA_Jetson_Orin/Flashing_commands_for_emulation#Flashing_the_board
14+
agxDevkitTargetBoards = {
15+
"devkit" = "jetson-agx-orin-devkit";
16+
"devkit-as-nx-8gb" = "jetson-agx-orin-devkit-as-nx-8gb";
17+
"devkit-as-nx-16gb" = "jetson-agx-orin-devkit-as-nx-16gb";
18+
"devkit-as-nano-8gb" = "jetson-agx-orin-devkit-as-nano8gb";
19+
"devkit-as-nano-4gb" = "jetson-agx-orin-devkit-as-nano4gb";
20+
};
21+
1222
nvpModelConf = {
1323
orin-agx = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3701_0000.conf";
1424
orin-agx-industrial = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3701_0008.conf";
@@ -93,7 +103,7 @@ lib.mkMerge [{
93103
in
94104
mkMerge [
95105
(mkIf (cfg.som == "orin-agx") {
96-
targetBoard = mkDefault "jetson-agx-orin-devkit";
106+
targetBoard = mkDefault (agxDevkitTargetBoards."${cfg.carrierBoard}");
97107
# We don't flash the sdmmc with kernel/initrd/etc at all. Just let it be a
98108
# regular NixOS machine instead of having some weird partition structure.
99109
partitionTemplate = mkDefault "${pkgs.nvidia-jetpack.bspSrc}/bootloader/t186ref/cfg/flash_t234_qspi.xml";

0 commit comments

Comments
 (0)