{
  "schemaVersion": 1,
  "kind": "tn_install_contract",
  "product": "OrinNano",
  "version": "JP61",
  "scriptPath": "tn_install.sh",
  "scriptSource": "package",
  "requiresReplacementScript": false,
  "runner": "bash_pkexec",
  "supportsInteractive": true,
  "supportsNonInteractive": true,
  "requiresRoot": true,
  "rebootsByDefault": false,
  "validatesL4tVersion": true,
  "supportedJetPackVersions": [
    "6.1",
    "6.2",
    "6.2.1",
    "6.2.2",
    "7.2"
  ],
  "l4tVersionMap": {
    "36.3": "6.0",
    "36.4.0": "6.1",
    "36.4.3": "6.2",
    "36.4.4": "6.2.1",
    "36.5": "6.2.2",
    "36.5.0": "6.2.2",
    "39.2": "7.2",
    "39.2.0": "7.2"
  },
  "installPolicy": {
    "moduleInstallBase": "updates/drivers/media/i2c",
    "legacyModuleDirs": [
      "kernel/drivers/media/i2c",
      "updates/drivers/media/i2c"
    ],
    "removesLegacyService": true,
    "runsDepmod": true
  },
  "artifacts": {
    "drivers": [
      {
        "file": "tevs.ko",
        "packagePath": "technexion/tevs/tevs.ko",
        "installDir": "updates/drivers/media/i2c/technexion/tevs"
      },
      {
        "file": "vls3.ko",
        "packagePath": "technexion/vls3/vls3.ko",
        "installDir": "updates/drivers/media/i2c/technexion/vls3"
      },
      {
        "file": "max96724.ko",
        "packagePath": "technexion/maxim-gmsl/max96724.ko",
        "installDir": "updates/drivers/media/i2c/technexion/maxim-gmsl"
      },
      {
        "file": "max96716a.ko",
        "packagePath": "technexion/maxim-gmsl/max96716a.ko",
        "installDir": "updates/drivers/media/i2c/technexion/maxim-gmsl"
      },
      {
        "file": "max96717.ko",
        "packagePath": "technexion/maxim-gmsl/max96717.ko",
        "installDir": "updates/drivers/media/i2c/technexion/maxim-gmsl"
      }
    ],
    "bootFiles": [
      {
        "file": "tegra234-p3767-camera-p3768-tevs-dual.dtbo",
        "packagePath": "dtbs/tegra234-p3767-camera-p3768-tevs-dual.dtbo",
        "bootTarget": "/boot/tegra234-p3767-camera-p3768-tevs-dual.dtbo"
      },
      {
        "file": "tegra234-p3767-camera-p3768-vls3.dtbo",
        "packagePath": "dtbs/tegra234-p3767-camera-p3768-vls3.dtbo",
        "bootTarget": "/boot/tegra234-p3767-camera-p3768-vls3.dtbo"
      },
      {
        "file": "tegra234-p3767-camera-p3768-vls-gm2.dtbo",
        "packagePath": "dtbs/tegra234-p3767-camera-p3768-vls-gm2.dtbo",
        "bootTarget": "/boot/tegra234-p3767-camera-p3768-vls-gm2.dtbo"
      },
      {
        "file": "tegra234-p3767-camera-p3768-vls-gm2-fsync.dtbo",
        "packagePath": "dtbs/tegra234-p3767-camera-p3768-vls-gm2-fsync.dtbo",
        "bootTarget": "/boot/tegra234-p3767-camera-p3768-vls-gm2-fsync.dtbo"
      },
      {
        "file": "tegra234-p3767-camera-p3768-vls-gm2-tunnel.dtbo",
        "packagePath": "dtbs/tegra234-p3767-camera-p3768-vls-gm2-tunnel.dtbo",
        "bootTarget": "/boot/tegra234-p3767-camera-p3768-vls-gm2-tunnel.dtbo"
      },
      {
        "file": "tegra234-p3767-camera-p3768-vls-gm2-tunnel-fsync.dtbo",
        "packagePath": "dtbs/tegra234-p3767-camera-p3768-vls-gm2-tunnel-fsync.dtbo",
        "bootTarget": "/boot/tegra234-p3767-camera-p3768-vls-gm2-tunnel-fsync.dtbo"
      },
      {
        "file": "tegra234-p3767-camera-p3768-vls-gm2-fsync-external.dtbo",
        "packagePath": "dtbs/tegra234-p3767-camera-p3768-vls-gm2-fsync-external.dtbo",
        "bootTarget": "/boot/tegra234-p3767-camera-p3768-vls-gm2-fsync-external.dtbo"
      }
    ]
  },
  "arguments": [
    {
      "flag": "--platform",
      "required": false,
      "default": "orin_nano",
      "values": [
        "orin_nano"
      ],
      "aliases": {
        "1": "orin_nano",
        "orin-nano": "orin_nano",
        "orin_nano_evk": "orin_nano",
        "jetson_orin_nano": "orin_nano"
      }
    },
    {
      "flag": "--module",
      "required": true,
      "values": [
        "tevs",
        "vls-fpd3",
        "vls-gm2"
      ],
      "aliases": {
        "vls3": "vls-fpd3",
        "vls_fpd3": "vls-fpd3",
        "vl316-vls": "vls-fpd3",
        "vls_gm2": "vls-gm2",
        "1": "tevs",
        "2": "vls-fpd3",
        "3": "vls-gm2"
      },
      "descriptions": {
        "tevs": "TEVS: TEVS Series MIPI Cameras with TEV-RPI22 Adaptor",
        "vls-fpd3": "VLS-FPD3: VLS-FPD3 Series Cameras with VL-FPD3-8CAM-RPI22 Adaptor",
        "vls-gm2": "VLS-GM2: VLS-GM2 Series Cameras with VL-GM2-8CAM-RPI22 Adaptor"
      }
    },
    {
      "flag": "--reboot",
      "required": false,
      "default": "no",
      "values": [
        "yes",
        "no"
      ]
    }
  ],
  "platforms": [
    {
      "id": "orin_nano",
      "label": "Jetson Orin Nano",
      "supportedJetPackVersions": [
        "6.1",
        "6.2",
        "6.2.1",
        "6.2.2",
        "7.2"
      ],
      "modules": [
        "tevs",
        "vls-fpd3",
        "vls-gm2"
      ]
    }
  ],
  "notes": [
    "The script remains interactive when no arguments are provided.",
    "Non-interactive mode requires --module and defaults to --platform orin_nano and --reboot no.",
    "The script exits before system modifications when the target L4T version is not supported.",
    "The vls-fpd3 argument maps to the legacy extlinux label vl316-vls.",
    "JP6.1 packages do not include AGX Orin overlays."
  ]
}
