mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-04-18 02:29:32 +00:00
Compare commits
46 Commits
cicd.maste
...
master-wip
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
449d630a76 | ||
|
|
cea62170c8 | ||
|
|
f3081d9c34 | ||
|
|
27615406ab | ||
|
|
1a17ddb163 | ||
|
|
00102868ec | ||
|
|
705e9d2bb0 | ||
|
|
f342599208 | ||
|
|
3db8ddf7f8 | ||
|
|
7640ce6a58 | ||
|
|
764817c28e | ||
|
|
bd0e3d7ba5 | ||
|
|
6f205ef079 | ||
|
|
4c4f4b495d | ||
|
|
ed4c7f9ead | ||
|
|
e00f8d22d8 | ||
|
|
36901e8b0f | ||
|
|
2537d1cce4 | ||
|
|
60d0643b51 | ||
|
|
10a5021d17 | ||
|
|
5aa1c6ef15 | ||
|
|
9dc647e5b9 | ||
|
|
7eaa6ae23a | ||
|
|
204dbf803b | ||
|
|
ee4b9d9053 | ||
|
|
237d409aaf | ||
|
|
df378fdf63 | ||
|
|
732327f153 | ||
|
|
81cd032c09 | ||
|
|
88a85e8148 | ||
|
|
b92d66ad10 | ||
|
|
a77f6ead75 | ||
|
|
c4f9ff1eff | ||
|
|
8eaa5cace4 | ||
|
|
dbedef732f | ||
|
|
6d51093a81 | ||
|
|
9c336bc837 | ||
|
|
db4353bc7e | ||
|
|
acea5fac41 | ||
|
|
bf93262beb | ||
|
|
de85a85c0c | ||
|
|
563ffd7ea2 | ||
|
|
92c2198288 | ||
|
|
59af86a220 | ||
|
|
cb50cbab2f | ||
|
|
87f5d17fd0 |
@@ -19,7 +19,9 @@
|
||||
"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",
|
||||
"meta-ti-bsp/dynamic-layers/tpm-layer/recipes-ti/initramfs/ti-core-initramfs.bbappend"
|
||||
]
|
||||
},
|
||||
"GUARD-2" : {
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -18,4 +18,4 @@ KERNEL_DEVICETREE = ""
|
||||
|
||||
UBOOT_MACHINE = "am62lx_badge_defconfig"
|
||||
|
||||
TFA_BOARD = "am62l-badge"
|
||||
TFA_BOARD = "am62l3-badge"
|
||||
@@ -2,23 +2,10 @@
|
||||
#@NAME: BeaglePlay (A53)
|
||||
#@DESCRIPTION: Machine configuration for the BeaglePlay board (A53 core)
|
||||
|
||||
require conf/machine/include/k3.inc
|
||||
require conf/machine/include/mc_k3r5.inc
|
||||
|
||||
SOC_FAMILY:append = ":am62xx"
|
||||
|
||||
MACHINE_FEATURES += "screen"
|
||||
require conf/machine/include/am62xx.inc
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyS2"
|
||||
|
||||
require conf/machine/include/mesa-pvr.inc
|
||||
PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}"
|
||||
|
||||
TFA_BOARD = "lite"
|
||||
TFA_K3_SYSTEM_SUSPEND = "1"
|
||||
|
||||
OPTEEMACHINE = "k3-am62x"
|
||||
|
||||
UBOOT_MACHINE = "am62x_beagleplay_a53_defconfig"
|
||||
|
||||
SPL_BINARY = "tispl.bin_unsigned"
|
||||
@@ -2,10 +2,8 @@
|
||||
#@NAME: BeagleY AI (R5F)
|
||||
#@DESCRIPTION: Machine configuration for the BeagleY AI (R5F core)
|
||||
|
||||
require conf/machine/include/k3r5.inc
|
||||
require conf/machine/beagley-ai-ti-k3r5.conf
|
||||
|
||||
require conf/machine/include/beagle-bsp.inc
|
||||
|
||||
UBOOT_MACHINE = "am67a_beagley_ai_r5_defconfig"
|
||||
UBOOT_MACHINE:bsp-bb_org-6_6 = "j722s_evm_r5_defconfig"
|
||||
UBOOT_MACHINE:bsp-ti-6_6 = "j722s_evm_r5_defconfig"
|
||||
UBOOT_MACHINE:bsp-ti-6_12 = "j722s_evm_r5_defconfig"
|
||||
|
||||
8
meta-beagle/conf/machine/beagley-ai-ti-k3r5.conf
Normal file
8
meta-beagle/conf/machine/beagley-ai-ti-k3r5.conf
Normal file
@@ -0,0 +1,8 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: BeagleY AI (R5F)
|
||||
#@DESCRIPTION: Machine configuration for the BeagleY AI (R5F core)
|
||||
|
||||
require conf/machine/include/k3r5.inc
|
||||
|
||||
UBOOT_MACHINE = "am67a_beagley_ai_r5_defconfig"
|
||||
UBOOT_MACHINE:bsp-ti-6_6 = "j722s_evm_r5_defconfig"
|
||||
15
meta-beagle/conf/machine/beagley-ai-ti.conf
Normal file
15
meta-beagle/conf/machine/beagley-ai-ti.conf
Normal file
@@ -0,0 +1,15 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: BeagleY AI (A53)
|
||||
#@DESCRIPTION: Machine configuration for the BeagleY AI board (A53 core)
|
||||
|
||||
require conf/machine/include/j722s.inc
|
||||
|
||||
UBOOT_MACHINE = "am67a_beagley_ai_a53_defconfig"
|
||||
UBOOT_MACHINE:bsp-ti-6_6 = "j722s_evm_a53_config"
|
||||
|
||||
KERNEL_DEVICETREE_PREFIX = " \
|
||||
ti/k3-am67a \
|
||||
ti/k3-j722s \
|
||||
"
|
||||
|
||||
MACHINE_GUI_CLASS = "bigscreen"
|
||||
@@ -2,18 +2,11 @@
|
||||
#@NAME: BeagleY AI (A53)
|
||||
#@DESCRIPTION: Machine configuration for the BeagleY AI board (A53 core)
|
||||
|
||||
require conf/machine/include/j722s.inc
|
||||
require conf/machine/beagley-ai-ti.conf
|
||||
|
||||
require conf/machine/include/beagle-bsp.inc
|
||||
|
||||
UBOOT_MACHINE = "am67a_beagley_ai_a53_defconfig"
|
||||
UBOOT_MACHINE:bsp-bb_org-6_6 = "j722s_evm_a53_config"
|
||||
UBOOT_MACHINE:bsp-ti-6_6 = "j722s_evm_a53_config"
|
||||
UBOOT_MACHINE:bsp-ti-6_12 = "j722s_evm_a53_config"
|
||||
|
||||
KERNEL_DEVICETREE_PREFIX = " \
|
||||
ti/k3-am67a \
|
||||
ti/k3-j722s \
|
||||
"
|
||||
|
||||
KERNEL_DEVICETREE:bsp-bb_org-6_6 = " \
|
||||
ti/k3-am67a-beagley-ai.dtb \
|
||||
|
||||
@@ -15,6 +15,7 @@ BSP_KERNEL_VERSION:bsp-bb_org-6_12 = "6.12.%"
|
||||
BSP_BOOTLOADER_PROVIDER:bsp-bb_org-6_12 = "u-boot-bb.org"
|
||||
BSP_BOOTLOADER_VERSION:bsp-bb_org-6_12 = "2025.%"
|
||||
KERNEL_DEVICETREE_PREFIX:bsp-bb_org-6_12 = ""
|
||||
TI_CORE_INITRAMFS_KERNEL_MODULES:bsp-bb_org-6_12 = ""
|
||||
|
||||
BSP_SGX_DRIVER_PROVIDER:bsp-bb_org-6_12 = "ti-sgx-ddk-km"
|
||||
BSP_SGX_DRIVER_VERSION:bsp-bb_org-6_12 = "1.17%"
|
||||
@@ -36,6 +37,7 @@ BSP_KERNEL_VERSION:bsp-bb_org-6_6 = "6.6.%"
|
||||
BSP_BOOTLOADER_PROVIDER:bsp-bb_org-6_6 = "u-boot-bb.org"
|
||||
BSP_BOOTLOADER_VERSION:bsp-bb_org-6_6 = "2024.%"
|
||||
KERNEL_DEVICETREE_PREFIX:bsp-bb_org-6_6 = ""
|
||||
TI_CORE_INITRAMFS_KERNEL_MODULES:bsp-bb_org-6_6 = ""
|
||||
|
||||
BSP_SGX_DRIVER_PROVIDER:bsp-bb_org-6_6 = "ti-sgx-ddk-km"
|
||||
BSP_SGX_DRIVER_VERSION:bsp-bb_org-6_6 = "1.17%"
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 += " \
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
|
||||
require conf/machine/include/k3r5.inc
|
||||
|
||||
UBOOT_MACHINE = "am62ax_evm_r5_defconfig"
|
||||
UBOOT_MACHINE:tie-test-builds = ""
|
||||
UBOOT_MACHINE = ""
|
||||
|
||||
UBOOT_CONFIG = ""
|
||||
UBOOT_CONFIG:tie-test-builds = "usbdfu main"
|
||||
#XXX UBOOT_CONFIG = "falcon main"
|
||||
UBOOT_CONFIG = "main"
|
||||
UBOOT_CONFIG:prepend:tie-test-builds = "usbdfu "
|
||||
UBOOT_CONFIG[main] = "am62ax_evm_r5_defconfig"
|
||||
UBOOT_CONFIG[falcon] = "am62ax_evm_r5_defconfig"
|
||||
UBOOT_CONFIG[usbdfu] = "am62ax_evm_r5_defconfig"
|
||||
|
||||
UBOOT_CONFIG_FRAGMENTS[falcon] = "k3_r5_falcon.config"
|
||||
UBOOT_CONFIG_FRAGMENTS[usbdfu] = "am62x_r5_usbdfu.config"
|
||||
|
||||
UBOOT_FRAGMENTS:ti-falcon = "k3_r5_falcon.config"
|
||||
|
||||
@@ -3,10 +3,17 @@
|
||||
#@DESCRIPTION: Machine configuration for the TI AM62AXX EVM
|
||||
|
||||
require conf/machine/include/am62axx.inc
|
||||
#XXX require conf/machine/include/ti-falcon.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 \
|
||||
"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -11,15 +11,18 @@ UBOOT_ECDSA_SIGN_CONFIG:bsp-ti-6_6 = ""
|
||||
UBOOT_ECDSA_SIGN_CONFIG:bsp-next = ""
|
||||
UBOOT_ECDSA_SIGN_CONFIG:bsp-mainline = ""
|
||||
|
||||
#UBOOT_CONFIG = "${UBOOT_ECDSA_SIGN_CONFIG} falcon main"
|
||||
UBOOT_CONFIG = "${UBOOT_ECDSA_SIGN_CONFIG} main"
|
||||
UBOOT_CONFIG:prepend:tie-test-builds = "usbdfu "
|
||||
|
||||
UBOOT_CONFIG[main] = "am62px_evm_r5_defconfig"
|
||||
UBOOT_CONFIG[falcon] = "am62ax_evm_r5_defconfig"
|
||||
UBOOT_CONFIG[ecdsa] = "am62px_evm_r5_defconfig"
|
||||
UBOOT_CONFIG[usbdfu] = "am62px_evm_r5_defconfig"
|
||||
|
||||
UBOOT_CONFIG_MAKE_OPTS[ecdsa] = "${TI_SIGN_WITH_ECDSA_KEY}"
|
||||
|
||||
UBOOT_CONFIG_FRAGMENTS[falcon] = "k3_r5_falcon.config"
|
||||
UBOOT_CONFIG_FRAGMENTS[usbdfu] = "am62x_r5_usbdfu.config"
|
||||
|
||||
UBOOT_FRAGMENTS:ti-falcon = "k3_r5_falcon.config"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#@DESCRIPTION: Machine configuration for the TI AM62PX EVM
|
||||
|
||||
require conf/machine/include/am62pxx.inc
|
||||
#XXX require conf/machine/include/ti-falcon.inc
|
||||
|
||||
KERNEL_DEVICETREE_PREFIX = " \
|
||||
ti/k3-am62p5 \
|
||||
|
||||
@@ -4,14 +4,13 @@
|
||||
|
||||
require conf/machine/include/k3r5.inc
|
||||
|
||||
UBOOT_MACHINE = "am62x_evm_r5_defconfig"
|
||||
UBOOT_MACHINE:tie-test-builds = ""
|
||||
UBOOT_MACHINE = ""
|
||||
|
||||
UBOOT_CONFIG = ""
|
||||
UBOOT_CONFIG:tie-test-builds = "usbdfu main"
|
||||
UBOOT_CONFIG = "falcon main"
|
||||
UBOOT_CONFIG:prepend:tie-test-builds = "usbdfu "
|
||||
UBOOT_CONFIG[main] = "am62x_evm_r5_defconfig"
|
||||
UBOOT_CONFIG[falcon] = "am62x_evm_r5_defconfig"
|
||||
UBOOT_CONFIG[usbdfu] = "am62x_evm_r5_defconfig"
|
||||
|
||||
UBOOT_CONFIG_FRAGMENTS[falcon] = "k3_r5_falcon.config"
|
||||
UBOOT_CONFIG_FRAGMENTS[usbdfu] = "am62x_r5_usbdfu.config"
|
||||
|
||||
UBOOT_FRAGMENTS:ti-falcon = "k3_r5_falcon.config"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#@DESCRIPTION: Machine configuration for the TI AM62XX EVM
|
||||
|
||||
require conf/machine/include/am62xx.inc
|
||||
require conf/machine/include/ti-falcon.inc
|
||||
|
||||
KERNEL_DEVICETREE_PREFIX = " \
|
||||
ti/k3-am625 \
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
|
||||
require conf/machine/include/k3r5.inc
|
||||
|
||||
UBOOT_MACHINE = "am62x_lpsk_r5_defconfig"
|
||||
UBOOT_MACHINE:tie-test-builds = ""
|
||||
UBOOT_MACHINE = ""
|
||||
|
||||
UBOOT_CONFIG = ""
|
||||
UBOOT_CONFIG:tie-test-builds = "usbdfu main"
|
||||
#XXX UBOOT_CONFIG = "falcon main"
|
||||
UBOOT_CONFIG = "main"
|
||||
UBOOT_CONFIG:prepend:tie-test-builds = "usbdfu "
|
||||
UBOOT_CONFIG[main] = "am62x_lpsk_r5_defconfig"
|
||||
UBOOT_CONFIG[falcon] = "am62x_lpsk_r5_defconfig"
|
||||
UBOOT_CONFIG[usbdfu] = "am62x_lpsk_r5_defconfig"
|
||||
|
||||
UBOOT_CONFIG_FRAGMENTS[falcon] = "k3_r5_falcon.config"
|
||||
UBOOT_CONFIG_FRAGMENTS[usbdfu] = "am62x_r5_usbdfu.config"
|
||||
|
||||
UBOOT_FRAGMENTS:ti-falcon = "k3_r5_falcon.config"
|
||||
|
||||
@@ -3,11 +3,13 @@
|
||||
#@DESCRIPTION: Machine configuration for the TI AM62XX LP EVM
|
||||
|
||||
require conf/machine/include/am62xx.inc
|
||||
#XXX require conf/machine/include/ti-falcon.inc
|
||||
|
||||
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 \
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -12,7 +12,7 @@ TFA_BOARD = "j784s4"
|
||||
|
||||
OPTEEMACHINE = "k3-j784s4"
|
||||
|
||||
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "cadence-mhdp-fw cnm-wave-fw ti-eth-fw-j784s4"
|
||||
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "cadence-mhdp-fw cnm-wave-fw"
|
||||
|
||||
TI_CORE_INITRAMFS_KERNEL_MODULES = "kernel-module-cdns-pltfrm kernel-module-ti-j721e-ufs"
|
||||
TI_CORE_INITRAMFS_KERNEL_MODULES:bsp-ti-6_6 = ""
|
||||
|
||||
@@ -33,6 +33,11 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-image-image ti-kernel-fitimage"
|
||||
|
||||
TFA_PLATFORM = "k3"
|
||||
|
||||
# Change the default memory location for all k3 devices. This requires an
|
||||
# in layer config fragment for u-boot.
|
||||
TFA_K3_PRELOADED_BL33 ?= "${@ '0x82000000' if d.getVar('BSP_TI_K3_TFA_MOVE') else ''}"
|
||||
TFA_K3_HW_CONFIG_BASE ?= "${@ '0x88000000' if d.getVar('BSP_TI_K3_TFA_MOVE') else ''}"
|
||||
|
||||
# Use the expected value of the ubifs filesystem's volume name in the kernel
|
||||
# and u-boot.
|
||||
UBI_VOLNAME = "rootfs"
|
||||
@@ -51,13 +56,8 @@ 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"
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS2"
|
||||
|
||||
FALCON_INCLUDE = ""
|
||||
FALCON_INCLUDE:ti-falcon = "conf/machine/include/ti-falcon.inc"
|
||||
|
||||
require ${FALCON_INCLUDE}
|
||||
SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS0"
|
||||
|
||||
@@ -46,6 +46,8 @@ BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_18 = "ti-img-rogue-driver"
|
||||
BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_18 = "25%"
|
||||
BSP_MESA_PVR_VERSION:bsp-ti-6_18 = "24%"
|
||||
|
||||
BSP_TI_K3_TFA_MOVE:bsp-ti-6_18 = "1"
|
||||
|
||||
# ==========
|
||||
# ti-6_12
|
||||
# TI staging kernel 6.12, u-boot 2025.01
|
||||
@@ -95,6 +97,8 @@ BSP_ROGUE_DRIVER_PROVIDER ?= ""
|
||||
BSP_ROGUE_DRIVER_VERSION ?= ""
|
||||
BSP_MESA_PVR_VERSION ?= ""
|
||||
|
||||
BSP_TI_K3_TFA_MOVE ?= ""
|
||||
|
||||
# ==========
|
||||
# global preferences
|
||||
# ==========
|
||||
|
||||
@@ -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 ?= ""
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
IMAGE_INSTALL:append = " u-boot-ti-staging-falcon"
|
||||
KERNEL_CLASSES:remove = "kernel-fit-extra-artifacts"
|
||||
MACHINE_ESSENTIAL_EXTRA_RDEPENDS:remove = "ti-kernel-fitimage"
|
||||
KERNEL_CLASSES += "kernel-fitimage-legacyhs"
|
||||
FIT_KERNEL_COMP_ALG = "none"
|
||||
#KERNEL_CLASSES:remove = "kernel-fit-extra-artifacts"
|
||||
#MACHINE_ESSENTIAL_EXTRA_RDEPENDS:remove = "ti-kernel-fitimage"
|
||||
#KERNEL_CLASSES += "kernel-fitimage-legacyhs"
|
||||
#FIT_KERNEL_COMP_ALG = "none"
|
||||
|
||||
@@ -27,3 +27,5 @@ KERNEL_DEVICETREE = " \
|
||||
"
|
||||
|
||||
UBOOT_MACHINE = "j784s4_evm_a72_defconfig"
|
||||
|
||||
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "ti-eth-fw-j784s4"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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}"
|
||||
@@ -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)}"
|
||||
@@ -0,0 +1 @@
|
||||
INITRAMFS_MAXSIZE = "200000"
|
||||
@@ -9,19 +9,19 @@ INC_PR = "r4"
|
||||
# Firmware versions
|
||||
CORESDK_RTOS_VERSION = "08.02.00.04"
|
||||
PRUETH_FW_AM65X_VERSION = "08.00.00.20"
|
||||
PRUETH_FW_AM65X_SR2_VERSION = "02.02.15.10"
|
||||
PRUETH_FW_AM65X_SR2_VERSION = "02.02.16.00"
|
||||
GOODIX_FW_VERSION = "1.0.0.0"
|
||||
CADENCE_MHDP_FW_VERSION = "2.1.0"
|
||||
IMG_DEC_FW_VERSION = "1.0"
|
||||
CNM_WAVE521_FW_VERSION = "1.0.8"
|
||||
TI_DM_FW_VERSION = "11.02.07"
|
||||
TI_SYSFW_VERSION = "11.02.09"
|
||||
TI_SYSFW_VERSION = "12.00.02"
|
||||
TI_HSM_DEMO_FW_VERSION = "11.00.09"
|
||||
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 ?= "c5eea0af8225334b1babfa750b329200dcee3d2b"
|
||||
TI_LINUX_FW_SRCREV ?= "9e9d50ff563f83db86d36b72cd7fb4f487d6b414"
|
||||
SRCREV = "${TI_LINUX_FW_SRCREV}"
|
||||
|
||||
BRANCH ?= "ti-linux-firmware"
|
||||
|
||||
@@ -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 = "77f19d893b8cd78c50092bc797a1de52f99c428d"
|
||||
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"
|
||||
|
||||
@@ -28,5 +28,5 @@ TFA_INSTALL_TARGET:am62lxx = "bl31 bl1"
|
||||
EXTRA_OEMAKE += "${@ 'K3_USART=' + d.getVar('TFA_K3_USART') if d.getVar('TFA_K3_USART') else ''}"
|
||||
EXTRA_OEMAKE += "${@ 'BL32_BASE=' + d.getVar('TFA_K3_BL32_BASE') if d.getVar('TFA_K3_BL32_BASE') else ''}"
|
||||
EXTRA_OEMAKE += "${@ 'PRELOADED_BL33_BASE=' + d.getVar('TFA_K3_PRELOADED_BL33') if d.getVar('TFA_K3_PRELOADED_BL33') else ''}"
|
||||
EXTRA_OEMAKE += "${@ 'K3_HW_CONFIG_BASE=' + d.getVar('TFA_K3_HW_CONFIG_BASE') if d.getVar('TFA_K3_HW_CONFIG_BASE') else ''}"
|
||||
EXTRA_OEMAKE += "${@ 'K3_PM_SYSTEM_SUSPEND=' + d.getVar('TFA_K3_SYSTEM_SUSPEND') if d.getVar('TFA_K3_SYSTEM_SUSPEND') else ''}"
|
||||
EXTRA_OEMAKE:append:ti-falcon = " PRELOADED_BL33_BASE=0x82000000 K3_HW_CONFIG_BASE=0x88000000"
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
COMPATIBLE_MACHINE:tie-jailhouse = "am62xx|am62pxx|am62lxx"
|
||||
|
||||
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 = "53a287d24610f0747ae4e35cff2afa3af23a48e3"
|
||||
|
||||
UBOOT_GIT_URI:tie-jailhouse = "git://git.ti.com/git/processor-sdk/u-boot.git"
|
||||
|
||||
@@ -2,8 +2,8 @@ require u-boot-ti.inc
|
||||
|
||||
SUMMARY = "Mainline U-Boot for TI devices"
|
||||
|
||||
PV = "2026.01"
|
||||
PV = "2026.04"
|
||||
|
||||
UBOOT_GIT_URI = "git://source.denx.de/u-boot/u-boot.git"
|
||||
|
||||
SRCREV_uboot = "127a42c7257a6ffbbd1575ed1cbaa8f5408a44b3"
|
||||
SRCREV_uboot = "88dc2788777babfd6322fa655df549a019aa1e69"
|
||||
|
||||
@@ -4,4 +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"
|
||||
|
||||
@@ -4,4 +4,4 @@ PR = "r0"
|
||||
|
||||
BRANCH = "ti-u-boot-2026.01"
|
||||
|
||||
SRCREV_uboot = "c42989009c209834eb512c065e283c492ec3dd50"
|
||||
SRCREV_uboot = "2549829cc194ffd9e38b755d2e10c7fc4cd971eb"
|
||||
|
||||
@@ -25,6 +25,15 @@ UBOOT_GIT_PROTOCOL ?= "https"
|
||||
UBOOT_GIT_BRANCH ?= "branch=${BRANCH}"
|
||||
SRC_URI = "${UBOOT_GIT_URI};protocol=${UBOOT_GIT_PROTOCOL};${UBOOT_GIT_BRANCH};name=uboot"
|
||||
|
||||
# Match the meta-ti trusted-firmware-a specific changes to memory locations
|
||||
# for bl33 and k3 hardware.
|
||||
TI_K3_TFA_CFG_FILES = "\
|
||||
file://k3_tfa.cfg \
|
||||
file://0001-env-Make-the-env-based-on-KConfig-instead-of-hardcod.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:k3 = " ${@ '${TI_K3_TFA_CFG_FILES}' if d.getVar('BSP_TI_K3_TFA_MOVE') else ''}"
|
||||
|
||||
SRCREV_FORMAT = "uboot"
|
||||
|
||||
PV:append = "+git"
|
||||
@@ -403,18 +412,12 @@ do_deploy:append:am62pxx() {
|
||||
install -m 0644 ${S}/tools/logos/ti_logo_414x97_32bpp.bmp.gz ${DEPLOYDIR}
|
||||
}
|
||||
|
||||
do_install:append:ti-falcon() {
|
||||
do_install:append() {
|
||||
if [ -f ${B}/tifalcon.bin ]; then
|
||||
install -m 0644 ${B}/tifalcon.bin ${D}/boot
|
||||
fi
|
||||
}
|
||||
|
||||
FALCON_PKG = ""
|
||||
FALCON_PKG:ti-falcon = "${PN}-falcon "
|
||||
|
||||
PACKAGES:prepend:am62xx-evm = "${FALCON_PKG} "
|
||||
PACKAGES:prepend:am62axx-evm = "${FALCON_PKG} "
|
||||
PACKAGES:prepend:am62pxx-evm = "${FALCON_PKG} "
|
||||
PACKAGES:prepend:am62xx-lp-evm = "${FALCON_PKG} "
|
||||
|
||||
TOOLCHAIN = "gcc"
|
||||
|
||||
TI_SIGN_WITH_ECDSA_KEY ?= "SIGNING_KEY=${THISDIR}/files/custMpk_ecdsa.key"
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
From 538719cb6a77934d069e0e64f264457a59a9ebfc Mon Sep 17 00:00:00 2001
|
||||
From: Yannic Moog <y.moog@phytec.de>
|
||||
Date: Tue, 1 Jul 2025 07:45:37 +0200
|
||||
Subject: [PATCH] binman: migrate from pkg_resources to importlib
|
||||
|
||||
pkg_resources is deprecated, use migration guide in [1] to migrate to
|
||||
importlib.resources.
|
||||
Keep the Python 3.6 backwards compatibility.
|
||||
This also fixes the binman version test which failed for setuptools
|
||||
versions that print the deprecation warning.
|
||||
Change from __name__ to __package__ as with the transition from
|
||||
pkg_resources to importlib_resources using __name__ results in
|
||||
TypeErrors [2].
|
||||
|
||||
[1] https://importlib-resources.readthedocs.io/en/latest/migration.html
|
||||
[2] https://github.com/python/importlib_resources/issues/60
|
||||
|
||||
Reviewed-by: Bryan Brattlof <bb@ti.com>
|
||||
Signed-off-by: Yannic Moog <y.moog@phytec.de>
|
||||
|
||||
Upstream-Status: Backport
|
||||
---
|
||||
tools/binman/control.py | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/tools/binman/control.py b/tools/binman/control.py
|
||||
index af447d792a7f..1307222591de 100644
|
||||
--- a/tools/binman/control.py
|
||||
+++ b/tools/binman/control.py
|
||||
@@ -8,12 +8,11 @@
|
||||
from collections import OrderedDict
|
||||
import glob
|
||||
try:
|
||||
- import importlib.resources
|
||||
+ import importlib.resources as importlib_resources
|
||||
except ImportError: # pragma: no cover
|
||||
# for Python 3.6
|
||||
import importlib_resources
|
||||
import os
|
||||
-import pkg_resources
|
||||
import re
|
||||
|
||||
import sys
|
||||
@@ -96,7 +95,7 @@ def _FinishTag(tag, msg, result):
|
||||
msg = ''
|
||||
return tag, msg
|
||||
|
||||
- my_data = pkg_resources.resource_string(__name__, 'missing-blob-help')
|
||||
+ my_data = importlib_resources.files(__package__).joinpath('missing-blob-help').read_bytes()
|
||||
re_tag = re.compile('^([-a-z0-9]+):$')
|
||||
result = {}
|
||||
tag = None
|
||||
@@ -151,8 +150,9 @@ def GetEntryModules(include_testing=True):
|
||||
Returns:
|
||||
Set of paths to entry class filenames
|
||||
"""
|
||||
- glob_list = pkg_resources.resource_listdir(__name__, 'etype')
|
||||
- glob_list = [fname for fname in glob_list if fname.endswith('.py')]
|
||||
+ entries = importlib_resources.files(__package__).joinpath('etype')
|
||||
+ glob_list = [entry.name for entry in entries.iterdir()
|
||||
+ if entry.name.endswith('.py') and entry.is_file()]
|
||||
return set([os.path.splitext(os.path.basename(item))[0]
|
||||
for item in glob_list
|
||||
if include_testing or '_testing' not in item])
|
||||
@@ -756,7 +756,7 @@ def Binman(args):
|
||||
global state
|
||||
|
||||
if args.full_help:
|
||||
- with importlib.resources.path('binman', 'README.rst') as readme:
|
||||
+ with importlib_resources.path('binman', 'README.rst') as readme:
|
||||
tools.print_full_help(str(readme))
|
||||
return 0
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 25569d2b31a4dcb73bb55cffe13c95afd9441987 Mon Sep 17 00:00:00 2001
|
||||
From: Ryan Eatmon <reatmon@ti.com>
|
||||
Date: Wed, 4 Feb 2026 14:07:39 -0600
|
||||
Subject: [PATCH] env: Make the env based on KConfig instead of hardcoded
|
||||
|
||||
testing...
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
|
||||
---
|
||||
include/env/ti/k3_dfu.env | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/env/ti/k3_dfu.env b/include/env/ti/k3_dfu.env
|
||||
index 2ea8554d413..3a3eb959b94 100644
|
||||
--- a/include/env/ti/k3_dfu.env
|
||||
+++ b/include/env/ti/k3_dfu.env
|
||||
@@ -25,8 +25,8 @@ dfu_alt_info_ospi=
|
||||
rootfs raw 0x800000 0x3800000
|
||||
|
||||
dfu_alt_info_ram=
|
||||
- tispl.bin ram 0x80080000 0x200000;
|
||||
- u-boot.img ram 0x81000000 0x400000
|
||||
+ tispl.bin ram CONFIG_SPL_TEXT_BASE 0x200000;
|
||||
+ u-boot.img ram CONFIG_TEXT_BASE 0x400000
|
||||
|
||||
dfu_alt_info_ospi_nand=
|
||||
ospi.tiboot3 part 1;
|
||||
--
|
||||
2.43.0
|
||||
|
||||
7
meta-ti-bsp/recipes-bsp/u-boot/u-boot/k3_tfa.cfg
Normal file
7
meta-ti-bsp/recipes-bsp/u-boot/u-boot/k3_tfa.cfg
Normal file
@@ -0,0 +1,7 @@
|
||||
CONFIG_TEXT_BASE=0x82f80000
|
||||
CONFIG_BLOBLIST_ADDR=0x82c80000
|
||||
CONFIG_SPL_TEXT_BASE=0x82000000
|
||||
CONFIG_SPL_STACK_R_ADDR=0x83f80000
|
||||
CONFIG_SPL_BSS_START_ADDR=0x82c00000
|
||||
CONFIG_SPL_LOAD_FIT_ADDRESS=0x82f80000
|
||||
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x82b00000
|
||||
@@ -0,0 +1,29 @@
|
||||
From 973dc32026c164d0c13f7f5bef36c8d1c2375973 Mon Sep 17 00:00:00 2001
|
||||
From: Alessandro Astone <ales.astone@gmail.com>
|
||||
Date: Sun, 1 Mar 2026 18:14:09 +0100
|
||||
Subject: [PATCH] gallivm: Fix armhf build against LLVM 22
|
||||
|
||||
StringMapIterator<bool> became StringMapIterBase<bool, false /* IsConst */>;
|
||||
Use `auto` to handle either case.
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40161]
|
||||
Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com>
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
index d3ad342..c95d86e 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
@@ -331,7 +331,7 @@ lp_build_fill_mattrs(std::vector<std::string> &MAttrs)
|
||||
llvm::sys::getHostCPUFeatures(features);
|
||||
#endif
|
||||
|
||||
- for (llvm::StringMapIterator<bool> f = features.begin();
|
||||
+ for (auto f = features.begin();
|
||||
f != features.end();
|
||||
++f) {
|
||||
MAttrs.push_back(((*f).second ? "+" : "-") + (*f).first().str());
|
||||
--
|
||||
2.53.0
|
||||
@@ -19,10 +19,12 @@ SRC_URI = " \
|
||||
file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \
|
||||
file://0001-gallivm-Call-StringMapIterator-from-llvm-scope.patch \
|
||||
file://0001-Update-lp_bld_misc.cpp-to-support-llvm-19.patch \
|
||||
file://0001-gallivm-Fix-armhf-build-against-LLVM-22.patch \
|
||||
"
|
||||
|
||||
SRCREV = "68af6a102c2298569e77d1aa8bccc1ff61438b3e"
|
||||
SRCREV = "7c82c1eebc67f5a62a347a84d42fe795cf7f523b"
|
||||
PV = "24.0.1"
|
||||
PR = "r1"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -24,6 +24,8 @@ BRANCH ?= "ti-linux-6.12.y"
|
||||
SRCREV ?= "da3c0f0a33ac00f7138c695a16d90301cf7ec02b"
|
||||
PV = "6.12.57+git"
|
||||
|
||||
SRC_URI += "file://0001-libbpf-Fix-Wdiscarded-qualifiers-under-C23.patch"
|
||||
|
||||
KERNEL_REPRODUCIBILITY_PATCHES = " \
|
||||
file://0001-drivers-gpu-drm-msm-registers-improve-reproducibilit.patch \
|
||||
"
|
||||
|
||||
@@ -22,7 +22,7 @@ S = "${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}"
|
||||
|
||||
BRANCH ?= "ti-linux-6.18.y"
|
||||
|
||||
SRCREV ?= "e9ebc825175636714e0ffa113133ef03879748df"
|
||||
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)} \
|
||||
"
|
||||
|
||||
@@ -2,5 +2,7 @@
|
||||
# Jailhouse settings
|
||||
#
|
||||
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 = "b27ed9ea7bdad936265fe38c6e112d86743fd379"
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
COMPATIBLE_MACHINE:tie-jailhouse = "am62xx|am62pxx|am62lxx"
|
||||
|
||||
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 = "b27ed9ea7bdad936265fe38c6e112d86743fd379"
|
||||
|
||||
KERNEL_GIT_URI:tie-jailhouse = "git://git.ti.com/git/processor-sdk/linux.git"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
PV = "4.9.0+git"
|
||||
SRCREV = "3322f1326f141ef3f41ac7a1c1e08ca23a869fd4"
|
||||
SRCREV = "f2a7ad0638aeff5243593b33cc56ad064cae7615"
|
||||
|
||||
@@ -2,13 +2,13 @@ SUMMARY = "RPMsg DMA shared library"
|
||||
LICENSE = "TI-TFL"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=91dc4ee6d125d0aaba4e5bd2fcc50ed3"
|
||||
|
||||
SRC_URI = "git://github.com/TexasInstruments/rpmsg-dma.git;protocol=https;branch=scarthgap"
|
||||
SRCREV = "153951932925a72346b76d98b2774952c48a82fc"
|
||||
SRC_URI = "git://github.com/TexasInstruments/rpmsg-dma.git;protocol=https;branch=main"
|
||||
SRCREV = "d1cd23bcce13877c7f67d9b1fd399940b87b2ee3"
|
||||
|
||||
inherit cmake
|
||||
|
||||
DEPENDS = "ti-rpmsg-char"
|
||||
|
||||
EXTRA_OECMAKE += "-DBUILD_LIB=ON -DBUILD_AUDIO_OFFLOAD_EXAMPLE=OFF -DBUILD_2DFFT_OFFLOAD_EXAMPLE=OFF"
|
||||
EXTRA_OECMAKE += "-DBUILD_LIB=ON -DBUILD_AUDIO_OFFLOAD_EXAMPLE=OFF -DBUILD_2DFFT_OFFLOAD_EXAMPLE=OFF -DBUILD_SIGNAL_CHAIN_BIQUAD_EXAMPLE=OFF"
|
||||
|
||||
COMPATIBLE_MACHINE = "^(k3)$"
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
require ti-jailhouse.inc
|
||||
|
||||
# Inmate binaries are bare-metal; no debug package needed
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
do_install() {
|
||||
|
||||
install -d ${D}${bindir}
|
||||
|
||||
@@ -55,11 +55,11 @@ do_install() {
|
||||
install -d ${D}/boot
|
||||
if [ -n "${JH_RAMFS_IMAGE}" ]
|
||||
then
|
||||
if [ -f ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}*-${MACHINE}.rootfs.cpio ]
|
||||
if [ -f ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}*-${MACHINE}.cpio ]
|
||||
then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}*-${MACHINE}.rootfs.cpio ${D}/boot
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/${JH_RAMFS_IMAGE}*-${MACHINE}.cpio ${D}/boot
|
||||
else
|
||||
bberror "Could not find JH_RAMFS_IMAGE (${JH_RAMFS_IMAGE}*-${MACHINE}.rootfs.cpio)!"
|
||||
bberror "Could not find JH_RAMFS_IMAGE (${JH_RAMFS_IMAGE}*-${MACHINE}.cpio)!"
|
||||
bberror "Please make sure that \"cpio\" is in IMAGE_FSTYPES."
|
||||
fi
|
||||
fi
|
||||
@@ -72,7 +72,7 @@ do_install() {
|
||||
./jailhouse-cell-linux -w ${D}${JH_DATADIR}/${JH_INMATE_DTB} \
|
||||
-a ${JH_ARCH} -c "${JH_CMDLINE}" \
|
||||
-d ../configs/${JH_ARCH}/dts/${JH_INMATE_DTB} \
|
||||
-i ${D}/boot/${JH_RAMFS_IMAGE}*-${MACHINE}.rootfs.cpio \
|
||||
-i ${D}/boot/${JH_RAMFS_IMAGE}*-${MACHINE}.cpio \
|
||||
${D}${CELL_DIR}/${JH_LINUX_DEMO_CELL} \
|
||||
${DEPLOY_DIR_IMAGE}/Image \
|
||||
| tr -cd '\11\12\15\40-\176' \
|
||||
|
||||
@@ -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} \
|
||||
@@ -47,7 +47,7 @@ B = "${S}"
|
||||
|
||||
DEPENDS = "virtual/kernel dtc-native python3-mako-native python3-mako make-native"
|
||||
|
||||
inherit module python3native bash-completion deploy setuptools3
|
||||
inherit module-base kernel-module-split python3native bash-completion deploy
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(ti-soc)"
|
||||
@@ -66,22 +66,28 @@ JH_SYSCONFIG_CELL:am62lxx ?= "k3-am62l3-evm.cell"
|
||||
JH_SYSCONFIG_CELL:j7 ?= "k3-j721e-evm.cell"
|
||||
JH_SYSCONFIG_CELL:j7200-evm ?= "k3-j7200-evm.cell"
|
||||
|
||||
do_configure() {
|
||||
if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ];
|
||||
then
|
||||
cp ${STAGING_DIR_HOST}/${CELLCONF_DIR}/*.c ${S}/configs/
|
||||
fi
|
||||
}
|
||||
EXTRA_OEMAKE = "\
|
||||
V=1 \
|
||||
ARCH=${JH_ARCH} \
|
||||
CROSS_COMPILE=${TARGET_PREFIX} \
|
||||
CC="${CC}" \
|
||||
KDIR=${STAGING_KERNEL_BUILDDIR} \
|
||||
KCFLAGS='-ffile-prefix-map=${STAGING_KERNEL_BUILDDIR}/= \
|
||||
-ffile-prefix-map=${STAGING_KERNEL_DIR}/=' \
|
||||
"
|
||||
|
||||
USER_SPACE_CFLAGS = '${CFLAGS} -DLIBEXECDIR=\\\"${libexecdir}\\\" \
|
||||
-DJAILHOUSE_VERSION=\\\"$JAILHOUSE_VERSION\\\" \
|
||||
-Wall -Wextra -Wmissing-declarations -Wmissing-prototypes -Werror \
|
||||
-I../driver'
|
||||
USER_SPACE_CFLAGS = "\
|
||||
${CFLAGS} \
|
||||
-DLIBEXECDIR=\\\"${libexecdir}\\\" \
|
||||
-DJAILHOUSE_VERSION=\\\"$JAILHOUSE_VERSION\\\" \
|
||||
-Wall -Wextra -Wmissing-declarations -Wmissing-prototypes -Werror \
|
||||
-I../driver \
|
||||
"
|
||||
|
||||
TOOLS_SRC_DIR = "${S}/tools"
|
||||
|
||||
EXTRA_OEMAKE = "ARCH=${JH_ARCH} CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" KDIR=${STAGING_KERNEL_BUILDDIR}"
|
||||
|
||||
do_compile() {
|
||||
oe_runmake V=1
|
||||
do_configure() {
|
||||
if [ -d ${STAGING_DIR_HOST}/${CELLCONF_DIR} ]; then
|
||||
cp ${STAGING_DIR_HOST}/${CELLCONF_DIR}/*.c ${S}/configs/
|
||||
fi
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user