1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-04-04 01:59:02 +00:00

Compare commits

...

20 Commits

Author SHA1 Message Date
LCPD Automation Script
3db8ddf7f8 CI/CD Auto-Merger: cicd.master.202603261656
Updated the value(s) for:
  u-boot-ti-staging_2026.01: SRCREV_uboot
  linux-ti-staging_6.18: SRCREV

Changelogs:
  u-boot-ti-staging_2026.01: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?qt=range&q=a46241db71e383bb6dda103ecad12b13e7af3c38..2549829cc194ffd9e38b755d2e10c7fc4cd971eb
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=c164e381f6bc1a72b527f0bf3a6b1fc9af06517f..c214492085504176b9c252a7175e4e60b4b442af

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-03-26 16:57:53 -05:00
Anshul Dalal
7640ce6a58 am62lxx-evm: fix fitImage address for 128MiB
This patch modifies the load addresses for the kernel fitImage to
provide out-of-box support for 128MiB DDR sizes on AM62l.

The current fitImage uses 0x88000000 as the DTB load address which is
beyond the 128MiB boundary while the kernel load address of 0x82000000
conflicts with U-Boot's SPL load address which causes problems when
enabling falcon mode on the device.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-26 15:19:43 -05:00
Shiva Tripathi
764817c28e conf: Enable dynamic tpm-layer support for LUKS
Add BBFILES_DYNAMIC registration for 'tpm-layer' collection to
conditionally include LUKS recipes from dynamic-layers/tpm-layer/
when meta-security/meta-tpm layer is present.

Add tpm-layer to LAYERRECOMMENDS to document the optional
dependency for LUKS functionality.

Update ti-core-initramfs.inc to auto-enable initramfs generation
when DISTRO_FEATURES contains 'luks'.

Signed-off-by: Shiva Tripathi <s-tripathi1@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-26 09:40:56 -05:00
Shiva Tripathi
bd0e3d7ba5 initramfs-module-luks-ftpm: Add fTPM support
Add initramfs module to dynamic-layers/tpm-layer providing LUKS2 full
disk encryption with TPM-sealed keys for TI K3 platforms. Keys are
sealed by firmware TPM (fTPM) running in OP-TEE and stored in eMMC
RPMB.

Features:
- First-boot in-place encryption with tpm2_getrandom key generation
- TPM-sealed key storage via persistent handle 0x81080001
- Automatic unlock on subsequent boots
- Space verification ensuring 32MB available for LUKS header

The module is built only when meta-tpm layer is present and gets
included in initramfs only when DISTRO_FEATURES='luks' and
MACHINE_FEATURES='optee-ftpm'

LUKS packages (cryptsetup, tpm2-tools, tpm2-tss, optee-ftpm,
e2fsprogs-*) significantly increase initramfs size beyond the default
131072 limit. Increase INITRAMFS_MAXSIZE to 200000 to accommodate
these packages.

Signed-off-by: Shiva Tripathi <s-tripathi1@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-26 09:40:56 -05:00
Shiva Tripathi
6f205ef079 linux-ti-staging: Add LUKS encryption config
Add kernel configuration fragment enabling dm-crypt and crypto
algorithms required for LUKS2 full disk encryption. Config is
applied when DISTRO_FEATURES contains 'luks'.

Includes ARM64 crypto optimizations and fTPM support.

Signed-off-by: Shiva Tripathi <s-tripathi1@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-26 09:40:56 -05:00
Mahammed Sadik Shaik
4c4f4b495d ti-extras: update srcrev for jailhouse
update jailhouse linux and uboot to latest

Signed-off-by: Mahammed Sadik Shaik <s-sadik@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-26 09:40:56 -05:00
LCPD Automation Script
ed4c7f9ead CI/CD Auto-Merger: cicd.master.202603241800
Updated the value(s) for:
  ti-linux-fw: TI_LINUX_FW_SRCREV
  u-boot-ti-staging_2025.01: SRCREV_uboot
  linux-ti-staging_6.18: SRCREV

Changelogs:
  ti-linux-fw: https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/log/?qt=range&q=aaa3d54aaa9e837834fa6b6dd99e9fefdfcf7949..9e9d50ff563f83db86d36b72cd7fb4f487d6b414
  u-boot-ti-staging_2025.01: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?qt=range&q=ef2eb76b650415637bd93b0eddfb1e31489117f9..7b9dedb046eb6a720997f61582c7b13da1b5b9f0
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=fa0fe817f5ee1b0542f757abaded245c6e5a1321..c164e381f6bc1a72b527f0bf3a6b1fc9af06517f

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-03-24 18:00:45 -05:00
Ryan Eatmon
e00f8d22d8 weston: Update to 15.0.0
oe-core has bumped the version to 15.0.0 [1].  We need to adjust the
bbappend version to % to better match future version changes.

Additionally, the patch needs to be updated to match the weston code
changes.

[1] https://git.openembedded.org/openembedded-core/commit/?id=a1ed6fddd99171536e23d63a5d5b180019d672ad

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-24 16:56:39 -05:00
Ryan Eatmon
36901e8b0f am65xx-evm-k3r5.conf: Fix defconfig for the main build
A copy/paste error set the wrong defconfig for the main build when
setting up the test build flow.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-20 14:21:11 -05:00
Ryan Eatmon
2537d1cce4 check_yocto_rules: Add new exception
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-20 14:21:11 -05:00
Pratham Deshmukh
60d0643b51 conf: machine: am62lxx-evm: Increase max LEB count
The mkfs.ubifs tool was failing with "max_leb_cnt too low (10077 needed)"
error when building tisdk-default-image for am62lxx-evm-rt. Increased
the -c parameter in MKUBIFS_ARGS from 8500 to 12000 to accommodate the
larger filesystem size requirement.

Signed-off-by: Pratham Deshmukh <p-deshmukh@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-20 14:21:11 -05:00
LCPD Automation Script
10a5021d17 CI/CD Auto-Merger: cicd.master.202603191530
Updated the value(s) for:
  ti-linux-fw: TI_LINUX_FW_SRCREV
  atf: SRCREV_tfa:am62lxx
  u-boot-ti-staging_2026.01: SRCREV_uboot
  linux-ti-staging_6.18: SRCREV

Changelogs:
  ti-linux-fw: https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/log/?qt=range&q=a85ebd5c5b216646779b3d34efa09f0a7d818d62..aaa3d54aaa9e837834fa6b6dd99e9fefdfcf7949
  u-boot-ti-staging_2026.01: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?qt=range&q=81a97a3303f8c786014d8644d185a368fba902c5..a46241db71e383bb6dda103ecad12b13e7af3c38
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=d6380d740b3af3be9a9ebbd347b5b0c34cd82e81..fa0fe817f5ee1b0542f757abaded245c6e5a1321

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-03-19 15:30:57 -05:00
Judith Mendez
5aa1c6ef15 meta-beagle: Fix TF-A machine name for badge
BeagleBadge board has been renamed to am62l3-badge
in the new TFA ti-tfa-2.14.y branch [0], so update
recipe TFA_BOARD accordingly.

[0] d203b84539

Signed-off-by: Judith Mendez <jm@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-19 15:24:11 -05:00
Randolph Sapp
9dc647e5b9 k3: set console parameter to KERNEL_CONSOLE
Set the default value of TI_WKS_BOOTLOADER_APPEND to
"console=${KERNEL_CONSOLE}" to populate the kernel cmdline console
variable for all k3 devices.

Also define SERIAL_CONSOLES for am64xx.inc, since it was previously
overriding TI_WKS_BOOTLOADER_APPEND directly for this functionality.

The KERNEL_CONSOLE variable provided by openembedded-core is a sane
default console parameter automatically populated by the first value in
the SERIAL_CONSOLES variable. Their UKI and EFI flows already use this
variable to ensure the kernel cmdline console value is set to something
machine appropriate.

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-19 14:00:25 -05:00
Ryan Eatmon
7eaa6ae23a linux-bb.org_6.12: Backport C23 compile fix from linux-stable
A recent change in oe-core [1] to glibc 2.43 has introduced a build
error with 6.12 kernels.  Backport a patch [2] from linux-stable to
address this.

[1] https://git.openembedded.org/openembedded-core/commit/?id=f791d6c52870f3571e740ff7818d45bb0a717934
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=3dedeeecd1ae42a751721d83dc21877122cc1795

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-18 08:24:01 -05:00
Leon Anavi
204dbf803b u-boot-bb.org: Add a tick-timer for PocketBeagle
Add a chosen tick-timer in version 2025.10 to boot on PocketBeagle.

Fixes:

CPU  : AM335X-GP rev 2.1
Model: TI AM335x PocketBeagle
DRAM:  512 MiB
Core:  155 devices, 16 uclasses, devicetree: separate
Could not initialize timer (err -19)

The patch is based on the following related discussions:

- arm: dts: am335x-*-u-boot: Add chosen tick-timer
https://lists.denx.de/pipermail/u-boot/2026-January/608684.html

- pocketbeagle stuck in boot loop with timer error
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269124

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-18 08:24:01 -05:00
Judith Mendez
ee4b9d9053 conf: machine: am62-lp: Package ECAP Capture overlay
Package k3-am62x-sk-ecap-capture.dtbo for AM62 LP SK to
enable ECAP in capture mode.

Signed-off-by: Judith Mendez <jm@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-18 08:24:01 -05:00
Judith Mendez
237d409aaf conf: machine: am62a: Fix overlays in KERNEL_DEVICETREE_PREFIX
There have been changes in k3-am62x* overlays due to conflicts
in DT, so update KERNEL_DEVICETREE_PREFIX for AM62A SK appropriately.

Signed-off-by: Judith Mendez <jm@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-18 08:24:01 -05:00
Mahammed Sadik Shaik
df378fdf63 ti-extras: Update SRCREV for Jailhouse
Update SRCREV for Jailhouse-enabled U-Boot and Linux kernel
and ti-jailhouse for the bsp-ti-6_18

Changes include:
- u-boot/ti-extras.inc: Update to latest SRCREV
- linux/ti-extras.inc: Update to latest SRCREV
- linux/ti-extras-rt.inc: Update to latest SRCREV
- jailhouse/ti-jailhouse: Update to latest SRCREV

Signed-off-by: Mahammed Sadik Shaik <s-sadik@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-18 08:24:01 -05:00
Ryan Eatmon
732327f153 layer.conf: Update the layers to support wrynose
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-18 08:24:01 -05:00
32 changed files with 598 additions and 78 deletions

View File

@@ -19,7 +19,8 @@
"meta-ti-bsp/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend",
"meta-ti-bsp/recipes-security/optee/optee-%.bbappend",
"meta-ti-bsp/dynamic-layers/openembedded-layer/recipes-bsp/u-boot/u-boot-ti-%.bbappend",
"meta-ti-bsp/dynamic-layers/openembedded-layer/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bbappend"
"meta-ti-bsp/dynamic-layers/openembedded-layer/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bbappend",
"meta-ti-bsp/dynamic-layers/tpm-layer/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bbappend"
]
},
"GUARD-2" : {

View File

@@ -8,7 +8,7 @@ BBFILE_COLLECTIONS += "meta-beagle"
BBFILE_PATTERN_meta-beagle := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-beagle = "6"
LAYERSERIES_COMPAT_meta-beagle = "whinlatter"
LAYERSERIES_COMPAT_meta-beagle = "whinlatter wrynose"
LAYERDEPENDS_meta-beagle = " \
meta-ti-bsp \

View File

@@ -18,4 +18,4 @@ KERNEL_DEVICETREE = ""
UBOOT_MACHINE = "am62lx_badge_defconfig"
TFA_BOARD = "am62l-badge"
TFA_BOARD = "am62l3-badge"

View File

@@ -0,0 +1,28 @@
From 55ee5fecd68d0858ba6743137162252adedf2f72 Mon Sep 17 00:00:00 2001
From: Leon Anavi <leon.anavi@konsulko.com>
Date: Mon, 16 Mar 2026 18:34:58 +0000
Subject: [PATCH] arm: dts: am335x-pocketbeagle: Add tick-timer
Add a binding for the tick-timer for PocketBeagle.
Upstream-Status: Pending [https://lists.denx.de/pipermail/u-boot/2026-January/608684.html]
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
arch/arm/dts/am335x-pocketbeagle.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/dts/am335x-pocketbeagle.dts b/arch/arm/dts/am335x-pocketbeagle.dts
index b379e3a5570..02e3aac5606 100644
--- a/arch/arm/dts/am335x-pocketbeagle.dts
+++ b/arch/arm/dts/am335x-pocketbeagle.dts
@@ -15,6 +15,7 @@
chosen {
stdout-path = &uart0;
+ tick-timer = &timer2;
};
leds {
--
2.53.0

View File

@@ -17,3 +17,4 @@ SRCREV:pocketbeagle2 = "4e0b6294a1185029d34eff6ed91f3ad1734b643f"
SRCREV:pocketbeagle2-k3r5 = "4e0b6294a1185029d34eff6ed91f3ad1734b643f"
SRC_URI:append:pocketbeagle2 = " file://bootcmd-ti-mmc.cfg"
SRC_URI:append:beaglebone = " file://0001-arm-dts-am335x-pocketbeagle-Add-tick-timer.patch"

View File

@@ -0,0 +1,60 @@
From 3dedeeecd1ae42a751721d83dc21877122cc1795 Mon Sep 17 00:00:00 2001
From: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
Date: Sat, 6 Dec 2025 14:28:25 +0500
Subject: libbpf: Fix -Wdiscarded-qualifiers under C23
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
commit d70f79fef65810faf64dbae1f3a1b5623cdb2345 upstream.
glibc ≥ 2.42 (GCC 15) defaults to -std=gnu23, which promotes
-Wdiscarded-qualifiers to an error.
In C23, strstr() and strchr() return "const char *".
Change variable types to const char * where the pointers are never
modified (res, sym_sfx, next_path).
Suggested-by: Florian Weimer <fweimer@redhat.com>
Suggested-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
Link: https://lore.kernel.org/r/20251206092825.1471385-1-mikhail.v.gavrilov@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
[ shung-hsi.yu: needed to fix kernel build failure due to libbpf since glibc
2.43+ (which adds 'const' qualifier to strstr). 'sym_sfx' hunk dropped because
commit f8a05692de06 ("libbpf: Work around kernel inconsistently stripping
'.llvm.' suffix") is not present. ]
Signed-off-by: Shung-Hsi Yu <shung-hsi.yu@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Upstream-Status: Backport
---
tools/lib/bpf/libbpf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index 060aecf60b76b1..7d496f0a9a30d1 100644
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@ -8174,7 +8174,7 @@ static int kallsyms_cb(unsigned long long sym_addr, char sym_type,
struct bpf_object *obj = ctx;
const struct btf_type *t;
struct extern_desc *ext;
- char *res;
+ const char *res;
res = strstr(sym_name, ".llvm.");
if (sym_type == 'd' && res)
@@ -11959,7 +11959,7 @@ static int resolve_full_path(const char *file, char *result, size_t result_sz)
if (!search_paths[i])
continue;
for (s = search_paths[i]; s != NULL; s = strchr(s, ':')) {
- char *next_path;
+ const char *next_path;
int seg_len;
if (s[0] == ':')
--
cgit 1.2.3-korg

View File

@@ -65,3 +65,5 @@ PV:aarch64 = "6.12.43+git"
BRANCH:aarch64 = "v6.12.43-ti-arm64-r54"
KERNEL_GIT_URI = "git://github.com/beagleboard/linux.git"
SRC_URI += "file://0001-libbpf-Fix-Wdiscarded-qualifiers-under-C23.patch"

View File

@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "meta-ti-bsp"
BBFILE_PATTERN_meta-ti-bsp := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-ti-bsp = "6"
LAYERSERIES_COMPAT_meta-ti-bsp = "whinlatter"
LAYERSERIES_COMPAT_meta-ti-bsp = "whinlatter wrynose"
LICENSE_PATH += "${LAYERDIR}/licenses"
@@ -20,10 +20,13 @@ LAYERDEPENDS_meta-ti-bsp = " \
LAYERRECOMMENDS_meta-ti-bsp = " \
openembedded-layer \
tpm-layer \
"
BBFILES_DYNAMIC += " \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes*/*/*.bbappend \
tpm-layer:${LAYERDIR}/dynamic-layers/tpm-layer/recipes*/*/*.bb \
tpm-layer:${LAYERDIR}/dynamic-layers/tpm-layer/recipes*/*/*.bbappend \
"
SIGGEN_EXCLUDERECIPES_ABISAFE += " \

View File

@@ -6,7 +6,13 @@ require conf/machine/include/am62axx.inc
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62a7 \
ti/k3-am62x-sk \
ti/k3-am62x-sk-csi2 \
ti/k3-am62x-sk-ecap-capture \
ti/k3-am62x-sk-eqep \
ti/k3-am62x-sk-hdmi \
ti/k3-am62x-sk-lpm \
ti/k3-am62x-sk-mcspi-loopback \
ti/k3-am62x-sk-pwm \
ti/k3-fpdlink \
ti/k3-v3link \
"

View File

@@ -6,7 +6,7 @@ require conf/machine/include/am62lxx.inc
IMAGE_FSTYPES += "ubifs ubi"
MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 8500"
MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 12000"
UBINIZE_ARGS ?= "-m 4096 -p 256KiB -s 1024 -O 1024"
@@ -17,3 +17,10 @@ KERNEL_DEVICETREE_PREFIX = " \
KERNEL_DEVICETREE = ""
UBOOT_MACHINE = "am62lx_evm_defconfig"
FIT_CONF_DEFAULT_DTB = "k3-am62l3-evm.dtb"
UBOOT_LOADADDRESS = "0x82400000"
UBOOT_ENTRYPOINT = "0x82400000"
UBOOT_RD_LOADADDRESS = "0x84000000"
UBOOT_RD_ENTRYPOINT = "0x84000000"
UBOOT_DTB_LOADADDRESS = "0x84f00000"
UBOOT_DTBO_LOADADDRESS = "0x84f80000"

View File

@@ -8,6 +8,7 @@ KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62-lp \
ti/k3-am625-sk \
ti/k3-am62x-sk-dmtimer-pwm \
ti/k3-am62x-sk-ecap-capture \
ti/k3-am62x-sk-eqep \
ti/k3-am62x-sk-hdmi \
ti/k3-am62x-sk-lpm \

View File

@@ -9,5 +9,5 @@ UBOOT_MACHINE:tie-test-builds = ""
UBOOT_CONFIG = ""
UBOOT_CONFIG:prepend:tie-test-builds = "usbdfu main"
UBOOT_CONFIG[main] = "am62x_evm_r5_defconfig"
UBOOT_CONFIG[main] = "am65x_evm_r5_defconfig"
UBOOT_CONFIG[usbdfu] = "am65x_evm_r5_usbdfu_defconfig"

View File

@@ -30,4 +30,4 @@ OPTEEMACHINE = "k3-am64x"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "prueth-fw pruhsr-fw prusw-fw pruprp-fw"
TI_WKS_BOOTLOADER_APPEND = "console=ttyS2,115200n8"
SERIAL_CONSOLES = "115200;ttyS2"

View File

@@ -51,7 +51,7 @@ MACHINE_FEATURES += "efi"
WKS_FILE ?= "${@bb.utils.contains("MACHINE_FEATURES", "efi", "sdimage-2part-efi.wks.in", "sdimage-2part.wks", d)}"
TI_WKS_BOOTLOADER_APPEND ?= ""
TI_WKS_BOOTLOADER_APPEND ?= "console=${KERNEL_CONSOLE}"
do_image_wic[depends] += "virtual/bootloader:do_deploy"

View File

@@ -5,7 +5,7 @@
# TI_CORE_INITRAMFS_ENABLED = "0"
#
#------------------------------------------------------------------------------
TI_CORE_INITRAMFS_ENABLED ?= "${@ '1' if d.getVar('TI_CORE_INITRAMFS_KERNEL_MODULES') or d.getVar('TI_CORE_INITRAMFS_EXTRA_INSTALL') else '0'}"
TI_CORE_INITRAMFS_ENABLED ?= "${@ '1' if d.getVar('TI_CORE_INITRAMFS_KERNEL_MODULES') or d.getVar('TI_CORE_INITRAMFS_EXTRA_INSTALL') or bb.utils.contains('DISTRO_FEATURES', 'luks', True, False, d) else '0'}"
TI_CORE_INITRAMFS_KERNEL_MODULES ?= ""
TI_CORE_INITRAMFS_EXTRA_INSTALL ?= ""

View File

@@ -0,0 +1,341 @@
#!/bin/sh
# initramfs-framework module for LUKS encryption with fTPM support
# Configuration
BOOT_DEV="/dev/mmcblk1p1" # Boot partition (FAT, unencrypted)
ROOT_DEV="/dev/mmcblk1p2" # Root partition (will be encrypted)
CRYPT_NAME="root_crypt"
CRYPT_DEV="/dev/mapper/${CRYPT_NAME}"
BOOT_MNT="/boot_part"
TPM_PRIMARY_CTX="/tmp/tpm_primary.ctx"
TPM_KEY_PRIV="/tmp/tpm_key.priv"
TPM_KEY_PUB="/tmp/tpm_key.pub"
TPM_KEY_CTX="/tmp/tpm_key.ctx"
TPM2_HANDLE="0x81080001" # TPM persistent handle for LUKS key
ENCRYPTION_MARKER="${BOOT_MNT}/.encryption_in_progress"
# Wait for MMC device to appear
wait_for_device() {
local device="$1"
local timeout="${2:-10}"
msg "Waiting for storage device ${device}..."
for i in $(seq 1 ${timeout}); do
if [ -b "${device}" ]; then
return 0
fi
sleep 1
done
return 1
}
# Initialize fTPM and check availability
init_ftpm() {
msg "Initializing secure hardware (fTPM)..."
# Start TEE supplicant (required for fTPM TA to work)
if [ -x /usr/sbin/tee-supplicant ]; then
/usr/sbin/tee-supplicant -d &
TEE_SUPPLICANT_PID=$!
sleep 5
else
info "Warning: Trusted execution environment not available"
return 1
fi
# Load fTPM kernel module
if ! /sbin/modprobe tpm_ftpm_tee; then
info "Warning: TPM module failed to load"
return 1
fi
# Wait for TPM device
for i in $(seq 1 10); do
if [ -c /dev/tpmrm0 ]; then
export TPM2TOOLS_TCTI="device:/dev/tpmrm0"
return 0
fi
sleep 1
done
info "Warning: fTPM not available - encryption will be skipped"
return 1
}
# Generate 32-byte random key using TPM RNG
generate_random_key() {
/usr/bin/tpm2_getrandom --hex 32
}
# Seal data with TPM and store in persistent handle
tpm_seal_key() {
local KEY_DATA="$1"
# Create primary key in owner hierarchy
/usr/bin/tpm2_createprimary -C o -c "${TPM_PRIMARY_CTX}" -Q || return 1
# Create sealed object
echo -n "${KEY_DATA}" | \
/usr/bin/tpm2_create -C "${TPM_PRIMARY_CTX}" \
-u "${TPM_KEY_PUB}" -r "${TPM_KEY_PRIV}" \
-i- -Q || return 1
# Load sealed object into TPM
/usr/bin/tpm2_load -C "${TPM_PRIMARY_CTX}" \
-u "${TPM_KEY_PUB}" -r "${TPM_KEY_PRIV}" \
-c "${TPM_KEY_CTX}" -Q || return 1
# Make key persistent at handle (stored in TPM NV RAM - RPMB)
/usr/bin/tpm2_evictcontrol -C o -c "${TPM_KEY_CTX}" "${TPM2_HANDLE}" || return 1
return 0
}
# Unseal data from TPM persistent handle
tpm_unseal_key() {
# Check if persistent handle exists
if ! /usr/bin/tpm2_getcap handles-persistent | grep -q "${TPM2_HANDLE}"; then
debug "ERROR: TPM persistent handle not found"
return 1
fi
# Unseal key directly from persistent handle
/usr/bin/tpm2_unseal -c "${TPM2_HANDLE}" || return 1
return 0
}
# Perform in-place LUKS encryption (first boot)
encrypt_root_filesystem() {
msg "=========================================="
msg "First boot: Encrypting root filesystem"
msg "=========================================="
# Set marker to track encryption progress
touch "${ENCRYPTION_MARKER}"
sync
# Generate random encryption key using TPM RNG
msg "Generating encryption key..."
LUKS_KEY=$(generate_random_key)
if [ -z "${LUKS_KEY}" ]; then
msg "ERROR: Failed to generate encryption key"
rm -f "${ENCRYPTION_MARKER}"
return 1
fi
# Seal key with TPM before encryption starts
msg "Securing key with TPM..."
if ! tpm_seal_key "${LUKS_KEY}"; then
msg "ERROR: Failed to secure key"
rm -f "${ENCRYPTION_MARKER}"
return 1
fi
# Filesystem check before encryption
msg "Checking filesystem integrity..."
/usr/sbin/e2fsck -f -y "${ROOT_DEV}"
E2FSCK_RET=$?
if [ ${E2FSCK_RET} -ge 4 ]; then
msg "ERROR: Filesystem check failed"
rm -f "${ENCRYPTION_MARKER}"
return 1
fi
# Shrink filesystem before encryption to leave room for LUKS header
msg "Preparing filesystem for encryption..."
/usr/sbin/resize2fs -M "${ROOT_DEV}" || {
msg "ERROR: Failed to prepare filesystem"
rm -f "${ENCRYPTION_MARKER}"
return 1
}
# Verify partition has sufficient space for LUKS header
msg "Verifying space for encryption..."
MIN_BLOCKS=$(/usr/sbin/resize2fs -P "${ROOT_DEV}" 2>&1 | awk '/[Mm]inimum.*:/ {print $NF}')
# Get filesystem block size and device size
BLOCK_SIZE=$(/usr/sbin/tune2fs -l "${ROOT_DEV}" 2>/dev/null | awk '/^Block size:/ {print $NF}')
DEV_NAME=$(basename "${ROOT_DEV}")
PART_SECTORS=$(cat /sys/class/block/"${DEV_NAME}"/size 2>/dev/null)
if [ -z "${MIN_BLOCKS}" ] || [ -z "${BLOCK_SIZE}" ] || [ -z "${PART_SECTORS}" ]; then
msg "ERROR: Unable to determine partition geometry"
rm -f "${ENCRYPTION_MARKER}"
return 1
fi
# Convert filesystem blocks to 512-byte sectors
MIN_SECTORS=$((MIN_BLOCKS * BLOCK_SIZE / 512))
LUKS_SECTORS=65536 # 32MB in 512-byte sectors
if [ $((PART_SECTORS - MIN_SECTORS)) -lt ${LUKS_SECTORS} ]; then
msg "ERROR: Insufficient space for LUKS header (need 32MB free)"
rm -f "${ENCRYPTION_MARKER}"
return 1
fi
# Perform in-place encryption
msg "=========================================="
msg "Encrypting filesystem..."
msg "This will take several minutes."
msg "DO NOT POWER OFF THE DEVICE!"
msg "=========================================="
echo -n "${LUKS_KEY}" | \
/usr/sbin/cryptsetup reencrypt --encrypt \
--type luks2 \
--cipher aes-xts-plain64 \
--key-size 256 \
--hash sha256 \
--reduce-device-size 32M \
--key-file - \
"${ROOT_DEV}" || {
msg "ERROR: Encryption failed"
rm -f "${ENCRYPTION_MARKER}"
return 1
}
msg "=========================================="
msg "Encryption completed successfully!"
msg "=========================================="
# Remove encryption marker
rm -f "${ENCRYPTION_MARKER}"
sync
# Unlock the newly encrypted device
msg "Activating encrypted filesystem..."
echo -n "${LUKS_KEY}" | \
/usr/sbin/cryptsetup luksOpen "${ROOT_DEV}" "${CRYPT_NAME}" --key-file - || {
msg "ERROR: Failed to activate encrypted filesystem"
return 1
}
# Resize filesystem to fit the encrypted device
msg "Optimizing filesystem..."
/usr/sbin/resize2fs -f "${CRYPT_DEV}" || {
msg "ERROR: Failed to optimize filesystem"
return 1
}
# Verify filesystem after resize
/usr/sbin/e2fsck -f -y "${CRYPT_DEV}" || {
info "WARNING: Filesystem verification had issues, but continuing"
}
return 0
}
# Unlock encrypted root filesystem (subsequent boots)
unlock_encrypted_root() {
msg "Unlocking encrypted filesystem..."
# Unseal key from TPM persistent handle
LUKS_KEY=$(tpm_unseal_key)
if [ -z "${LUKS_KEY}" ]; then
msg "ERROR: Failed to retrieve encryption key from TPM"
msg "Attempting passphrase fallback..."
# Try to unlock with passphrase (interactive)
/usr/sbin/cryptsetup luksOpen "${ROOT_DEV}" "${CRYPT_NAME}" || {
fatal "ERROR: Failed to unlock encrypted filesystem"
}
else
# Unlock with unsealed key
echo -n "${LUKS_KEY}" | \
/usr/sbin/cryptsetup luksOpen "${ROOT_DEV}" "${CRYPT_NAME}" --key-file - || {
fatal "ERROR: Failed to unlock with TPM key"
}
fi
msg "Encrypted filesystem unlocked"
}
# Module enabled check
luksftpm_enabled() {
# Always run this module - it handles both encrypted and unencrypted cases
return 0
}
# Module main function
luksftpm_run() {
# Wait for storage device
if ! wait_for_device "${ROOT_DEV}" 10; then
info "Storage device not found, skipping encryption module"
return 0
fi
# Mount boot partition
msg "Mounting boot partition..."
mkdir -p "${BOOT_MNT}"
if ! mount "${BOOT_DEV}" "${BOOT_MNT}"; then
info "ERROR: Failed to mount boot partition, attempting standard boot..."
mkdir -p ${ROOTFS_DIR}
mount "${ROOT_DEV}" ${ROOTFS_DIR}
return 0
fi
# Initialize fTPM
TPM_AVAILABLE=0
if init_ftpm; then
TPM_AVAILABLE=1
fi
# Check filesystem encryption status
msg "Checking filesystem encryption status..."
MOUNT_DEV="${ROOT_DEV}"
if /usr/sbin/cryptsetup isLuks "${ROOT_DEV}"; then
msg "Filesystem is encrypted"
unlock_encrypted_root
MOUNT_DEV="${CRYPT_DEV}"
else
msg "Filesystem is not encrypted"
# Check if encryption is enabled and TPM is available
if [ $TPM_AVAILABLE -eq 1 ]; then
# Check for encryption marker (resume interrupted encryption)
if [ -f "${ENCRYPTION_MARKER}" ]; then
msg "Resuming interrupted encryption..."
if ! encrypt_root_filesystem; then
msg "ERROR: Failed to resume encryption"
msg "Booting without encryption..."
MOUNT_DEV="${ROOT_DEV}"
else
MOUNT_DEV="${CRYPT_DEV}"
fi
else
# First boot - perform encryption
if encrypt_root_filesystem; then
MOUNT_DEV="${CRYPT_DEV}"
else
msg "ERROR: Encryption failed - booting without encryption"
MOUNT_DEV="${ROOT_DEV}"
fi
fi
else
msg "TPM not available - skipping encryption"
MOUNT_DEV="${ROOT_DEV}"
fi
fi
# Unmount boot partition before switching root
umount "${BOOT_MNT}"
# Mount root filesystem to $ROOTFS_DIR (framework expects this)
msg "Mounting root filesystem..."
mkdir -p ${ROOTFS_DIR}
mount "${MOUNT_DEV}" ${ROOTFS_DIR} || {
fatal "ERROR: Failed to mount root filesystem!"
}
# Clean up tmpfs and sensitive variables
rm -f "${TPM_PRIMARY_CTX}" "${TPM_KEY_PUB}" "${TPM_KEY_PRIV}" "${TPM_KEY_CTX}"
unset LUKS_KEY TPM_AVAILABLE MOUNT_DEV TEE_SUPPLICANT_PID
msg "Boot complete"
}

View File

@@ -0,0 +1,43 @@
SUMMARY = "initramfs support for LUKS encryption with fTPM"
DESCRIPTION = "Provides LUKS2 full disk encryption using firmware TPM (fTPM) for key management on TI K3 platforms"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
# Only build for platforms with optee-ftpm support
COMPATIBLE_MACHINE = "null"
COMPATIBLE_MACHINE:k3 = "${@bb.utils.contains('MACHINE_FEATURES', 'optee-ftpm', '.*', 'null', d)}"
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI = "file://luksftpm"
S = "${UNPACKDIR}"
do_install() {
install -d ${D}/init.d
# Install as 85-luksftpm (runs after udev at 01, before rootfs at 90)
install -m 0755 ${UNPACKDIR}/luksftpm ${D}/init.d/85-luksftpm
}
FILES:${PN} = "/init.d/85-luksftpm"
# Runtime dependencies
RDEPENDS:${PN} = "\
initramfs-framework-base \
busybox \
kmod \
cryptsetup \
tpm2-tools \
tpm2-tss \
libtss2-tcti-device \
optee-client \
optee-ftpm \
e2fsprogs-e2fsck \
e2fsprogs-resize2fs \
e2fsprogs-tune2fs \
util-linux-blkid \
kernel-module-tpm-ftpm-tee \
"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -0,0 +1,3 @@
LUKS_ENCRYPTION ?= "${@bb.utils.contains('MACHINE_FEATURES', 'optee-ftpm', 'initramfs-module-luks-ftpm', '', d)}"
RDEPENDS:${PN}:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'luks', '${LUKS_ENCRYPTION}', '', d)}"

View File

@@ -0,0 +1 @@
INITRAMFS_MAXSIZE = "200000"

View File

@@ -21,7 +21,7 @@ TI_PKA_FW_VERSION = "2.1.0"
TI_IPC_EXAMPLES_FW_VERSION = "3.52.00.01"
PCM6240_FW_VERSION = "1.0.0.0"
TI_LINUX_FW_SRCREV ?= "a85ebd5c5b216646779b3d34efa09f0a7d818d62"
TI_LINUX_FW_SRCREV ?= "9e9d50ff563f83db86d36b72cd7fb4f487d6b414"
SRCREV = "${TI_LINUX_FW_SRCREV}"
BRANCH ?= "ti-linux-firmware"

View File

@@ -10,7 +10,7 @@ SRC_URI_TRUSTED_FIRMWARE_A = "git://git.trustedfirmware.org/TF-A/trusted-firmwar
SRCBRANCH = "master"
LIC_FILES_CHKSUM:am62lxx = "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e"
SRCREV_tfa:am62lxx = "8e4153d49c98ce5309b41b33e1d3da709d17afa4"
SRCREV_tfa:am62lxx = "d203b8453905178252094416448de009931087e0"
SRC_URI_TRUSTED_FIRMWARE_A:am62lxx = "git://github.com/TexasInstruments/arm-trusted-firmware.git;protocol=https"
SRCBRANCH:am62lxx = "ti-tfa-2.14.y"

View File

@@ -7,6 +7,6 @@ BRANCH:tie-jailhouse:bsp-ti-6_12 = "ti-u-boot-2025.01-jailhouse"
BRANCH:tie-jailhouse:bsp-ti-6_18 = "ti-u-boot-2026.01-jailhouse"
SRCREV_uboot:tie-jailhouse:bsp-ti-6_12 = "e718bbcec3ebf663c021839753034a224be4cc53"
SRCREV_uboot:tie-jailhouse:bsp-ti-6_18 = "257704a4a690f221064e0210028e8986a4b4ccae"
SRCREV_uboot:tie-jailhouse:bsp-ti-6_18 = "53a287d24610f0747ae4e35cff2afa3af23a48e3"
UBOOT_GIT_URI:tie-jailhouse = "git://git.ti.com/git/processor-sdk/u-boot.git"

View File

@@ -4,6 +4,6 @@ PR = "r0"
BRANCH = "ti-u-boot-2025.01"
SRCREV_uboot = "ef2eb76b650415637bd93b0eddfb1e31489117f9"
SRCREV_uboot = "7b9dedb046eb6a720997f61582c7b13da1b5b9f0"
SRC_URI += "file://0001-binman-migrate-form-pkg_resources-to-importlib.patch"

View File

@@ -4,4 +4,4 @@ PR = "r0"
BRANCH = "ti-u-boot-2026.01"
SRCREV_uboot = "81a97a3303f8c786014d8644d185a368fba902c5"
SRCREV_uboot = "2549829cc194ffd9e38b755d2e10c7fc4cd971eb"

View File

@@ -1,6 +1,6 @@
From 5a05e5b66dd3831a9c9c2b3f64bd42419d9ade2d Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denys@konsulko.com>
Date: Thu, 6 Jul 2023 01:48:41 +0000
From 3cddacaa9ea3cfd75732ea9a84312fa68e0bfda7 Mon Sep 17 00:00:00 2001
From: Ryan Eatmon <reatmon@ti.com>
Date: Tue, 24 Mar 2026 10:52:59 -0500
Subject: [PATCH] Revert require GL_EXT_unpack_subimage commit
This reverts commit 593d5af43a8e2c2a3371088fa7ae430d0517c82d.
@@ -13,83 +13,76 @@ Upstream-Status: Inappropriate [specific to TI SGX]
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
libweston/renderer-gl/gl-renderer-internal.h | 2 ++
libweston/renderer-gl/gl-renderer.c | 29 ++++++++++++++++----
2 files changed, 26 insertions(+), 5 deletions(-)
libweston/renderer-gl/gl-renderer.c | 26 ++++++++++++++++----
2 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/libweston/renderer-gl/gl-renderer-internal.h b/libweston/renderer-gl/gl-renderer-internal.h
index 5032035..85616c9 100644
index 1afffbda..dbf7b1c3 100644
--- a/libweston/renderer-gl/gl-renderer-internal.h
+++ b/libweston/renderer-gl/gl-renderer-internal.h
@@ -229,6 +229,8 @@ struct gl_renderer {
PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC create_platform_window;
bool has_platform_base;
+ bool has_unpack_subimage;
@@ -526,6 +526,8 @@ struct gl_renderer {
struct weston_log_scope *shader_scope;
struct dmabuf_allocator *allocator;
+
PFNEGLBINDWAYLANDDISPLAYWL bind_display;
PFNEGLUNBINDWAYLANDDISPLAYWL unbind_display;
PFNEGLQUERYWAYLANDBUFFERWL query_buffer;
+ bool has_unpack_subimage;
};
static inline uint32_t
diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
index e694418b..2be6d621 100644
index 45a2a148..8b238208 100644
--- a/libweston/renderer-gl/gl-renderer.c
+++ b/libweston/renderer-gl/gl-renderer.c
@@ -2523,6 +2523,7 @@ gl_renderer_flush_damage(struct weston_paint_node *pnode)
struct weston_surface *surface = pnode->surface;
const struct weston_testsuite_quirks *quirks =
&surface->compositor->test_data.test_quirks;
+ struct gl_renderer *gr = get_renderer(surface->compositor);
struct weston_buffer *buffer = surface->buffer_ref.buffer;
struct gl_surface_state *gs = get_surface_state(surface);
struct gl_buffer_state *gb = gs->buffer;
@@ -2550,6 +2551,24 @@ gl_renderer_flush_damage(struct weston_paint_node *pnode)
data = wl_shm_buffer_get_data(buffer->shm_buffer);
@@ -3021,6 +3021,22 @@ gl_renderer_flush_damage(struct weston_paint_node *pnode)
data = wl_shm_buffer_get_data(buffer->shm_buffer);
+ if (!gr->has_unpack_subimage) {
+ wl_shm_buffer_begin_access(buffer->shm_buffer);
+ for (j = 0; j < gs->buffer->num_textures; j++) {
+ glBindTexture(GL_TEXTURE_2D, gs->buffer->textures[j]);
+ glTexImage2D(GL_TEXTURE_2D, 0,
+ gs->buffer->gl_format[j],
+ gs->buffer->pitch / pixel_format_hsub(buffer->pixel_format, j),
+ buffer->height / pixel_format_vsub(buffer->pixel_format, j),
+ 0,
+ gl_format_from_internal(gs->buffer->gl_format[j]),
+ gs->buffer->gl_pixel_type,
+ data + gs->buffer->offset[j]);
+ for (j = 0; j < gb->num_textures; j++) {
+ glBindTexture(GL_TEXTURE_2D, gb->textures[j]);
+ gl_texture_2d_store(gr, 0, 0, 0,
+ gb->pitch / pixel_format_hsub(buffer->pixel_format, j),
+ buffer->height / pixel_format_vsub(buffer->pixel_format, j),
+ gb->texture_format[j].external,
+ gb->texture_format[j].type,
+ data + gb->offset[j]);
+ }
+ wl_shm_buffer_end_access(buffer->shm_buffer);
+
+ goto done;
+ }
+
if (gb->needs_full_upload || quirks->gl_force_full_upload) {
wl_shm_buffer_begin_access(buffer->shm_buffer);
@@ -4754,11 +4773,9 @@ gl_renderer_setup(struct weston_compositor *ec)
else
ec->read_format = pixel_format_get_info(DRM_FORMAT_ABGR8888);
- if (gr->gl_version < gr_gl_version(3, 0) &&
- !weston_check_egl_extension(extensions, "GL_EXT_unpack_subimage")) {
if (gb->needs_full_upload || quirks->force_full_upload) {
wl_shm_buffer_begin_access(buffer->shm_buffer);
@@ -5171,11 +5187,9 @@ gl_renderer_setup(struct weston_compositor *ec)
else
ec->read_format = pixel_format_get_info(DRM_FORMAT_ABGR8888);
- if (gr->gl_version < gl_version(3, 0) &&
- !gl_extensions_has(gr, EXTENSION_EXT_UNPACK_SUBIMAGE)) {
- weston_log("GL_EXT_unpack_subimage not available.\n");
- return -1;
- }
+ if (gr->gl_version >= gr_gl_version(3, 0) ||
+ if (gr->gl_version >= gl_version(3, 0) ||
+ weston_check_egl_extension(extensions, "GL_EXT_unpack_subimage"))
+ gr->has_unpack_subimage = true;
if (gr->gl_version >= gr_gl_version(3, 0) ||
weston_check_egl_extension(extensions, "GL_EXT_texture_type_2_10_10_10_REV"))
@@ -4880,6 +4897,8 @@ gl_renderer_setup(struct weston_compositor *ec)
gr_gl_version_minor(gr->gl_version));
weston_log_continue(STAMP_SPACE "read-back format: %s\n",
ec->read_format->drm_format_name);
if (gl_extensions_has(gr, EXTENSION_OES_MAPBUFFER))
GET_PROC_ADDRESS(gr->unmap_buffer, "glUnmapBufferOES");
@@ -5303,6 +5317,8 @@ gl_renderer_setup(struct weston_compositor *ec)
gl_version_minor(gr->gl_version));
weston_log_continue(STAMP_SPACE "read-back format: %s\n",
ec->read_format->drm_format_name);
+ weston_log_continue(STAMP_SPACE "wl_shm sub-image to texture: %s\n",
+ gr->has_unpack_subimage ? "yes" : "no");
weston_log_continue(STAMP_SPACE "glReadPixels supports y-flip: %s\n",
yesno(gr->has_pack_reverse));
weston_log_continue(STAMP_SPACE "glReadPixels supports PBO: %s\n",
weston_log_continue(STAMP_SPACE "glReadPixels supports y-flip: %s\n",
yesno(gl_extensions_has(gr, EXTENSION_ANGLE_PACK_REVERSE_ROW_ORDER)));
weston_log_continue(STAMP_SPACE "glReadPixels supports PBO: %s\n",
--
2.43.0

View File

@@ -0,0 +1,22 @@
# Device Mapper support
CONFIG_MD=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
# Core crypto algorithms for LUKS encryption
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
# ARM64 optimized crypto for better performance
CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_ARM64_CE=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
# Userspace crypto API for cryptsetup
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
# Firmware TPM support via OP-TEE
CONFIG_TCG_FTPM_TEE=m

View File

@@ -22,7 +22,7 @@ S = "${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}"
BRANCH ?= "ti-linux-6.18.y"
SRCREV ?= "d6380d740b3af3be9a9ebbd347b5b0c34cd82e81"
SRCREV ?= "c214492085504176b9c252a7175e4e60b4b442af"
PV = "6.18.13+git"
KERNEL_REPRODUCIBILITY_PATCHES = " \
@@ -35,3 +35,11 @@ module_conf_rpmsg_client_sample = "blacklist rpmsg_client_sample"
module_conf_ti_k3_r5_remoteproc = "softdep ti_k3_r5_remoteproc pre: virtio_rpmsg_bus"
module_conf_ti_k3_dsp_remoteproc = "softdep ti_k3_dsp_remoteproc pre: virtio_rpmsg_bus"
KERNEL_MODULE_PROBECONF += "rpmsg_client_sample ti_k3_r5_remoteproc ti_k3_dsp_remoteproc"
# LUKS encryption with fTPM kernel configuration
SRC_URI:append:k3 = " \
${@bb.utils.contains('DISTRO_FEATURES', 'luks', 'file://luks-ftpm.cfg', '', d)} \
"
KERNEL_CONFIG_FRAGMENTS:append:k3 = " \
${@bb.utils.contains('DISTRO_FEATURES', 'luks', '${UNPACKDIR}/luks-ftpm.cfg', '', d)} \
"

View File

@@ -5,4 +5,4 @@ BRANCH:tie-jailhouse:bsp-ti-6_12 = "ti-linux-6.12.y-jailhouse"
BRANCH:tie-jailhouse:bsp-ti-6_18 = "ti-linux-6.18.y-jailhouse"
SRCREV:tie-jailhouse:bsp-ti-6_12 = "229a48602ad1557612a4ffabec6a3cbcdd745f87"
SRCREV:tie-jailhouse:bsp-ti-6_18 = "e9ebc825175636714e0ffa113133ef03879748df"
SRCREV:tie-jailhouse:bsp-ti-6_18 = "b27ed9ea7bdad936265fe38c6e112d86743fd379"

View File

@@ -9,6 +9,6 @@ BRANCH:tie-jailhouse:bsp-ti-6_12 = "ti-linux-6.12.y-jailhouse"
BRANCH:tie-jailhouse:bsp-ti-6_18 = "ti-linux-6.18.y-jailhouse"
SRCREV:tie-jailhouse:bsp-ti-6_12 = "229a48602ad1557612a4ffabec6a3cbcdd745f87"
SRCREV:tie-jailhouse:bsp-ti-6_18 = "e9ebc825175636714e0ffa113133ef03879748df"
SRCREV:tie-jailhouse:bsp-ti-6_18 = "b27ed9ea7bdad936265fe38c6e112d86743fd379"
KERNEL_GIT_URI:tie-jailhouse = "git://git.ti.com/git/processor-sdk/linux.git"

View File

@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "meta-ti-extras"
BBFILE_PATTERN_meta-ti-extras := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-ti-extras = "6"
LAYERSERIES_COMPAT_meta-ti-extras = "whinlatter"
LAYERSERIES_COMPAT_meta-ti-extras = "whinlatter wrynose"
LICENSE_PATH += "${LAYERDIR}/licenses"

View File

@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = " \
COMPATIBLE_MACHINE = "am62xx|am62pxx|am62lxx"
TARGET_CC_ARCH += "${LDFLAGS}"
PV = "0.12+git"
SRCREV = "ef512f9591febed854d8f07ad8c1fa731c2d3c69"
SRCREV = "b44c3548252bb3818b0dd0815728ca210d8fac2b"
BRANCH = "master"
SRC_URI = " \
git://git.ti.com/git/jailhouse/ti-jailhouse.git;protocol=https;branch=${BRANCH} \