meta: update from R32.4.3 -> R32.4.4/JetPack 4.4.1

* URL paths for L4T packages changed again.
* The only JetPack package that changed is tegra-mmapi;
  dropped a now-obsolete patch.
* Merged latest NVIDIA changes into the kernel repo via
  subtree merge, including additions for Nano-2GB devkit
  (which is not yet supported in the layer).
* cboot recipe left at 32.4.3 - no 32.4.4 sources available (yet).
* Slight modifications needed to machine configurations -
  EMMC settings file for Nanos has been renamed.
* Patched l4t_bup_gen.func for tegra210 platforms to
  skip jetson-nano-qspi-sd entries in the BUP when building
  for the other tegra210 machines, since the script
  now exits with an error when it can't find a file for
  a BUP entry.
* Kernel recipe now points at a new branch, as there
  were issues merging in the git subtree updates for
  the NVIDIA-specific repos.

**Note** that TX1/Nano flash layout files have changed
 in this release - the 'id=' field in the partition
 entries are now used to set the partition number
 in the GPT. Custom flash layout files should be
 changed accordingly.

Signed-off-by: Matt Madison <matt@madison.systems>
This commit is contained in:
Matt Madison
2020-10-23 12:50:10 -07:00
committed by Matt Madison
parent f5811a4960
commit 6554e8b65e
62 changed files with 82 additions and 107 deletions

View File

@@ -1,8 +1,8 @@
OpenEmbedded/Yocto BSP layer for NVIDIA Jetson TX1/TX2/AGX Xavier/Nano
======================================================================
Linux4Tegra release: R32.4.3
JetPack release: 4.4
Linux4Tegra release: R32.4.4
JetPack release: 4.4.1
Boards supported:
* Jetson-TX1 development kit
@@ -10,8 +10,6 @@ Boards supported:
* Jetson AGX Xavier development kit
* Jetson Nano development kit
* Jetson Nano eMMC module with rev B01 carrier board
Experimental support:
* Jetson Xavier NX Development Kit
* Jetson Xavier NX eMMC module in dev kit or Nano carrier board
@@ -24,7 +22,7 @@ Also supported thanks to community support:
This layer depends on:
URI: git://git.openembedded.org/openembedded-core
branch: master
LAYERSERIES_COMPAT: dunfell gatesgarth
LAYERSERIES_COMPAT: gatesgarth
PLEASE NOTE

View File

@@ -1,12 +1,13 @@
HOMEPAGE = "https://developer.nvidia.com/embedded/linux-tegra"
L4T_BSP_NAME ??= "t186ref_release_aarch64"
L4T_SRCS_NAME ??= "sources/T186"
L4T_BSP_NAME ??= "T186"
L4T_SRCS_NAME ??= "Sources/T186"
L4T_BSP_PREFIX ??= "Tegra186"
L4T_VERSION ?= "32.4.3"
L4T_VERSION ?= "32.4.4"
def l4t_release_dir(d):
verparts = d.getVar('L4T_VERSION').split('.')
return "r%s_Release_v%s.%s" % (verparts[0], verparts[1], verparts[2])
base = "r%s_Release_v%s.%s" % (verparts[0], verparts[1], verparts[2])
return base + "/" + base + "-GMC3"
L4T_URI_BASE ?= "https://developer.download.nvidia.com/embedded/L4T/${@l4t_release_dir(d)}/${L4T_BSP_NAME}"

View File

@@ -30,8 +30,8 @@ PREFERRED_PROVIDER_tos-trusty ?= "tos-prebuilt"
require conf/machine/include/tegra-common.inc
L4T_BSP_NAME = "t186ref_release_aarch64"
L4T_SRCS_NAME = "sources/T186"
L4T_BSP_NAME = "T186"
L4T_SRCS_NAME = "Sources/T186"
L4T_BSP_PREFIX = "Tegra186"
L4T_DEB_SOCNAME = "t186"

View File

@@ -41,8 +41,8 @@ PREFERRED_PROVIDER_tos-trusty ?= "tos-prebuilt"
require conf/machine/include/tegra-common.inc
L4T_BSP_NAME = "t186ref_release_aarch64"
L4T_SRCS_NAME = "sources/T186"
L4T_BSP_NAME = "T186"
L4T_SRCS_NAME = "Sources/T186"
L4T_BSP_PREFIX = "Tegra186"
L4T_DEB_SOCNAME = "t194"

View File

@@ -26,8 +26,8 @@ CUDA_NVCC_ARCH_FLAGS ?= "--gpu-architecture=compute_53 --gpu-code=sm_53"
require conf/machine/include/tegra-common.inc
L4T_BSP_NAME = "t210ref_release_aarch64"
L4T_SRCS_NAME = "sources/T210"
L4T_BSP_NAME = "T210"
L4T_SRCS_NAME = "Sources/T210"
L4T_BSP_PREFIX = "Tegra210"
L4T_DEB_SOCNAME = "t210"
L4T_BSP_ARCH = "tegra210"

View File

@@ -26,7 +26,7 @@ BOOTPART_SIZE ?= ""
BOOTPART_LIMIT ?= "10485760"
ROOTFSPART_SIZE ?= "15032385536"
ODMDATA ?= "0x94000"
EMMC_BCT ?= "P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg"
EMMC_BCT ?= "P3448_A00_lpddr4_204Mhz_P987.cfg"
NVIDIA_BOARD ?= "t210ref"
NVIDIA_PRODUCT ?= "p3450-porg"
NVIDIA_BOARD_CFG ?= ""

View File

@@ -27,7 +27,7 @@ BOOTPART_SIZE ?= ""
BOOTPART_LIMIT ?= "10485760"
ROOTFSPART_SIZE ?= "15032385536"
ODMDATA ?= "0x94000"
EMMC_BCT ?= "P3448_A00_4GB_Micron_4GB_lpddr4_204Mhz_P987.cfg"
EMMC_BCT ?= "P3448_A00_lpddr4_204Mhz_P987.cfg"
NVIDIA_BOARD ?= "t210ref"
NVIDIA_PRODUCT ?= "p3450-porg"
NVIDIA_BOARD_CFG ?= ""

View File

@@ -1,5 +1,5 @@
TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/atf_src.tbz2"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
S = "${WORKDIR}/arm-trusted-firmware"
require arm-trusted-firmware.inc

View File

@@ -0,0 +1,37 @@
From e870ae2ce011fab43ac861446a7f4cc749fc46fe Mon Sep 17 00:00:00 2001
From: Matt Madison <matt@madison.systems>
Date: Fri, 23 Oct 2020 11:47:28 -0700
Subject: [PATCH] Skip qspi-sd-specific entries for other t210 BUP payloads
With the 32.4.4 version of the script, we now get
errors when the entries specific to the P3448
SKU 0000 don't exist, so just skip them altogether
when building a BUP payload for other targets.
Signed-off-by: Matt Madison <matt@madison.systems>
---
bootloader/l4t_bup_gen.func | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/bootloader/l4t_bup_gen.func b/bootloader/l4t_bup_gen.func
index bea0027..97d1729 100644
--- a/bootloader/l4t_bup_gen.func
+++ b/bootloader/l4t_bup_gen.func
@@ -286,8 +286,16 @@ _generate_bl_update_payload()
ENTRY_LIST[xusb]+=""${signed_dir}"/${xusb_fw} xusb-fw 2 0 $_common_spec;"
elif [ "${tegra_soc}" == "t21x" ]; then
+ local board=$(echo "${_sw_spec}" | cut -d- -f1)
+ local sku=$(echo "${_sw_spec}" | cut -d- -f3)
for part in "${partitions_t210ref[@]}"; do
eval "${part}"
+ if [ -z "${part_file}" ]; then
+ if [ "${board}" != "3448" -o "${sku}" != "0000" ]; then
+ echo "Skipping non-existent files for: ${part}"
+ continue
+ fi
+ fi
local type_array=(${part_type//,/ })
for t in "${type_array[@]}"; do

View File

@@ -4,11 +4,11 @@ LIC_FILES_CHKSUM = "file://nv_tegra/LICENSE;md5=2cc00be68c1227a7c42ff3620ef75d05
SRC_URI = "${L4T_URI_BASE}/${L4T_BSP_PREFIX}_Linux_R${PV}_aarch64.tbz2;name=l4t \
${L4T_URI_BASE}/secureboot_R${PV}_aarch64.tbz2;downloadfilename=${L4T_BSP_PREFIX}_secureboot_${PV}.tbz2;name=sb"
L4T_SHA256SUM = "9a2d13b1f4b67fef97a428d54724b23e84e14636eedfa22f338c2d1ea62558e2"
L4T_SHA256SUM_tegra210 = "0c8590218be814eeec2a6f8b4fd01271893e4881ef2c66d130792c1d62737642"
L4T_SHA256SUM = "3d0dccd05159261a32229ddcb6f85fea7bad70dcad97300dbb86e234cae5edf6"
L4T_SHA256SUM_tegra210 = "ce1cc0e4771454c668da526f8d862d0058c42f2fbaab1d8cafb2f28385b288ad"
SRC_URI[l4t.sha256sum] = "${L4T_SHA256SUM}"
SB_SHA256SUM = "9caa1383f54d9055ce8e7bf4962e175cb0330302d17797579a5b1dd4783c9928"
SB_SHA256SUM_tegra210 = "500d51a54a2475f3d2f5bd5e413b4ab849528f21a69aec52274e79cba04c9b8c"
SB_SHA256SUM = "4cbc2f7d05bc5bbeebe0026f61a9791d43b3a8be91cd2e751d014754d782d282"
SB_SHA256SUM_tegra210 = "396a0ed1f847565077edaec0859b6ff94305193c4f5a8c358712fce2f198c06c"
SRC_URI[sb.sha256sum] = "${SB_SHA256SUM}"
inherit l4t_bsp

View File

@@ -1,5 +1,5 @@
SOC_FAMILY = "tegra186"
L4T_BSP_NAME = "t186ref_release_aarch64"
L4T_BSP_NAME = "T186"
L4T_BSP_PREFIX = "Tegra186"
require tegra-binaries-${PV}.inc

View File

@@ -1,5 +1,5 @@
SOC_FAMILY = "tegra210"
L4T_BSP_NAME = "t210ref_release_aarch64"
L4T_BSP_NAME = "T210"
L4T_BSP_PREFIX = "Tegra210"
require tegra-binaries-${PV}.inc
@@ -14,11 +14,13 @@ SSTATE_SWSPEC = "sstate:tegra-binaries-native::${PV}:${PR}::${SSTATE_VERSION}:"
STAMP = "${STAMPS_DIR}/work-shared/L4T-native-${SOC_FAMILY}-${PV}-${PR}"
STAMPCLEAN = "${STAMPS_DIR}/work-shared/L4T-native-${SOC_FAMILY}-${PV}-*"
SRC_URI += "\
SRC_URI += "${L4T_URI_BASE}/${L4T_BSP_PREFIX}_Linux_R${PV}_aarch64.tbz2;name=l4t \
${L4T_URI_BASE}/secureboot_R${PV}_aarch64.tbz2;downloadfilename=${L4T_BSP_PREFIX}_secureboot_${PV}.tbz2;name=sb \
file://0002-Fix-typo-in-l4t_bup_gen.func.patch \
file://0003-Convert-BUP_generator.py-to-Python3.patch \
file://0006-Update-tegraflash_internal.py-for-Python3.patch \
file://0007-Update-check-functions-in-BUP_generator.py-for-Pytho.patch \
file://0008-Skip-qspi-sd-specific-entries-for-eMMC-Nano-BUP-payl.patch \
"
S = "${WORKDIR}/Linux_for_Tegra"

View File

@@ -1,7 +1,7 @@
L4T_BSP_NAME = "${L4T_SRCS_NAME}"
SRC_URI = "${L4T_URI_BASE}/public_sources.tbz2;downloadfilename=${L4T_BSP_PREFIX}-public_sources-${L4T_VERSION}.tbz2"
SRC_SHA256SUM = "6b3a4517657918ffe365320b22b2546789c5aeb5cd996b39442c975cabce2c1f"
SRC_SHA256SUM_tegra210 = "dd2a264d532b9c0b632d1b2805c1225ded5cadc4fade6895778a10fa76ec24ec"
SRC_SHA256SUM = "0a3d502decd1ece31454fd37ea192376741739770491c7ea10bae55708b33def"
SRC_SHA256SUM_tegra210 = "08f7bb54b330019e7c408969e275dcb73d54b3a68c0e14a028ffd4be51c7a2a2"
SRC_URI[sha256sum] = "${SRC_SHA256SUM}"
inherit l4t_bsp

View File

@@ -1,5 +1,5 @@
TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/trusty_src.tbz2"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
SRC_URI += " \
file://0001-common-make-macros.mk-translate-to-_.patch \

View File

@@ -5,11 +5,11 @@ COMPATIBLE_MACHINE = "(tegra)"
# The sources for t186 and t210 are identical, so just pick one
L4T_DEB_SOCNAME = "t186"
L4T_DEB_GROUP = "nvidia-l4t-graphics-demos"
SRC_SOC_DEBS = "nvidia-l4t-graphics-demos_${PV}-20200625213407_arm64.deb;subdir=l4t-graphics-demos"
SRC_SOC_DEBS = "nvidia-l4t-graphics-demos_${PV}-20201016123640_arm64.deb;subdir=l4t-graphics-demos"
inherit l4t_deb_pkgfeed
SRC_URI[sha256sum] = "b4add3d2a191b056d31527b9a4974446134fcf065f6254286f43ad1bd3b33557"
SRC_URI[sha256sum] = "6e1a18cf34cc033ac566b2d59f25c09390cd59e6f75c9752fd456fe9b67f7cff"
S = "${WORKDIR}/l4t-graphics-demos/usr/src/nvidia/graphics_demos"
B = "${S}"

View File

@@ -17,8 +17,8 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-${@bb.parse.BBHandler.vars_from_fi
LINUX_VERSION_EXTENSION ?= "-l4t-r${@'.'.join(d.getVar('L4T_VERSION').split('.')[:2])}"
SCMVERSION ??= "y"
SRCBRANCH = "patches${LINUX_VERSION_EXTENSION}"
SRCREV = "a58470bb0f05f9189781448eb64599cc4aac49af"
SRCBRANCH = "oe4t-patches${LINUX_VERSION_EXTENSION}"
SRCREV = "0ba19fe31443d4fbfe705ef9878e376f271b812e"
KBRANCH = "${SRCBRANCH}"
SRC_REPO = "github.com/OE4T/linux-tegra-4.9"
KERNEL_REPO = "${SRC_REPO}"

View File

@@ -2,17 +2,14 @@ HOMEPAGE = "http://developer.nvidia.com"
LICENSE = "Proprietary & BSD"
L4T_DEB_GROUP = "nvidia-l4t-jetson-multimedia-api"
SRC_SOC_DEBS = "nvidia-l4t-jetson-multimedia-api_${PV}-20200625213407_arm64.deb;subdir=tegra-mmapi"
SRC_SOC_DEBS_tegra210 = "nvidia-l4t-jetson-multimedia-api_${PV}-20200625213809_arm64.deb;subdir=tegra-mmapi"
SRC_SHA256SUM = "a639090aa97441790f59e6946cdd558e8d2873678421b4cf6fdee77adfb22d1d"
SRC_SHA256SUM_tegra210 = "d5ae20bd5d220cbe2af3e54d3047c18b558c6e59a46ec06215dc08bf4e87609f"
SRC_SOC_DEBS = "nvidia-l4t-jetson-multimedia-api_${PV}-20201016123640_arm64.deb;subdir=tegra-mmapi"
SRC_SOC_DEBS_tegra210 = "nvidia-l4t-jetson-multimedia-api_${PV}-20201016124427_arm64.deb;subdir=tegra-mmapi"
SRC_SHA256SUM = "3dc8d1586a04daf79d0637ec0aff79806048e39eb342957017330a011c706da9"
SRC_SHA256SUM_tegra210 = "d5f519f53e7b94a26e7b166057c3dd87232e5ea65caac825fed2c07a5533be65"
SRC_URI[sha256sum] = "${SRC_SHA256SUM}"
FILESEXTRAPATHS_prepend := "${THISDIR}/tegra-mmapi:"
inherit l4t_deb_pkgfeed
SRC_URI += "file://0001-Add-getMinAeRegionSize-method.patch"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2cc00be68c1227a7c42ff3620ef75d05 \
file://argus/LICENSE.TXT;md5=271791ce6ff6f928d44a848145021687"

View File

@@ -1,60 +0,0 @@
From bece28631bbd672bfa48a7d5c450269269fe65c2 Mon Sep 17 00:00:00 2001
From: Matt Madison <matt@madison.systems>
Date: Thu, 16 Jul 2020 04:30:20 -0700
Subject: [PATCH] Add getMinAeRegionSize method
Patch provided by NVIDIA in this forum thread:
https://forums.developer.nvidia.com/t/l4t-r32-4-3-breaks-argus-camera-and-causes-segmentation-fault-sigsegv/141432/8
---
.../argus/include/Argus/CameraDevice.h | 9 ++++++++-
.../jetson_multimedia_api/argus/include/Argus/Settings.h | 5 ++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/argus/include/Argus/CameraDevice.h b/argus/include/Argus/CameraDevice.h
index 27d8a12..26506bd 100644
--- a/argus/include/Argus/CameraDevice.h
+++ b/argus/include/Argus/CameraDevice.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2016-2020, NVIDIA CORPORATION. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -84,6 +84,13 @@ public:
*/
virtual uint32_t getMaxAeRegions() const = 0;
+ /**
+ * Returns the minimum size of resultant region required by AE.
+ *
+ * @see IAutoControlSettings::setAeRegions()
+ */
+ virtual Size2D<uint32_t> getMinAeRegionSize() const = 0;
+
/**
* Returns the maximum number of regions of interest supported by AWB.
* A value of 0 means that the entire image is the only supported region of interest.
diff --git a/argus/include/Argus/Settings.h b/argus/include/Argus/Settings.h
index 8570ad4..3bcb7f2 100644
--- a/argus/include/Argus/Settings.h
+++ b/argus/include/Argus/Settings.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2016-2020, NVIDIA CORPORATION. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -245,8 +245,11 @@ public:
/**
* Sets the AE regions of interest.
* If no regions are specified, the entire image is the region of interest.
+ *
* @param[in] regions The AE regions of interest.
* The maximum number of regions is returned by @c ICameraProperties::getMaxAeRegions().
+ * The minimum supported size of resultant region is returned by
+ * @c ICameraProperties::getMinAeRegionSize().
*
* @returns success/status of the call.
*/

View File

@@ -5,7 +5,7 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-nveglgles
DEPENDS += "tegra-libraries"
TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/gstomx1_src.tbz2"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
# Plugin needs a couple of header files that it does not include, but
# they are present in the V4L2 plugin source package, so extract them

View File

@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://nvbuf_utils.h;endline=9;md5=afc209f3955d083a93f5009bc
TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/gst-nvarguscamera_src.tbz2"
TEGRA_SRC_SUBARCHIVE_OPTS = "--exclude=3rdpartyheaders.tbz2"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
SRC_URI += "\
file://0001-Build-fixups.patch \

View File

@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
file://ext/eglgles/gstegladaptation.c;beginline=9;endline=25;md5=51eafe984c428127773b6a95eb959d0b"
TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/gstegl_src.tbz2"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
SRC_URI += "file://0001-introspection-pkgconfig.patch \
file://0002-fix-libtool-references.patch \

View File

@@ -4,7 +4,7 @@ LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/gstjpeg_src.tbz2"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
SRC_URI += "file://use-nvjpeg-for-plugin-name.patch"

View File

@@ -10,7 +10,7 @@ TEGRA_SRC_SUBARCHIVE_OPTS = "--exclude=3rdpartyheaders.tbz2"
TEGRA_SRC_EXTRA_SUBARCHIVE = "Linux_for_Tegra/source/public/gst-nvarguscamera_src.tbz2"
TEGRA_SRC_EXTRA_SUBARCHIVE_OPTS = "-C ${S} --strip-components=1 gst-nvarguscamera/nvbufsurface.h"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
SRC_URI += "\
file://0001-Build-fixups.patch \

View File

@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.gst-nvvideo4linux2;md5=457fb5d7ae2d8cd8cabcc2
"
TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/gst-nvvideo4linux2_src.tbz2"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
SRC_URI += "file://build-fixups.patch"

View File

@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.libgstnvvideosinks;md5=86ed1f32df3aaa376956e4
"
TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/libgstnvvideosinks_src.tbz2"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
SRC_URI += "file://build-fixups.patch"

View File

@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://nvgst_sample_apps/nvgstcapture-1.0/nvgstcapture-1.0_R
TEGRA_SRC_SUBARCHIVE = "Linux_for_Tegra/source/public/nvgstapps_src.tbz2"
require recipes-bsp/tegra-sources/tegra-sources-32.4.3.inc
require recipes-bsp/tegra-sources/tegra-sources-32.4.4.inc
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base virtual/egl libx11 libxext"