359 Commits

Author SHA1 Message Date
Matt Madison
7608aaf47a tegra-common: fix typo in variable name
which is TEGRA_DCE_OVERLAY, singular, rather than
the plural.

Signed-off-by: Matt Madison <matt@madison.systems>
2025-05-01 07:21:15 -07:00
Matt Madison
b961e65fd8 conf/layer.conf: drop styhead from LAYERSERIES_COMPAT
Signed-off-by: Matt Madison <matt@madison.systems>
2025-04-19 04:26:13 -07:00
Matt Madison
d886d9a737 conf/machine: update Orin NX/Nano BPFDTB settings
The BPMP's device tree also needs updating to enable
'super' mode.

Signed-off-by: Matt Madison <matt@madison.systems>
2025-04-19 04:26:13 -07:00
Matt Madison
6a9475bc9d conf/machine: update Orin NX and Nano configs for R36.4.3
with the new "super" device trees and nvpmodel configuration
files.

Signed-off-by: Matt Madison <matt@madison.systems>
2025-04-19 04:26:13 -07:00
Matt Madison
2bbc15ae8b p3737-0000-p3701-0004: fix KERNEL_DEVICETREE setting
which missed getting updated for the OOT device trees
that were switched to in L4T R36.x.

Signed-off-by: Matt Madison <matt@madison.systems>
2025-02-21 03:25:04 -08:00
Austin Schuh
0c07ff6ac8 Support zstd compressed tegraflash images
zstd is a lot faster when compressing and decompressing, which helps
with iteration speed.

Use the CONVERSIONTYPES machinery builtin rather than re-implementing it
ourselves here.

Signed-off-by: Austin Schuh <austin.linux@gmail.com>
Signed-off-by: Matt Madison <matt@madison.systems>
2025-02-08 05:41:00 -08:00
Austin Schuh
0a2689bde3 conf/machine: add configuration for Orin Nano SKU 0003
Note, this is different than the SOM in the orin nano developer kit.

Signed-off-by: Austin Schuh <austin.linux@gmail.com>
2025-01-22 06:29:28 -08:00
Matt Madison
30217c6fc3 meta: switch from virtual/XXX-gcc to virtual/cross-XXX
OE-Core master has udpated how the toolchain virtual providers
are handled, so update the layer accordingly.

This affects the gcc-for-nvcc extra toolchain build we have for
CUDA builds, and a few other recipes that have some explicit
references to the old toolchain virtual/<something> names.

Signed-off-by: Matt Madison <matt@madison.systems>
2025-01-22 06:05:38 -08:00
Matt Madison
2b18e164e9 tegra-common: add TEGRA_UEFI_MINIMAL support
- Default to off
- Add the needed boot control overlay when enabled

Signed-off-by: Matt Madison <matt@madison.systems>
2024-11-11 07:06:40 -08:00
Matt Madison
4910dd248b tegra-common: add TEGRA_FLASH_CHECK variables
Starting with the BOARDID and BOARDSKU variables.
For our purposes, they need to be fixed at build time,
and if they don't match the actual target machine, we'll
get difficult-to-diagnose boot failures.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-11-10 06:16:36 -08:00
Matt Madison
de2553df58 conf/machine: refactor and add CHIP_SKU defaults
* Move the mostly-common Orin NX settings to a new orin-nx.inc file
* Set TEGRA_FLASHVAR_CHIP_SKU for machines that differ from the
  common default, derived from the chip SKU referenced in the
  TEGRA_BUPGEN_SPECS setting
* Convert jetson-agx-orin-devkit-industrial config to using the
  agx-orin.inc include file

Signed-off-by: Matt Madison <matt@madison.systems>
2024-11-10 06:16:36 -08:00
Matt Madison
20da6a250b tegra-common: add CHIP_SKU to TEGRA_FLASHVARS
so we can add a default setting for this variable into
machine configuration files.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-11-10 06:16:36 -08:00
Matt Madison
009e202587 tegra-common: fix TEGRA_FLASHVARS setting
* Drop obsolete (t19x-specific) entries
* Add missing RAMCODE entry

Signed-off-by: Matt Madison <matt@madison.systems>
2024-11-10 06:16:36 -08:00
Kurt Kiefer
944504cd13 linux: linux-yocto: add rtw88 support
This change removes rtl8822 from nvidia-kernel-oot to switch to the
driver and firmware from linux-yocto and linux firmware. It includes
updates to tegra-wifi to pull in the needed packages to the image.

Signed-off-by: Kurt Kiefer <kekiefer@gmail.com>
2024-10-29 12:03:41 -07:00
Matt Madison
f541445b6f conf/machine: remove net.ifnames=0 from KERNEL_ARGS
to align with the defaults in L4T R36.4.0.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-10-26 08:15:33 -07:00
Matt Madison
dcfe4a5bd8 cuda: update to 12.6 for JetPack 6.1
Signed-off-by: Matt Madison <matt@madison.systems>
2024-10-26 08:15:33 -07:00
Ilies CHERGUI
7f01265d37 optee: update recipes for L4T R36.4.0
- base OP-TEE version now 4.2
- refresh makefile patch
- add openssl as dependency to optee-test

Signed-off-by: Ilies CHERGUI <ichergui@nvidia.com>
2024-10-26 08:15:33 -07:00
Ilies CHERGUI
aa7546af8b meta: update recipes R36.3.0/JetPack 6 -> R36.4.0/JetPack 6.1
Signed-off-by: Ilies CHERGUI <ichergui@nvidia.com>
Signed-off-by: Matt Madison <matt@madison.systems>
2024-10-26 08:15:33 -07:00
Khem Raj
ef93952c81 layer.conf: Update to walnascar (5.2) layer/release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-10-07 04:38:48 -07:00
Khem Raj
a378e7eddb layer.conf: Switch to 'styhead' release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-09-10 04:00:31 -07:00
Kurt Kiefer
411b175fd4 nvidia-kernel-oot: deploy virtual/dtb in separate recipe
Custom boards wishing to provide their own devicetree sources will
want to be a provider of virtual/dtb. If this happens, then other
providers of virtual/dtb will not be built. That's a problem, because
the nvidia-kernel-oot recipe also contains device drivers and overlay
devicetree sources that are required.

To solve this, the deployment step of nvidia-kernel-oot is broken
out into a special provider for virtual/dtb. That way, it can easily
be skipped by creating a new virtual/dtb provider and the rest of
nvidia-kernel-oot can still be built and used.

Signed-off-by: Kurt Kiefer <kekiefer@gmail.com>
2024-07-12 03:03:29 -07:00
Timo Schuster
2c972e80d9 p3737-0000-p3701-0005: set correct TEGRA_FLASHVARs, KERNEL_DEVICETREE and EMMC_BCT
Signed-off-by: Timo Schuster <timo.schuster@leica-microsystems.com>
2024-06-29 07:06:43 -07:00
Matt Madison
cab25debe1 nvidia-kernel-oot: mark replacements for in-tree drivers
A number of the out-of-tree modules are named identically to
modules built in-tree, and are intended to replace the in-tree
copies. Mark those with RREPLACES/RCONFLICTS settings when
packaging the modules.

Also add PREFERRED_RPROVIDER settings for those packages,
to point to the out-of-tree copies, to the tegra-common machine
configuration include file.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-06-09 05:36:59 -07:00
Matt Madison
e9f872043b tegra-helper-scripts: allow for custom TBCDTB_FILE definition
* Add a default setting for TEGRA_FLASHVAR_TBCDTB_FILE that resolves
  to "@DTBFILE@"
* Update the flash helper to:
    - replace @DTBFILE@ with the name of the device tree file in that variable
    - remove the TBCDTB-FILE replacement in the storage layout, which isn't needed
    - simplify p3701 flashvars handling, similar to what's there for p3767

Signed-off-by: Matt Madison <matt@madison.systems>
2024-06-08 08:06:33 -07:00
Matt Madison
c0660474e9 meta: remove BOOT_PARTITIONS_ON_EMMC references
The spillover of some boot firmware partitions into
the eMMC was specific to some of the Xavier models,
so we can drop handling of that case.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Matt Madison
35d254912c jetson-orin-nano-devkit: drop TEGRA_SPIFLASH_BOOT setting
which is no longer needed.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Matt Madison
0e9a32364c layer.conf: prune SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS
Most of the entries in that list have been obsolete since we moved
to using the nvidia-l4t-*.deb packages for installing the tegra-specific
libraries.  The only entry we definitely still need is the one for the
gcc-for-nvcc cross-compiler; delete all others for now, and we can
populate more-correct entries when we run into sstate sharing problems.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Matt Madison
fd15e19dc5 conf/machine: drop PREFERRED_VERSION_weston from tegra-common
Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Matt Madison
a758e632f7 agx-orin: update TEGRA_PLUGIN_MANAGER_OVERLAYS for R36.3.0
Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Matt Madison
f8633daf75 conf/machine: add missing TEGRA_BOARDSKU settings
Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-31 09:57:00 -07:00
Pavel Löbl
3e76d865a5 p3768-0000-p3767-0001: set correct SKU for Orin NX 8Gb
Set SKU to 0001 as otherwise 0000 is used from included
16Gb Orin NX variant config.

Signed-off-by: Pavel Löbl <pavel@loebl.cz>
2024-05-31 09:57:00 -07:00
Matt Madison
34408864ce Revert "tegra-common: set OLDEST_KERNEL so that glibc will restrict features"
This reverts commit 1eec81c883.

With L4T R36.x, we now have a 5.15 kernel as a base, so we no
longer need to do this.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-30 12:13:39 -07:00
Matt Madison
eb2d73cdf7 conf/machine: updates for L4T R36.3.0
Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-30 12:13:39 -07:00
Matt Madison
6b045aac99 recipes-kernel: update kernel recipe to linux-jammy-nvidia-tegra 5.15
Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-30 12:13:39 -07:00
Matt Madison
617aa8c815 meta: update recipes R35.5.0/JetPack 5 -> R36.3.0/JetPack 6
Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-30 12:13:39 -07:00
Matt Madison
26f6e9401d meta: remove all t194/xavier references
in preparation for the R36.x update, which drops support
for those platforms.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-05-30 12:13:38 -07:00
Igor Opaniuk
669ccd241e tegra-common: drop bup-payload image_type
Drop bup-payload image type from TEGRA_INITRAMFS_FSTYPES, as it's
planned to generate BUP image inside UEFI capsule generation
recipes.

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2024-05-29 12:49:04 -07:00
Matt Madison
9e64510f86 p3768-0000-p3767-0001: fix BPFDTB_FILE setting
The 0001 board SKU has its own version of that file.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-04-23 08:31:44 -07:00
Matt Madison
526ad46b00 conf/machine: Refactor AGX Orin configs, update TEGRA_BUPGEN_SPECS
Starting with R35.5.0, the BUP generator needs the chip SKU passed
to it for generating bootloader updates for Orin modules.  Update all
of the Orin configs to reflect that.

Also refactor the AGX Orin configs so we have a separate machine
definition for each of the board SKUs, similar to what's there for
the Orin NX/Nano configs.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-04-18 11:20:07 -07:00
Matt Madison
7cf06f8ae4 conf/machine: fix boardsku settings for Orin Nano modules
8GB module: board SKU 0003 or 0005
4GB module: board SKU 0004

Signed-off-by: Matt Madison <matt@madison.systems>
2024-04-17 05:35:39 -07:00
Matt Madison
d4dfb31b34 tegra-common: enable UBOOT_EXTLINUX by default
This aligns with the stock L4T/JetPack configuration. Note that
the Android-style separate kernel/kernel-dtb partitions are also
present by default, and will be used by the L4TLauncher UEFI app
to load the kernel and DTB if the extlinux.conf method fails.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-04-14 07:46:08 -07:00
Matt Madison
b077b5b3eb conf/machine: trim entries from TEGRA_BUPGEN_SPECS
Unlike stock L4T, which has to handle multiple BOARDSKUs for each
module with its prebuilt binary distribution, we can reduce the
number of BUP entries we build per machine, since we have to target
specific BOARDSKUs at build time.

Orin Nano configurations should need to handle only BOARDSKUs 0003
(8GiB) and 0004 (4GiB).

The p3768-0000-p3767-0000 configuration was already trimmed to cover
just the 0000 (16GiB) SKU, so the p3509-a02-p3767-0000 configuration
is updated to match that, since it's just the carrier that's different.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-04-10 04:28:35 -07:00
Matt Madison
d95c73912e conf/machine: switch P3767 machines to use t234-specific storage layouts
* Use flash_l4t_t234_nvme.xml as the default layout
* Mark it as having a _rootfs_ab varian

Also, the BUP generation specs for p3768-0000-p3767-0000
are cleaned up to include just the 0000 board SKU, since we
have separate machine configs for the other SKUs.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-03-17 07:40:13 -07:00
Matt Madison
4b1368a184 jetson-agx-orin-devkit: rework PMIC config selection
R35.5.0 introduces different logic for selecting the PMIC config,
based on board SKU.  Update the machine config to expect a sed
rewrite in the flash variable, and update the flash helper to
perform that rewrite.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-03-17 07:40:13 -07:00
Matt Madison
df0835244e p3768-0000-p3767-0004: set TEGRA_FLASHVAR_RAMCODE
with R35.5.0, RAMCODE needs to be set for this SKU.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-03-17 07:40:13 -07:00
Matt Madison
dd789beb6e jetson-orin-nano-devkit: set TNSPEC_BOOTDEV_DEFAULT
to point to the SDcard, which is the proper default for
the Orin Nano dev kit.

Signed-off-by: Matt Madison <matt@madison.systems>
2024-03-14 09:44:57 -07:00
Matt Madison
d4e0d078ea layer.conf, README.md: drop nanbield from LAYERSERIES_COMPAT
Signed-off-by: Matt Madison <matt@madison.systems>
2024-03-10 09:46:29 -07:00
Khem Raj
8ed710fcc8 layer.conf: Update for the scarthgap release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-15 05:45:31 -05:00
Kurt Kiefer
1eec81c883 tegra-common: set OLDEST_KERNEL so that glibc will restrict features
As of the nanbield release, OLDEST_KERNEL is set in meta.conf to
version 5.15. This is newer than the version available to us for the
tegra machines in the Jetpack 5 releases. As such, some components
that use this variable (such as glibc) will be build assuming support
for kernel features we don't have.

Override the OLDEST_KERNEL to 5.10, to match the linux-tegra kernel.

Signed-off-by: Kurt Kiefer <kekiefer@gmail.com>
2024-01-06 05:02:53 -08:00
Dan Walkes
d421bf5cfe edk-firmware-tegra: Support A/B redundancy
When USE_REDUNDANT_FLASH_LAYOUT is specified, add the
.dtbo file to the build which enables RootfsA/B suport
in UEFI based on discussion at [1].

This content of the variable is set based on the corresponding
logic found in nvidia's flash.sh.  The usage for this variable
can be found at [2].

1: https://github.com/OE4T/meta-tegra/discussions/1182#discussioncomment-5067058
2: 71fc2f6de4/Silicon/NVIDIA/Application/L4TLauncher/L4TRootfsValidation.c (L464-L466)

Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com>
2023-12-06 05:36:37 -08:00