Skip to content

Commit

Permalink
Imported 35.3.1-5.1.1 source
Browse files Browse the repository at this point in the history
  • Loading branch information
dlangenkamp-avt committed Jul 6, 2023
1 parent 4609206 commit 35ec8dd
Show file tree
Hide file tree
Showing 231 changed files with 16,718 additions and 18,879 deletions.
19 changes: 12 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
# NVIDIA Jetson driver
# NVIDIA Jetson driver (Beta)


Driver for Allied Vision Alvium MIPI cameras for NVIDIA Jetson with JetPack 5.1 (L4T 35.2.1)
Driver (Beta) for Allied Vision Alvium MIPI cameras for NVIDIA Jetson with JetPack 5.1.1 (L4T 35.3.1)
https://developer.nvidia.com/embedded/jetpack
![Alvium camera](https://cdn.alliedvision.com/fileadmin/content/images/cameras/Alvium/various/alvium-cameras-models.png)

THE SOFTWARE IS PRELIMINARY AND STILL IN TESTING AND VERIFICATION PHASE AND IS PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS AND IS BELIEVED TO CONTAIN DEFECTS. A PRIMARY PURPOSE OF THIS EARLY ACCESS IS TO OBTAIN FEEDBACK ON PERFORMANCE AND THE IDENTIFICATION OF DEFECT SOFTWARE, HARDWARE AND DOCUMENTATION.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

## Overview

The scripts in this project build and install the Allied Vision MIPI camera driver to the NVIDIA Jetson boards.

Compatible platforms with JetPack 5.1 (L4T 35.2.1) :
Compatible platforms with JetPack 5.1.1 (L4T 35.3.1) :

- AGX Orin Developer Kit
- AGX Xavier DevKit
- Xavier NX DevKit
- Auvidea carrier JNX30-PD with Xavier NX
- Auvidea carrier JNX30-PD with Xavier NX
- Orin Nano Developer Kit (**NEW**)

***Before starting the installation, make sure to create a backup of your Jetson system.***

Expand All @@ -23,9 +28,9 @@ Compatible platforms with JetPack 5.1 (L4T 35.2.1) :
### Host PC
The scripts for the driver installation require Git on the host PC.

### Install JetPack 5.1
### Install JetPack 5.1.1

Install JetPack 5.1 (L4T 35.2.1) as per NVIDIA's instructions
Install JetPack 5.1.1 (L4T 35.3.1) as per NVIDIA's instructions
https://developer.nvidia.com/embedded/jetpack

Recommendation: Use NVIDIA SDK Manager to install JetPack and useful tools such as CUDA.
Expand All @@ -41,7 +46,7 @@ https://docs.nvidia.com/sdk-manager/
Install the precompiled kernel, which includes the driver and an installation menu.

1. Extract the tarball on a host PC.
The tarball contains helper scripts and another tarball with the precompiled binaries named AlliedVision_NVidia_L4T_35.2.1.0_<git-rev>.tar.gz.
The tarball contains helper scripts and another tarball with the precompiled binaries named AlliedVision_NVidia_L4T_35.3.1.0_<git-rev>.tar.gz.

2. Copy the tarball to the target board.
3. On the target board, extract the tarball and run the included install script.
Expand Down
10 changes: 4 additions & 6 deletions avt_build/jetson_build/board.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
from . import upstream
from . import build

AVT_RELEASE = "5.1.0"
AVT_RELEASE = "5.1.1"
KERNEL_RELEASE = "5.10.104-tegra"
L4T_VERSION = "35.2.1"
L4T_VERSION = "35.3.1"

FileSet = namedtuple('FileSet', [
'driver_package',
Expand All @@ -14,9 +14,9 @@


def get_tx2_agx_nx_upstream_files(UpstreamFile):
driver_package = UpstreamFile("https://developer.download.nvidia.com/embedded/L4T/r35_Release_v2.1/release/Jetson_Linux_R35.2.1_aarch64.tbz2", "9959bcd3de79de231a8fb54119f9cdb57a753542d44d994e346664028142d40d")
driver_package = UpstreamFile("https://developer.download.nvidia.com/embedded/L4T/r35_Release_v3.1/release/Jetson_Linux_R35.3.1_aarch64.tbz2", "80a55504a2ce9cdc0a328edb6fd0690615c4ffde9c2b32f4e64e0a1a3432a2e2")
#rootfs = UpstreamFile("https://developer.nvidia.com/embedded/l4t/r32_release_v7.1/t186/tegra_linux_sample-root-filesystem_r32.7.1_aarch64.tbz2", "17996e861dd092043509e0b7e9ae038e271e5b0b7b78f26a34db4f03df2b12b8")
public_sources = UpstreamFile("https://developer.download.nvidia.com/embedded/L4T/r35_Release_v2.1/sources/public_sources.tbz2", "ae9d2f903347013a915b128cf311899a24c6ba21e13607cdbde785e1f0557449")
public_sources = UpstreamFile("https://developer.download.nvidia.com/embedded/L4T/r35_Release_v3.1/sources/public_sources.tbz2", "cd914110043cdb2a19a298fefc52d9dacbbcd560f781955fe03a1e98b470f2ae")

return FileSet(
public_sources=public_sources,
Expand All @@ -35,11 +35,9 @@ def get_tx2_agx_nx_upstream_files(UpstreamFile):

bootloader_payload_files_xavier = [
("bootloader/payloads_t19x/bl_only_payload", "opt/ota_package/t19x/bl_only_payload"),
("bootloader/payloads_t19x/bl_update_payload", "opt/ota_package/t19x/bl_update_payload"),
("bootloader/payloads_t19x/TEGRA_BL.Cap", "opt/ota_package/t19x/TEGRA_BL.Cap"),
("bootloader/BOOTAA64.efi", "opt/ota_package/t19x/BOOTAA64.efi"),
("bootloader/payloads_t23x/bl_only_payload", "opt/ota_package/t23x/bl_only_payload"),
("bootloader/payloads_t23x/bl_update_payload", "opt/ota_package/t23x/bl_update_payload"),
("bootloader/payloads_t23x/TEGRA_BL.Cap", "opt/ota_package/t23x/TEGRA_BL.Cap"),
("bootloader/BOOTAA64.efi", "opt/ota_package/t23x/BOOTAA64.efi")
]
Expand Down
2 changes: 1 addition & 1 deletion avt_build/jetson_build/deploy.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def build_kernel_deb(args, board):
logging.info("Adding display drivers")
os.makedirs(board.build_dir / "Linux_for_Tegra/kernel/origin/display", exist_ok=True)
t.execute(["tar","xf",board.build_dir / "Linux_for_Tegra/kernel/kernel_display_supplements.tbz2","-C",board.build_dir / "Linux_for_Tegra/kernel/origin/display"])
shutil.copytree(board.build_dir / f"Linux_for_Tegra/kernel/origin/display/lib/modules/{KERNEL_RELEASE}/extra",board.build_dir / f"Linux_for_Tegra/kernel/avt/kernel/debian/out/lib/modules/{kernel_release}/extra")
t.execute(['sudo', 'cp', '-a', board.build_dir / f"Linux_for_Tegra/kernel/origin/display/lib/modules/{KERNEL_RELEASE}/extra", board.build_dir / f"Linux_for_Tegra/kernel/avt/kernel/debian/out/lib/modules/{kernel_release}/extra"])


for ef in board.kernel_extra_files:
Expand Down
14 changes: 11 additions & 3 deletions avt_build/jetson_build/files/bootloader/config
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,11 @@ nx_devkit = BoardDefinition('Jetson Xavier NX devkit', '0x19', '3668', [

Configuration('Auvidea JNX30', 'tegra194-p3668-0000-p3509-0000-auvidea-jnx30.dtb', '0000'),
Configuration('Auvidea JNX30', 'tegra194-p3668-0001-p3509-0000-auvidea-jnx30.dtb', '0001'),
Configuration('Auvidea JNX30D', 'tegra194-p3668-0000-p3509-0000-auvidea-jnx30d.dtb', '0000'),
Configuration('Auvidea JNX30D', 'tegra194-p3668-0001-p3509-0000-auvidea-jnx30d.dtb', '0001'),
#NX 16GB
Configuration('Auvidea JNX30', 'tegra194-p3668-0001-p3509-0000-auvidea-jnx30.dtb', '0003'),
Configuration('Auvidea JNX30D', 'tegra194-p3668-0001-p3509-0000-auvidea-jnx30d.dtb', '0003'),

#Configuration('Auvidea JNX30+38491 FPD-Link (beta)', 'tegra194-p3668-all-p3509-0000-auvidea-jnx30-38491.dtb', '0000', beta=True, rootfs='/dev/mmcblk1p1'),
#Configuration('Auvidea JNX30+38491 FPD-Link (beta)', 'tegra194-p3668-all-p3509-0000-auvidea-jnx30-38491.dtb', '0001', beta=True, rootfs='/dev/mmcblk1p1'),
Expand All @@ -99,15 +102,20 @@ agx_orin_devkit = BoardDefinition('Jetson AGX Orin devkit', '0x23', '3701', [
Configuration('None', 'tegra234-p3701-0004-p3737-0000.dtb', '0004'),
])

orin_nx_devkit = BoardDefinition('Jetson Orin NX devkit', '0x23', '3767', [
Configuration('2 cameras', 'tegra234-p3767-0000-p3509-a02.dtb', '0000'),
orin_nx_nano_devkit = BoardDefinition('Jetson Orin Nano/NX devkit', '0x23', '3767', [
Configuration('2 cameras', 'tegra234-p3767-0000-p3768-0000-a0.dtb', '0000'),
Configuration('2 cameras', 'tegra234-p3767-0001-p3768-0000-a0.dtb', '0001'),

Configuration('2 cameras', 'tegra234-p3767-0003-p3768-0000-a0.dtb', '0003'),
Configuration('2 cameras', 'tegra234-p3767-0004-p3768-0000-a0.dtb', '0004'),
Configuration('2 cameras', 'tegra234-p3767-0003-p3768-0000-a0.dtb', '0005'),
])

boards = [
agx_devkit,
nx_devkit,
agx_orin_devkit,
orin_nx_devkit
orin_nx_nano_devkit
]

_label_keywords = ['APPEND', 'FDT', 'FDTDIR', 'INITRD', 'LINUX', 'MENU']
Expand Down
6 changes: 3 additions & 3 deletions avt_build/jetson_build/files/bootloader/control
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Maintainer: Allied Vision Technologies GmbH

Package: avt-nvidia-l4t-bootloader
Architecture: arm64
Pre-Depends: nvidia-l4t-core (>> 35.2-0), nvidia-l4t-core (<< 35.3-0)
Depends: nvidia-l4t-tools (>> 35.2-0), nvidia-l4t-tools (<< 35.3-0), nvidia-l4t-init (>> 35.2-0), nvidia-l4t-init (<< 35.3-0)
Conflicts: nvidia-l4t-bootloader (<< 35.3-0)
Pre-Depends: nvidia-l4t-core (>> 35.3-0), nvidia-l4t-core (<< 35.4-0)
Depends: nvidia-l4t-tools (>> 35.3-0), nvidia-l4t-tools (<< 35.4-0), nvidia-l4t-init (>> 35.3-0), nvidia-l4t-init (<< 35.4-0)
Conflicts: nvidia-l4t-bootloader (<< 35.4-0)
Section: bootloader
Priority: standard
Homepage: http://developer.nvidia.com/jetson
Expand Down
6 changes: 3 additions & 3 deletions avt_build/jetson_build/files/kernel-deb/control
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Maintainer: Allied Vision Technologies GmbH

Package: avt-nvidia-l4t-kernel
Architecture: arm64
Pre-Depends: nvidia-l4t-core (>> 35.2-0), nvidia-l4t-core (<< 35.3-0)
Depends: nvidia-l4t-tools (>> 35.2-0), nvidia-l4t-tools (<< 35.3-0)
Conflicts: nvidia-l4t-kernel (<< 35.3-0)
Pre-Depends: nvidia-l4t-core (>> 35.3-0), nvidia-l4t-core (<< 35.4-0)
Depends: nvidia-l4t-tools (>> 35.3-0), nvidia-l4t-tools (<< 35.4-0)
Conflicts: nvidia-l4t-kernel (<< 35.4-0)
Section: kernel
Priority: standard
Homepage: http://developer.nvidia.com/jetson
Expand Down
4 changes: 2 additions & 2 deletions avt_build/jetson_build/files/kernel-dtb-deb/control
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Maintainer: Allied Vision Technologies GmbH

Package: avt-nvidia-l4t-kernel-dtbs
Architecture: arm64
Pre-Depends: nvidia-l4t-core (>> 35.2-0), nvidia-l4t-core (<< 35.3-0)
Pre-Depends: nvidia-l4t-core (>> 35.3-0), nvidia-l4t-core (<< 35.4-0)
Depends: device-tree-compiler, avt-nvidia-l4t-kernel (= ${KERNEL_RELEASE}-${L4T_VERSION}-${AVT_RELEASE})
Conflicts: nvidia-l4t-kernel-dtbs (<< 35.3-0)
Conflicts: nvidia-l4t-kernel-dtbs (<< 35.4-0)
Section: kernel
Priority: standard
Homepage: http://developer.nvidia.com/jetson
Expand Down
4 changes: 2 additions & 2 deletions avt_build/jetson_build/files/kernel-headers-deb/control
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Maintainer: Allied Vision Technologies GmbH

Package: avt-nvidia-l4t-kernel-headers
Architecture: arm64
Pre-Depends: nvidia-l4t-core (>> 35.2-0), nvidia-l4t-core (<< 35.3-0)
Pre-Depends: nvidia-l4t-core (>> 35.3-0), nvidia-l4t-core (<< 35.4-0)
Depends: libc6, avt-nvidia-l4t-kernel (= ${KERNEL_RELEASE}-${L4T_VERSION}-${AVT_RELEASE})
Conflicts: nvidia-l4t-kernel-headers (<< 35.3-0)
Conflicts: nvidia-l4t-kernel-headers (<< 35.4-0)
Section: kernel
Priority: standard
Homepage: http://developer.nvidia.com/jetson
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2020, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2017-2023, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
Expand Down Expand Up @@ -32,6 +32,10 @@
#address-cells = <2>;
#size-cells = <2>;

nvpmodel {
status = "okay";
};

pmc@c360000 {
#if TEGRA_PMC_VERSION >= DT_VERSION_2
nvidia,invert-interrupt;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2020, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2017-2023, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
Expand Down Expand Up @@ -32,6 +32,10 @@
#address-cells = <2>;
#size-cells = <2>;

nvpmodel {
status = "okay";
};

pmc@c360000 {
#if TEGRA_PMC_VERSION >= DT_VERSION_2
nvidia,invert-interrupt;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@
nvidia,mtl-queues = <0>;
nvidia,rx-queue-prio = <0x2>;
nvidia,tx-queue-prio = <0x0>;
/* 0=enable, 1=disable */
nvidia,pause_frames = <0>;
/* 1=enable, 0=disable */
nvidia,pause_frames = <1>;
nvidia,phy-reset-gpio = <&tegra_main_gpio TEGRA194_MAIN_GPIO(G, 5) 0>;
phy-mode = "rgmii-id";
phy-handle = <&phy>;
Expand Down
2 changes: 2 additions & 0 deletions hardware/nvidia/platform/t19x/jakku/kernel-dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@ dtb-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000.dtb
dtb-$(BUILD_ENABLE) += tegra194-p3668-0000-p3509-0000.dtb
dtb-$(BUILD_ENABLE) += tegra194-p3668-0000-p3509-0000-avt.dtb
dtb-$(BUILD_ENABLE) += tegra194-p3668-0000-p3509-0000-auvidea-jnx30.dtb
dtb-$(BUILD_ENABLE) += tegra194-p3668-0000-p3509-0000-auvidea-jnx30d.dtb
dtb-$(BUILD_ENABLE) += tegra194-p3668-0001-p3509-0000.dtb
dtb-$(BUILD_ENABLE) += tegra194-p3668-0001-p3509-0000-avt.dtb
dtb-$(BUILD_ENABLE) += tegra194-p3668-0001-p3509-0000-auvidea-jnx30.dtb
dtb-$(BUILD_ENABLE) += tegra194-p3668-0001-p3509-0000-auvidea-jnx30d.dtb
dtb-$(CONFIG_ARCH_TEGRA_19x_SOC) += tegra194-p3668-all-p3509-0000-kexec.dtb
dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-hdr40.dtbo
dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-adafruit-sph0645lm4h.dtbo
Expand Down
Loading

0 comments on commit 35ec8dd

Please sign in to comment.