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

Compare commits

...

59 Commits

Author SHA1 Message Date
LCPD Automation Script
4c597d0aa8 CI/CD Auto-Merger: cicd.master.202604021800
Updated the value(s) for:
  atf: SRCREV_tfa:am62lxx
  linux-ti-staging_6.18: SRCREV

Changelogs:
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=c214492085504176b9c252a7175e4e60b4b442af..c2a0b0f74338c37df910115a103b002c1d7f9d38

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-04-02 18:01:04 -05:00
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
LCPD Automation Script
81cd032c09 CI/CD Auto-Merger: cicd.master.202603161800
Updated the value(s) for:
  ti-linux-fw: PRUETH_FW_AM65X_SR2_VERSION,TI_LINUX_FW_SRCREV,TI_SYSFW_VERSION
  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=58a8a47f9063cfcd9eebcfb2825b99a34ef19b80..a85ebd5c5b216646779b3d34efa09f0a7d818d62
  u-boot-ti-staging_2026.01: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?qt=range&q=e585d2fccbb4c11389ecd9afb00ec5e707267afc..81a97a3303f8c786014d8644d185a368fba902c5
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=f13c6190c45bc24cc6640e39c36304bbc4ff22e7..d6380d740b3af3be9a9ebbd347b5b0c34cd82e81

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-03-16 18:00:48 -05:00
Ryan Eatmon
88a85e8148 u-boot-ti-staging_2025.01: Backport fix for python3-setuptools change
A recent change in oe-core [1] to bump the python3-setuptools change
introduced a build error with the 2025.01 version of u-boot in binman.
Backport a fix from the master branch of u-boot [2] to address this.

[1] https://git.openembedded.org/openembedded-core/commit/?id=ab6b2bf7b555d3516abea6255b800fe6f9673a69
[2] 538719cb6a

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-16 14:16:21 -05:00
Ryan Eatmon
b92d66ad10 linux-ti-staging_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-16 14:16:21 -05:00
Randolph Sapp
a77f6ead75 mesa-pvr: fix compilation errors with c23
Pull a fix from mesa/main regarding C23/glibc's definition of once_init
in stdlib.h.

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-16 14:16:21 -05:00
Paresh Bhagat
c4f9ff1eff recipes-ti: ti-librpmsg-dma: Update branch and disable example build
Switch from scarthgap to main branch for ti-librpmsg-dma library. Also
update SRCREV and add -DBUILD_SIGNAL_CHAIN_BIQUAD_EXAMPLE=OFF to cmake
options to exclude building the sigchain example.

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-12 10:25:58 -05:00
Mahammed Sadik Shaik
8eaa5cace4 ti-jailhouse: Fix buildpaths QA warning and cleanup
Add -ffile-prefix-map flags to KCFLAGS to remove build path
references from kernel module compilation, ensuring reproducible
builds and preventing absolute path leakage in binaries.

inherit module-base kernel-module-split for building kernel modules

move V=1 into EXTRA_OEMAKE and remove overriding do_compile()

This resolves buildpaths QA warnings during packaging.

Signed-off-by: Mahammed Sadik Shaik <s-sadik@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-12 10:25:58 -05:00
Mahammed Sadik Shaik
dbedef732f jailhouse-inmate: Inhibit debug package split
Inmate binaries are bare-metal applications without standard debug
symbols that can be meaningfully split. Inhibit debug package
creation to avoid unnecessary packaging overhead and potential
QA warnings.

Signed-off-by: Mahammed Sadik Shaik <s-sadik@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-12 10:25:58 -05:00
Mahammed Sadik Shaik
6d51093a81 jailhouse: Fix JH_RAMFS image path
Update JH_RAMFS_IMAGE references to use correct .cpio
extension instead of .rootfs.cpio to match current image
naming convention

Signed-off-by: Mahammed Sadik Shaik <s-sadik@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-12 10:25:58 -05:00
LCPD Automation Script
9c336bc837 CI/CD Auto-Merger: cicd.master.202603091800
Updated the value(s) for:
  atf: SRCREV_tfa:am62lxx
  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=8dedb46bfd7e7bba52cbedfbab10fe4383317b7b..e585d2fccbb4c11389ecd9afb00ec5e707267afc
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=1ae61a325571a4b242dac987edcbff0bf11cbd35..f13c6190c45bc24cc6640e39c36304bbc4ff22e7

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-03-09 18:00:46 -05:00
LCPD Automation Script
db4353bc7e CI/CD Auto-Merger: cicd.master.202603060742
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=cf4a45b898294c96af02a62b7321c35651b3fa67..58a8a47f9063cfcd9eebcfb2825b99a34ef19b80
  u-boot-ti-staging_2026.01: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?qt=range&q=90e682a353fe494e4058068a02bd8ee9f7a1bbf2..8dedb46bfd7e7bba52cbedfbab10fe4383317b7b
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=30182cf3ac7db7fd66c36870f3fc5db91a32f36c..1ae61a325571a4b242dac987edcbff0bf11cbd35

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-03-06 07:43:07 -06:00
Mahammed Sadik Shaik
acea5fac41 ti-extras: Add Jailhouse support for bsp-ti-6_18
Add Jailhouse-enabled U-Boot and Linux kernel configurations
for the bsp-ti-6_18 release to support AM62xx, AM62Pxx, and
AM62Lxx platforms.

Changes include:
- u-boot/ti-extras.inc: Add ti-u-boot-2026.01-jailhouse branch
- linux/ti-extras.inc: Add ti-linux-6.18.y-jailhouse branch
- linux/ti-extras-rt.inc: Add ti-linux-6.18.y-jailhouse branch

Signed-off-by: Mahammed Sadik Shaik <s-sadik@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-05 10:55:37 -06:00
Suhaas Joshi
bf93262beb meta-ti: optee: Update SHA in optee_os to integrate timeout increase
optee_os has a driver for AM62L's mailbox. Recently it started timing
out waiting for a response from TIFS. It seems that the timeout we had
given was at the edge of what was acceptable, since unrelated changes to
rest of the boot chain were breaking it. So a patch was sent to optee_os
to fix this by increasing the timeout from 10ms to 1000ms.

Update the optee_os recipe's SHA to integrate this change into the SDK.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-05 10:55:37 -06:00
LCPD Automation Script
de85a85c0c CI/CD Auto-Merger: cicd.master.202603050509
Updated the value(s) for:
  atf: SRCREV_tfa:am62lxx
  linux-ti-staging_6.18: SRCREV

Changelogs:
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=8f753312db559c2f1f0867030e5fb36b89f2ea05..30182cf3ac7db7fd66c36870f3fc5db91a32f36c

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-03-05 05:09:58 -06:00
LCPD Automation Script
563ffd7ea2 CI/CD Auto-Merger: cicd.master.202603041808
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=c5eea0af8225334b1babfa750b329200dcee3d2b..cf4a45b898294c96af02a62b7321c35651b3fa67
  u-boot-ti-staging_2026.01: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?qt=range&q=c42989009c209834eb512c065e283c492ec3dd50..90e682a353fe494e4058068a02bd8ee9f7a1bbf2
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=e9ebc825175636714e0ffa113133ef03879748df..8f753312db559c2f1f0867030e5fb36b89f2ea05

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-03-04 18:08:45 -06:00
Denys Dmytriyenko (TI)
92c2198288 beagle-bsp: unset TI_CORE_INITRAMFS_KERNEL_MODULES
As BB.org kernel comes with own custom defconfig, there are no modules
required to be loaded from initramfs in order to boot the platforms, as
required drivers are built in. Unset the list of such modules to avoid
breakage.

Signed-off-by: Denys Dmytriyenko (TI) <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-02 14:38:39 -06:00
Randolph Sapp
59af86a220 beagleplay-ti: use the am62xx.inc
We should inherit the am62xx.inc and just override values as needed.

Signed-off-by: Randolph Sapp <rs@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-02 14:38:39 -06:00
Randolph Sapp
cb50cbab2f beagley-ai: add beagley-ai-ti
Split the existing config into a beagley-ai-ti and beagley-ai that
includes it, like the existing beagleplay machine.

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-02 14:38:39 -06:00
Randolph Sapp
87f5d17fd0 meta-beagle: move all beagle board configurations
Move all beagle board configurations to meta-beagle. There are 2 skews
currently:

1. A base TI configuration setting all the default variables required to
   use the device with meta-ti-bsp provided packages.

2. An override that uses meta-beagle BSP components. This includes all
   the values defined in the TI skew as well as any meta-beagle specific
   configuration.

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-03-02 14:38:39 -06:00
LCPD Automation Script
e9c0421352 CI/CD Auto-Merger: cicd.master.202602271140
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: PV,SRCREV

Changelogs:
  ti-linux-fw: https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/log/?qt=range&q=fc93d06371ec35ef634284748e8263907327d6fd..c5eea0af8225334b1babfa750b329200dcee3d2b
  u-boot-ti-staging_2026.01: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?qt=range&q=cb63a11faef453412da23e72c5e9b6782cf62274..c42989009c209834eb512c065e283c492ec3dd50
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=7e2c5ee21e318f67edb760f67fe16d41b1dc5a1e..e9ebc825175636714e0ffa113133ef03879748df

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-02-27 11:41:17 -06:00
Paresh Bhagat
74f14d872c conf: am62dxx-evm: Package k3-am62a7-sk-e3-max-opp overlay
Package k3-am62a7-sk-e3-max-opp.dtbo for AM62D2-EVM to configure C7x DSP
to run at its maximum supported frequency of 1GHz.

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-26 19:15:19 -06:00
Suhaas Joshi
c4caa380b8 optee: Update optee_os to integrate Firewall RNG changes
Recently, a few commits were merged beyond the 4.9.0 tag in optee_os. These
commits refactor some code in SA2UL, and add firewall configurations for RNG in
AM62L. Therefore, to integrate these changes in the SDK, update the optee_os
SHA.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-26 19:15:19 -06:00
Manorit Chawdhry
15f5c84ecd trusted-firmware-a: Update to 2.14+
Updates trusted-firmware-a to a commit with the LPM patches and removes
them from yocto.

Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-26 19:15:14 -06:00
Antonios Christidis
e24a537683 ti-img-rogue-driver: Support for unified GPU bindings
New sha brings support for unified GPU bindings.

Signed-off-by: Antonios Christidis <a-christidis@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-26 19:12:20 -06:00
Ryan Eatmon
135dfe3f26 ti-bsp: Make ti-6_18 the default BSP
Our initial testing is nearing completion and 6.18 is ready to be our
default kernel along with 2026.01 uboot.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-25 14:13:55 -06:00
Ryan Eatmon
ddbc40d2ab packagegroup-ti-core-initramfs: Add nfs-utils-mount
When loading an initramfs, the kernel no longer provides functionality
for mounting the rootfs.  nfs-utils-mount is the minimal required
packages to provide the needed tooling for the kernel to mount the
rootfs over nfs when using an initramfs.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-25 14:13:55 -06:00
Ryan Eatmon
cd0391b2ea gdbc6x: Tweak lcl_maybe_fortify security setting
A change in oe-core [1] has turned on higher security checks, but gdbc6x
will not build with FORTIFY_SOURCE turned on.  Remove that setting to
get it building again.

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

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-24 20:54:51 -06:00
Ryan Eatmon
03a7ad132c dsptop: Tweak SECURITY_STRINGFORMAT
A change in oe-core [1] has turned on higher security checks, but dsptop
will not build with all of them turned on.  Remove a single setting to
get it building again.

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

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-24 20:54:51 -06:00
Ryan Eatmon
38758c5d17 ti-ipc: Set DISABLE_STATIC = ""
As of [1], static libs are disabled by default.  But this package relies
on static libs, so we need to allow for building them.

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

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-24 20:54:51 -06:00
Ryan Eatmon
bb64ebf304 ti-rpmsg-char: Set DISABLE_STATIC = ""
As of [1], static libs are disabled by default.  But this package relies
on static libs, so we need to allow for building them.

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

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-24 20:54:51 -06:00
Ryan Eatmon
f60581dc51 *: Remove unused patches
We have added checking for unused patches in our repo checking tool.
Remove two patch files that it found.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-23 16:33:03 -06:00
LCPD Automation Script
fdca2e3472 CI/CD Auto-Merger: cicd.master-ltsprep.202602191451
Updated the value(s) for:
  ti-linux-fw: TI_LINUX_FW_SRCREV
  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=941e1f7a3b3f683a59a0e51fb78817eb31841430..fc93d06371ec35ef634284748e8263907327d6fd
  u-boot-ti-staging_2026.01: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?qt=range&q=0c5b72a0b975e5e01ed6164cc9547526c680fe95..cb63a11faef453412da23e72c5e9b6782cf62274
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=49a4f3a41af39ec952f7caadb856418e1b734449..7e2c5ee21e318f67edb760f67fe16d41b1dc5a1e

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-02-19 14:52:30 -06:00
Ryan Eatmon
a8e59d34c4 conf: j722s: Add usbdfu tie-test-builds config
Using the new UBOOT_CONFIG flow, enable a mode where additional uboot
configurations can be built along side the main config.  In this case,
turning on USBDFU for a board for testing purposes.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-19 14:10:01 -06:00
Ryan Eatmon
82f15401cd trusted-firmware-a: Updates for am62l
Change the branch for am62l to ti-tfa-2.14y and change the TFA_PLATFORM
for am62l.

License-Udpate: am62l branch is now in line with master, so the md5sum
changed to match.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-19 14:10:01 -06:00
Ryan Eatmon
65ba600b16 conf: am64: Add ECDSA key signing
Add support for signing the u-boot files with an ECDSA key.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-19 14:10:01 -06:00
Antonios Christidis
135b7041e8 ti-img-rogue-*: Migrate GPU driver version 25.2 -> 25.3
New recipes for GPU DDK 25.3. Update BSP configuration file to
package driver, which now supports kernel 6.18.

Signed-off-by: Antonios Christidis <a-christidis@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-19 14:10:01 -06:00
Hari Nagalla
4107d315a5 ipc: ti-rpmsg-char: Update library to 0.6.11
update ti-rpmsg-char library to 0.6.11

It brings the below fixes:
dd4783422bf  lib: Do not update local endpoint
f26e4a30ca7  example: benchmark: move latencies array to data section.

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-19 14:10:01 -06:00
LCPD Automation Script
ee9f5e1dfe CI/CD Auto-Merger: cicd.master-ltsprep.202602181811
Updated the value(s) for:
  ti-linux-fw: TI_LINUX_FW_SRCREV
  u-boot-ti-staging_2026.01: SRCREV_uboot
  linux-ti-staging_6.18: PV,SRCREV

Changelogs:
  ti-linux-fw: https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/log/?qt=range&q=3c35ffe92dd85b5acfcbf350cd1a6cc829994b20..941e1f7a3b3f683a59a0e51fb78817eb31841430
  u-boot-ti-staging_2026.01: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?qt=range&q=65c7cac7324df20db0cfec1377fc3728018d5808..0c5b72a0b975e5e01ed6164cc9547526c680fe95
  linux-ti-staging_6.18: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?qt=range&q=abdf4e7f1d6d22a2162c91baa1f2a32f8e7adf88..49a4f3a41af39ec952f7caadb856418e1b734449

Signed-off-by: LCPD Automation Script <lcpdbld@list.ti.com>
2026-02-18 18:11:59 -06:00
Ryan Eatmon
123245b638 conf: Change weak assignment of IMAGE_BOOT_FILES
Rather than using ?= to default the value of IMAGE_BOOT_FILES, instead
use += to add the files we want to the probably empty value.

We ran into an issue where the recent ti-core-initramfs changes used +=
and overrode the ?= in k3.inc, resulting in no boot files being packaged
in the wic boot partition.  This addresses the issue by ensuring that we
never have a situation where the required files are not in the final
list.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
2026-02-17 16:05:14 -06:00
69 changed files with 875 additions and 644 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

@@ -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"

View File

@@ -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"

View 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"

View 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"

View File

@@ -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 \

View File

@@ -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%"

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

@@ -9,6 +9,7 @@ KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62a7-sk-edgeai \
ti/k3-am62x-sk \
ti/k3-am62a7-sk-rpi-hdr-ehrpwm \
ti/k3-am62a7-sk-e3-max-opp \
"
KERNEL_DEVICETREE = ""

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

@@ -4,4 +4,16 @@
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am64x_evm_r5_defconfig"
UBOOT_MACHINE = ""
UBOOT_ECDSA_SIGN_CONFIG ?= "ecdsa"
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} main"
UBOOT_CONFIG[main] = "am64x_evm_r5_defconfig"
UBOOT_CONFIG[ecdsa] = "am64x_evm_r5_defconfig"
UBOOT_CONFIG_MAKE_OPTS[ecdsa] = "${TI_SIGN_WITH_ECDSA_KEY}"

View File

@@ -4,4 +4,21 @@
require conf/machine/include/am64xx.inc
UBOOT_MACHINE = "am64x_evm_a53_defconfig"
UBOOT_ECDSA_SIGN_CONFIG ?= "ecdsa"
UBOOT_ECDSA_SIGN_CONFIG:bsp-ti-6_6 = ""
UBOOT_ECDSA_SIGN_CONFIG:bsp-next = ""
UBOOT_ECDSA_SIGN_CONFIG:bsp-mainline = ""
ECDSA_BOOT_FILES ?= "tiboot3.bin-ecdsa tiboot3-*-evm.bin-ecdsa tispl.bin-ecdsa u-boot.img-ecdsa"
ECDSA_BOOT_FILES:bsp-ti-6_6 = ""
ECDSA_BOOT_FILES:bsp-next = ""
ECDSA_BOOT_FILES:bsp-mainline = ""
UBOOT_MACHINE = ""
UBOOT_CONFIG = "${UBOOT_ECDSA_SIGN_CONFIG} main"
UBOOT_CONFIG[main] = "am64x_evm_a53_defconfig"
UBOOT_CONFIG[ecdsa] = "am64x_evm_a53_defconfig"
UBOOT_CONFIG_MAKE_OPTS[ecdsa] = "${TI_SIGN_WITH_ECDSA_KEY}"
IMAGE_BOOT_FILES += "${ECDSA_BOOT_FILES}"

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

@@ -45,6 +45,6 @@ MACHINE_FEATURES = "apm usbgadget usbhost vfat ext2 screen alsa mmip dsp gc320 p
IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
WKS_FILE ?= "sdimage-2part.wks"
IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES} ipc/dra7-ipu1-fw.xem4;dra7-ipu1-fw.xem4"
IMAGE_BOOT_FILES += "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES} ipc/dra7-ipu1-fw.xem4;dra7-ipu1-fw.xem4"
do_image_wic[depends] += "virtual/bootloader:do_deploy"
do_image_wic[depends] += "ti-rtos-messageq-test-fw:do_deploy"

View File

@@ -3,7 +3,8 @@ SOC_FAMILY:append = ":am62lxx"
MACHINE_FEATURES += "screen"
TFA_BOARD = "am62l"
TFA_BOARD = "am62lx"
TFA_K3_SYSTEM_SUSPEND = "1"
TFA_PLATFORM = "k3low"
OPTEEMACHINE = "k3-am62lx"

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

@@ -43,7 +43,7 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "ti-pka-fw"
IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
IMAGE_BOOT_FILES ?= "${SPL_BINARYNAME} u-boot.${UBOOT_SUFFIX} tiboot3.bin tiboot3-*-evm.bin"
IMAGE_BOOT_FILES += "${SPL_BINARYNAME} u-boot.${UBOOT_SUFFIX} tiboot3.bin tiboot3-*-evm.bin"
IMAGE_EFI_BOOT_FILES ?= "${IMAGE_BOOT_FILES}"
EFI_PROVIDER ?= "grub-efi"
@@ -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

@@ -4,7 +4,7 @@
# well as a dedicated machine override.
# Supported options are: mainline, next, ti-6_18, ti-6_12, ti-6_6
TI_PREFERRED_BSP ??= "ti-6_12"
TI_PREFERRED_BSP ??= "ti-6_18"
# Use bsp-* namespace for overrides
MACHINEOVERRIDES =. "bsp-${TI_PREFERRED_BSP}:"
@@ -42,6 +42,10 @@ BSP_KERNEL_VERSION:bsp-ti-6_18 = "6.18%"
BSP_BOOTLOADER_PROVIDER:bsp-ti-6_18 = "u-boot-ti-staging"
BSP_BOOTLOADER_VERSION:bsp-ti-6_18 = "2026.01%"
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%"
# ==========
# ti-6_12
# TI staging kernel 6.12, u-boot 2025.01

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

@@ -91,5 +91,5 @@ MACHINE_FEATURES = "apm usbgadget usbhost vfat ext2 alsa"
IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
WKS_FILE ?= "sdimage-2part.wks"
IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
IMAGE_BOOT_FILES += "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
do_image_wic[depends] += "virtual/bootloader:do_deploy"

View File

@@ -63,5 +63,5 @@ MACHINE_FEATURES = "apm usbgadget usbhost vfat ext2 screen alsa"
IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
WKS_FILE ?= "sdimage-2part.wks"
IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
IMAGE_BOOT_FILES += "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES}"
do_image_wic[depends] += "virtual/bootloader:do_deploy"

View File

@@ -5,3 +5,11 @@
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "j722s_evm_r5_defconfig"
UBOOT_MACHINE:tie-test-builds = ""
UBOOT_CONFIG = "main"
UBOOT_CONFIG:prepend:tie-test-builds = "usbdfu "
UBOOT_CONFIG[main] = "j722s_evm_r5_defconfig"
UBOOT_CONFIG[usbdfu] = "j722s_evm_r5_defconfig"
UBOOT_CONFIG_FRAGMENTS[usbdfu] = "am62x_r5_usbdfu.config"

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

@@ -13,11 +13,11 @@ COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|j742s2|am62xx|am62pxx|j722s"
DEPENDS = "virtual/kernel"
BRANCH = "linuxws/scarthgap/k6.12/${PV}"
BRANCH = "linuxws/scarthgap/k6.18/${PV}"
SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-driver.git;protocol=https;branch=${BRANCH}"
SRCREV = "72723eea0cab47c20e5734c1c7b9a441ed2d74c2"
SRCREV = "d241b0d5df404c60b80233bb5116b596039062e6"
TARGET_PRODUCT:j721e = "j721e_linux"

View File

@@ -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 ?= "3c35ffe92dd85b5acfcbf350cd1a6cc829994b20"
TI_LINUX_FW_SRCREV ?= "9e9d50ff563f83db86d36b72cd7fb4f487d6b414"
SRCREV = "${TI_LINUX_FW_SRCREV}"
BRANCH ?= "ti-linux-firmware"

View File

@@ -2,17 +2,17 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/trusted-firmware-a:"
PV = "2.13+git"
PV = "2.14+git"
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e"
SRCREV_tfa = "e0c4d3903b382bf34f552af53e6d955fae5283ab"
SRCREV_tfa = "76500ceaeefcda967d8a1f4e30bb04f9fe0425a2"
SRC_URI_TRUSTED_FIRMWARE_A = "git://git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=https"
SRCBRANCH = "master"
LIC_FILES_CHKSUM:am62lxx = "file://docs/license.rst;md5=1118e32884721c0be33267bd7ae11130"
SRCREV_tfa:am62lxx = "946454003b9f7e3c8e6d2284e00e0c07d5f56290"
LIC_FILES_CHKSUM:am62lxx = "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e"
SRCREV_tfa:am62lxx = "17d2997c0e7d4549720a5d176916f5ea0f63b009"
SRC_URI_TRUSTED_FIRMWARE_A:am62lxx = "git://github.com/TexasInstruments/arm-trusted-firmware.git;protocol=https"
SRCBRANCH:am62lxx = "ti-master"
SRCBRANCH:am62lxx = "ti-tfa-2.14.y"
SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_A};name=tfa;branch=${SRCBRANCH}"
@@ -30,14 +30,3 @@ EXTRA_OEMAKE += "${@ 'BL32_BASE=' + d.getVar('TFA_K3_BL32_BASE') if d.getVar('TF
EXTRA_OEMAKE += "${@ 'PRELOADED_BL33_BASE=' + d.getVar('TFA_K3_PRELOADED_BL33') if d.getVar('TFA_K3_PRELOADED_BL33') 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"
# LPM support patches for Jacinto platforms (J7200, J742S2, J784S4)
TFA_JACINTO_LPM_PATCHES = " \
file://0001-feat-k3-choose-cluster_start_id-depending-on-the-soc.patch \
file://0002-feat-ti-add-message-to-encrypt-tfa-during-suspend.patch \
file://0003-feat-k3-handle-suspend-in-case-of-LPM_BOARDCFG_MANAG.patch \
"
SRC_URI:append:j7200 = " ${TFA_JACINTO_LPM_PATCHES}"
SRC_URI:append:j742s2 = " ${TFA_JACINTO_LPM_PATCHES}"
SRC_URI:append:j784s4 = " ${TFA_JACINTO_LPM_PATCHES}"

View File

@@ -1,115 +0,0 @@
From 3de4f871d9bfe29c3862860e494bfa70ba72af3e Mon Sep 17 00:00:00 2001
From: Abhash Kumar Jha <a-kumar2@ti.com>
Date: Mon, 20 Oct 2025 11:26:17 +0530
Subject: [PATCH 1/3] feat(k3): choose cluster_start_id depending on the soc
The CLUSTER_DEVICE_START_ID denotes the device id of the A-core cluster.
It is utilized when powering off the entire cluster.
J7200, J721E and J721S2 have a different cluster_start_id than their
"generic" counterparts.
Query the JTAG_ID register to get the part id and choose the
cluster_start_id depending on that.
Upstream-Status: Pending
Change-Id: I44d3ac0ec646c39019e4c0167d34f410015a147a
Signed-off-by: Abhash Kumar Jha <a-kumar2@ti.com>
---
plat/ti/k3/common/k3_bl31_setup.c | 1 +
plat/ti/k3/common/k3_psci.c | 25 ++++++++++++++++++++++++-
plat/ti/k3/include/platform_def.h | 16 ++++++++++++++++
3 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/plat/ti/k3/common/k3_bl31_setup.c b/plat/ti/k3/common/k3_bl31_setup.c
index 1b93dc860..79a9c924c 100644
--- a/plat/ti/k3/common/k3_bl31_setup.c
+++ b/plat/ti/k3/common/k3_bl31_setup.c
@@ -20,6 +20,7 @@ const mmap_region_t plat_k3_mmap[] = {
K3_MAP_REGION_FLAT(SEC_PROXY_RT_BASE, SEC_PROXY_RT_SIZE, MT_DEVICE | MT_RW | MT_SECURE),
K3_MAP_REGION_FLAT(SEC_PROXY_SCFG_BASE, SEC_PROXY_SCFG_SIZE, MT_DEVICE | MT_RW | MT_SECURE),
K3_MAP_REGION_FLAT(SEC_PROXY_DATA_BASE, SEC_PROXY_DATA_SIZE, MT_DEVICE | MT_RW | MT_SECURE),
+ K3_MAP_REGION_FLAT(WKUP_CTRL_MMR0_BASE, WKUP_CTRL_MMR0_SIZE, MT_DEVICE | MT_RW | MT_SECURE),
{ /* sentinel */ }
};
diff --git a/plat/ti/k3/common/k3_psci.c b/plat/ti/k3/common/k3_psci.c
index ec37d9f4c..a443dd851 100644
--- a/plat/ti/k3/common/k3_psci.c
+++ b/plat/ti/k3/common/k3_psci.c
@@ -11,6 +11,8 @@
#include <common/debug.h>
#include <lib/el3_runtime/cpu_data.h>
#include <lib/psci/psci.h>
+#include <lib/mmio.h>
+#include <lib/utils_def.h>
#include <plat/common/platform.h>
#include <ti_sci_protocol.h>
@@ -83,6 +85,27 @@ static int k3_pwr_domain_on(u_register_t mpidr)
return PSCI_E_SUCCESS;
}
+uint32_t get_plat_cluster_start_id()
+{
+ static uint32_t cluster_id;
+ uint32_t part_id, jtag_id_reg;
+
+ if (cluster_id) {
+ return cluster_id;
+ }
+
+ jtag_id_reg = mmio_read_32(WKUP_CTRL_MMR0_BASE + JTAG_ID);
+ part_id = EXTRACT(JTAG_PART_ID, jtag_id_reg);
+
+ if ((part_id == J7200_PART_ID) || (part_id == J721E_PART_ID) || (part_id == J721S2_PART_ID)) {
+ cluster_id = J7_PLAT_CLUSTER_DEVICE_START_ID;
+ } else {
+ cluster_id = PLAT_CLUSTER_DEVICE_START_ID;
+ }
+
+ return cluster_id;
+}
+
void k3_pwr_domain_off(const psci_power_state_t *target_state)
{
int core, cluster, proc_id, device_id, cluster_id, ret;
@@ -97,7 +120,7 @@ void k3_pwr_domain_off(const psci_power_state_t *target_state)
cluster = MPIDR_AFFLVL1_VAL(read_mpidr_el1());
proc_id = PLAT_PROC_START_ID + core;
device_id = PLAT_PROC_DEVICE_START_ID + core;
- cluster_id = PLAT_CLUSTER_DEVICE_START_ID + (cluster * 2);
+ cluster_id = get_plat_cluster_start_id() + (cluster * 2);
/*
* If we are the last core in the cluster then we take a reference to
diff --git a/plat/ti/k3/include/platform_def.h b/plat/ti/k3/include/platform_def.h
index db5e31d95..d191781a6 100644
--- a/plat/ti/k3/include/platform_def.h
+++ b/plat/ti/k3/include/platform_def.h
@@ -25,6 +25,22 @@
#define SEC_PROXY_RT_SIZE 0x80000
#endif /* K3_SEC_PROXY_LITE */
+#define WKUP_CTRL_MMR0_BASE UL(0x43000000)
+#define WKUP_CTRL_MMR0_SIZE UL(0x20000)
+#define JTAG_ID U(0x14)
+#define JTAG_PART_ID_MASK GENMASK(27, 12)
+
+#define J721E_PART_ID U(0xBB64)
+#define J7200_PART_ID U(0xBB6D)
+#define J721S2_PART_ID U(0xBB75)
+#define J784S4_J742S2_PART_ID U(0xBB80)
+
+#define JTAG_PART_ID_WIDTH U(0x10)
+#define JTAG_PART_ID_SHIFT U(0xC)
+
+/* A-core Cluster Device ID for j721e, j7200 and j721s2 */
+#define J7_PLAT_CLUSTER_DEVICE_START_ID U(0x4)
+
#define SEC_PROXY_TIMEOUT_US 1000000
#define SEC_PROXY_MAX_MESSAGE_SIZE 56
--
2.34.1

View File

@@ -1,194 +0,0 @@
From c79ff3679a4360bb848b01d4036c365533fcf791 Mon Sep 17 00:00:00 2001
From: Richard Genoud <richard.genoud@bootlin.com>
Date: Tue, 11 Feb 2025 18:20:17 +0100
Subject: [PATCH 2/3] feat(ti): add message to encrypt tfa during suspend
At suspend, BL31 with its context will be encrypted by TIFS in DDR.
Encryption is needed for security matters, so that the BL31 is not
modified before entering suspend or early at resume.
We only need the encryption function here because the decryption message
will be send by the R5 SPL at resume.
Also introduce the LPM_ENCRYPT_IMAGE cap signals that FW has the support
to encrypt the image using the TISCI_MSG_LPM_ENCRYPT tisci message.
This is useful in suspend to ram cases where we would like to
store the encrypted image of a secure fw instead of the original image
itself in the DDR.
Check for LPM_ENCRYPT_IMAGE flag in the FW capabilities, and only then
call encrypt.
Upstream-Status: Pending
Change-Id: I266472da87dd0821493019b2d9853f8886f33811
Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Signed-off-by: Abhash Kumar Jha <a-kumar2@ti.com>
---
drivers/ti/ti_sci/ti_sci.c | 36 +++++++++++++++++++++++++++++
drivers/ti/ti_sci/ti_sci.h | 7 ++++++
drivers/ti/ti_sci/ti_sci_protocol.h | 32 +++++++++++++++++++++++++
plat/ti/k3/common/k3_psci.c | 10 ++++++++
4 files changed, 85 insertions(+)
diff --git a/drivers/ti/ti_sci/ti_sci.c b/drivers/ti/ti_sci/ti_sci.c
index f0813e5b0..ee5f7166f 100644
--- a/drivers/ti/ti_sci/ti_sci.c
+++ b/drivers/ti/ti_sci/ti_sci.c
@@ -1784,3 +1784,39 @@ int ti_sci_lpm_get_next_sys_mode(uint8_t *next_mode)
return 0;
}
+/*
+ * ti_sci_encrypt_tfa - Ask TIFS to encrypt TFA at a specific address
+ *
+ * @src_tfa_addr: Address where the TFA lies unencrypted
+ * @src_tfa_len: Size of the TFA unencrypted
+ *
+ * Return: 0 if all goes well, else appropriate error message
+ */
+int ti_sci_encrypt_tfa(uint64_t src_tfa_addr,
+ uint32_t src_tfa_len)
+{
+ struct ti_sci_msg_req_encrypt_tfa req = { 0 };
+ struct ti_sci_msg_resp_encrypt_tfa resp = { 0 };
+ struct ti_sci_xfer xfer;
+ int ret;
+
+ ret = ti_sci_setup_one_xfer(TISCI_MSG_LPM_ENCRYPT_TFA, 0,
+ &req, sizeof(req),
+ &resp, sizeof(resp),
+ &xfer);
+ if (ret != 0U) {
+ ERROR("Message alloc failed (%d)\n", ret);
+ return ret;
+ }
+
+ req.src_tfa_addr = src_tfa_addr;
+ req.src_tfa_len = src_tfa_len;
+
+ ret = ti_sci_do_xfer(&xfer);
+ if (ret != 0U) {
+ ERROR("Transfer send failed (%d)\n", ret);
+ return ret;
+ }
+
+ return 0;
+}
diff --git a/drivers/ti/ti_sci/ti_sci.h b/drivers/ti/ti_sci/ti_sci.h
index 1f1963274..2afa11317 100644
--- a/drivers/ti/ti_sci/ti_sci.h
+++ b/drivers/ti/ti_sci/ti_sci.h
@@ -258,6 +258,11 @@ int ti_sci_proc_wait_boot_status_no_wait(uint8_t proc_id,
*
* Return: 0 if all goes well, else appropriate error message
*
+ * - ti_sci_encrypt_tfa - Ask TIFS to encrypt TFA at a specific address
+ *
+ * @src_tfa_addr: Address where the TFA lies unencrypted
+ * @src_tfa_len: Size of the TFA unencrypted
+ *
* NOTE: for all these functions, the following are generic in nature:
* Returns 0 for successful request, else returns corresponding error message.
*/
@@ -265,5 +270,7 @@ int ti_sci_enter_sleep(uint8_t proc_id,
uint8_t mode,
uint64_t core_resume_addr);
int ti_sci_lpm_get_next_sys_mode(uint8_t *next_mode);
+int ti_sci_encrypt_tfa(uint64_t src_tfa_addr,
+ uint32_t src_tfa_len);
#endif /* TI_SCI_H */
diff --git a/drivers/ti/ti_sci/ti_sci_protocol.h b/drivers/ti/ti_sci/ti_sci_protocol.h
index bdd24622a..a165cda99 100644
--- a/drivers/ti/ti_sci/ti_sci_protocol.h
+++ b/drivers/ti/ti_sci/ti_sci_protocol.h
@@ -53,6 +53,9 @@
#define TISCI_MSG_GET_PROC_BOOT_STATUS 0xc400
#define TISCI_MSG_WAIT_PROC_BOOT_STATUS 0xc401
+/* TFA encrypt/decrypt messages */
+#define TISCI_MSG_LPM_ENCRYPT_TFA 0x030F
+
/**
* struct ti_sci_secure_msg_hdr - Header that prefixes all TISCI messages sent
* via secure transport.
@@ -160,6 +163,7 @@ struct ti_sci_msg_resp_query_fw_caps {
#define MSG_FLAG_CAPS_LPM_STANDBY TI_SCI_MSG_FLAG(3)
#define MSG_FLAG_CAPS_LPM_PARTIAL_IO TI_SCI_MSG_FLAG(4)
#define MSG_FLAG_CAPS_LPM_DM_MANAGED TI_SCI_MSG_FLAG(5)
+#define MSG_FLAG_CAPS_LPM_ENCRYPT_IMAGE TI_SCI_MSG_FLAG(11)
uint64_t fw_caps;
} __packed;
@@ -810,4 +814,32 @@ struct ti_sci_msg_resp_lpm_get_next_sys_mode {
uint8_t mode;
} __packed;
+/*
+ * struct ti_sci_msg_req_encrypt_tfa - Request for TISCI_MSG_LPM_ENCRYPT_TFA.
+ *
+ * @hdr Generic Header
+ * @src_tfa_addr: Address where the TFA lies unencrypted
+ * @src_tfa_len: Size of the TFA unencrypted
+ *
+ * This message is to be sent when the system is going in suspend, just before
+ * TI_SCI_MSG_ENTER_SLEEP.
+ * The TIFS will then encrypt the TFA and store it in RAM, along with a private
+ * header.
+ * Upon resume, the SPL will ask TIFS to decrypt it back.
+ */
+struct ti_sci_msg_req_encrypt_tfa {
+ struct ti_sci_msg_hdr hdr;
+ uint64_t src_tfa_addr;
+ uint32_t src_tfa_len;
+} __packed;
+
+/*
+ * struct ti_sci_msg_req_encrypt_tfa - Request for TISCI_MSG_LPM_ENCRYPT_TFA.
+ *
+ * @hdr Generic Header
+ */
+struct ti_sci_msg_resp_encrypt_tfa {
+ struct ti_sci_msg_hdr hdr;
+} __packed;
+
#endif /* TI_SCI_PROTOCOL_H */
diff --git a/plat/ti/k3/common/k3_psci.c b/plat/ti/k3/common/k3_psci.c
index a443dd851..c2017666b 100644
--- a/plat/ti/k3/common/k3_psci.c
+++ b/plat/ti/k3/common/k3_psci.c
@@ -24,6 +24,7 @@
#define SYSTEM_PWR_STATE(state) ((state)->pwr_domain_state[PLAT_MAX_PWR_LVL])
uintptr_t k3_sec_entrypoint;
+bool encrypt_image;
static void k3_cpu_standby(plat_local_state_t cpu_state)
{
@@ -282,6 +283,11 @@ static void k3_pwr_domain_suspend_to_mode(const psci_power_state_t *target_state
k3_gic_cpuif_disable();
k3_gic_save_context();
+ if (encrypt_image)
+ {
+ ti_sci_encrypt_tfa((uint64_t)__TEXT_START__, BL31_SIZE);
+ }
+
k3_pwr_domain_off(target_state);
ti_sci_enter_sleep(proc_id, mode, k3_sec_entrypoint);
@@ -347,6 +353,10 @@ int plat_setup_psci_ops(uintptr_t sec_entrypoint,
ERROR("Unable to query firmware capabilities (%d)\n", ret);
}
+ if (fw_caps & MSG_FLAG_CAPS_LPM_ENCRYPT_IMAGE) {
+ encrypt_image = true;
+ }
+
/* If firmware does not support any known suspend mode */
if (!(fw_caps & (MSG_FLAG_CAPS_LPM_DEEP_SLEEP |
MSG_FLAG_CAPS_LPM_MCU_ONLY |
--
2.34.1

View File

@@ -1,68 +0,0 @@
From 470cf022d03e350beab36605d4250944d2c92ffe Mon Sep 17 00:00:00 2001
From: Abhash Kumar Jha <a-kumar2@ti.com>
Date: Tue, 28 Oct 2025 23:24:22 +0530
Subject: [PATCH 3/3] feat(k3): handle suspend in case of LPM_BOARDCFG_MANAGED
The J7 platforms support LPM_BOARDCFG_MANAGED capability where the
low power mode configuration is done statically for the DM via the
pm-boardcfg.
This is entirely opposite to the case of DM_MANAGED, where the DM fw
decides the low power mode to enter into.
Introduce LPM_BOARDCFG_MANAGED cap to handle suspend for those
platforms as well.
Upstream-Status: Pending
Change-Id: Iaa0ab478cbe0db6652f61e9d733c0fddb4bab234
Signed-off-by: Abhash Kumar Jha <a-kumar2@ti.com>
---
drivers/ti/ti_sci/ti_sci_protocol.h | 1 +
plat/ti/k3/common/k3_psci.c | 13 ++++++++-----
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/ti/ti_sci/ti_sci_protocol.h b/drivers/ti/ti_sci/ti_sci_protocol.h
index a165cda99..b83174b0d 100644
--- a/drivers/ti/ti_sci/ti_sci_protocol.h
+++ b/drivers/ti/ti_sci/ti_sci_protocol.h
@@ -164,6 +164,7 @@ struct ti_sci_msg_resp_query_fw_caps {
#define MSG_FLAG_CAPS_LPM_PARTIAL_IO TI_SCI_MSG_FLAG(4)
#define MSG_FLAG_CAPS_LPM_DM_MANAGED TI_SCI_MSG_FLAG(5)
#define MSG_FLAG_CAPS_LPM_ENCRYPT_IMAGE TI_SCI_MSG_FLAG(11)
+#define MSG_FLAG_CAPS_LPM_BOARDCFG_MANAGED TI_SCI_MSG_FLAG(12)
uint64_t fw_caps;
} __packed;
diff --git a/plat/ti/k3/common/k3_psci.c b/plat/ti/k3/common/k3_psci.c
index c2017666b..9cf41b4cb 100644
--- a/plat/ti/k3/common/k3_psci.c
+++ b/plat/ti/k3/common/k3_psci.c
@@ -357,17 +357,20 @@ int plat_setup_psci_ops(uintptr_t sec_entrypoint,
encrypt_image = true;
}
- /* If firmware does not support any known suspend mode */
- if (!(fw_caps & (MSG_FLAG_CAPS_LPM_DEEP_SLEEP |
+ /* If firmware is capabale of low power modes */
+ if (fw_caps & (MSG_FLAG_CAPS_LPM_DM_MANAGED |
+ MSG_FLAG_CAPS_LPM_BOARDCFG_MANAGED)) {
+ k3_plat_psci_ops.pwr_domain_suspend = k3_pwr_domain_suspend_dm_managed;
+ } else if (!(fw_caps & (MSG_FLAG_CAPS_LPM_DEEP_SLEEP |
MSG_FLAG_CAPS_LPM_MCU_ONLY |
MSG_FLAG_CAPS_LPM_STANDBY |
MSG_FLAG_CAPS_LPM_PARTIAL_IO))) {
- /* Disable PSCI suspend support */
+ /* If firmware does not support any known suspend mode
+ * disable PSCI suspend support
+ */
k3_plat_psci_ops.pwr_domain_suspend = NULL;
k3_plat_psci_ops.pwr_domain_suspend_finish = NULL;
k3_plat_psci_ops.get_sys_suspend_power_state = NULL;
- } else if (fw_caps & MSG_FLAG_CAPS_LPM_DM_MANAGED) {
- k3_plat_psci_ops.pwr_domain_suspend = k3_pwr_domain_suspend_dm_managed;
}
*psci_ops = &k3_plat_psci_ops;
--
2.34.1

View File

@@ -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"

View File

@@ -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"

View File

@@ -4,6 +4,4 @@ PR = "r0"
BRANCH = "ti-u-boot-2026.01"
SRCREV_uboot = "65c7cac7324df20db0cfec1377fc3728018d5808"
DEFAULT_PREFERENCE = "-1"
SRCREV_uboot = "2549829cc194ffd9e38b755d2e10c7fc4cd971eb"

View File

@@ -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

View File

@@ -21,8 +21,9 @@ SRC_URI = " \
file://0001-Update-lp_bld_misc.cpp-to-support-llvm-19.patch \
"
SRCREV = "68af6a102c2298569e77d1aa8bccc1ff61438b3e"
SRCREV = "7c82c1eebc67f5a62a347a84d42fe795cf7f523b"
PV = "24.0.1"
PR = "r1"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|j742s2|am62xx|am62pxx|j722s"
BRANCH = "linuxws/scarthgap/k6.12/${PV}"
BRANCH = "linuxws/scarthgap/k6.18/${PV}"
SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}"
SRCREV = "adcbb5c620ff172da4152c02a2fee8f42dc4c472"
SRCREV = "2ecc98c61aedd931d8acf6fb4a1150ebf57fb178"
TARGET_PRODUCT:j721e = "j721e_linux"
TARGET_PRODUCT:j721s2 = "j721s2_linux"

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,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

@@ -1,60 +0,0 @@
From 4907fa9ff1dbdd72ce9fa7855091fb604a35a62d Mon Sep 17 00:00:00 2001
From: Ryan Eatmon <reatmon@ti.com>
Date: Wed, 17 Jul 2024 14:55:10 -0500
Subject: [PATCH] vt/conmakehash: improve reproducibility for v6.10
The file generated by conmakehash capture the application
path used to generate the file. While that can be informative,
it varies based on where the kernel was built, as the full
path is captured.
We tweak the application to use a second input as the "capture
name", and then modify the Makefile to pass the basename of
the source, making it reproducible.
This could be improved by using some sort of path mapping,
or the application manipualing argv[1] itself, but for now
this solves the reprodicibility issue.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Upstream-Status: Inappropriate
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
This is a minior rework of Bruce's original patch for the v6.10 kernel.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
drivers/tty/vt/Makefile | 2 +-
drivers/tty/vt/conmakehash.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/vt/Makefile b/drivers/tty/vt/Makefile
index 2c8ce8b592ed..8532077ed3bb 100644
--- a/drivers/tty/vt/Makefile
+++ b/drivers/tty/vt/Makefile
@@ -15,7 +15,7 @@ clean-files := consolemap_deftbl.c defkeymap.c
hostprogs += conmakehash
quiet_cmd_conmk = CONMK $@
- cmd_conmk = $(obj)/conmakehash $< > $@
+ cmd_conmk = $(obj)/conmakehash $< $(shell basename $<) > $@
$(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash
$(call cmd,conmk)
diff --git a/drivers/tty/vt/conmakehash.c b/drivers/tty/vt/conmakehash.c
index dc2177fec715..9cd4096a8ffa 100644
--- a/drivers/tty/vt/conmakehash.c
+++ b/drivers/tty/vt/conmakehash.c
@@ -112,6 +112,8 @@ int main(int argc, char *argv[])
else
rel_tblname = tblname;
+ rel_tblname = argv[2];
+
/* For now we assume the default font is always 256 characters. */
fontlen = 256;
--
2.17.1

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

@@ -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 \
"

View File

@@ -22,8 +22,8 @@ S = "${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}"
BRANCH ?= "ti-linux-6.18.y"
SRCREV ?= "abdf4e7f1d6d22a2162c91baa1f2a32f8e7adf88"
PV = "6.18.9+git"
SRCREV ?= "c2a0b0f74338c37df910115a103b002c1d7f9d38"
PV = "6.18.13+git"
KERNEL_REPRODUCIBILITY_PATCHES = " \
file://0001-perf-python-Fix-compile-for-32bit-platforms.patch \
@@ -36,4 +36,10 @@ module_conf_ti_k3_r5_remoteproc = "softdep ti_k3_r5_remoteproc pre: virtio_rpmsg
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"
DEFAULT_PREFERENCE = "-1"
# 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

@@ -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"

View File

@@ -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"

View File

@@ -1,2 +1,2 @@
PV = "4.9.0+git"
SRCREV = "c2b0684fcd89929976a8726e6e3af922b48dd2c7"
SRCREV = "f2a7ad0638aeff5243593b33cc56ad064cae7615"

View File

@@ -1,45 +0,0 @@
From 00f74ba2ab00088d51e6da3c0eefe50599ef5c82 Mon Sep 17 00:00:00 2001
From: Prasanth Babu Mantena <p-mantena@ti.com>
Date: Mon, 3 Nov 2025 12:42:57 +0530
Subject: [PATCH] plat-k3: drivers: Open TRNG firewall for TIFS on all k3 devs
On k3 devices, TRNG is firewalled to be accessed only by OPTEE.
TIFS needs this for the encryption and decryption services to support
different low power modes. So, open firewall to TIFS as well.
There is no concurrent usage of TRNG, as TIFS uses TRNG only at suspend
when OPTEE is down and resume, when firewalls are restored but OPTEE is
not up yet.
As this is a firewall that required to be shared along with TIFS on all
devices, making this a common change and open on all devs.
Upstream-Status: Submitted [https://github.com/OP-TEE/optee_os/pull/7582]
Signed-off-by: Prasanth Babu Mantena <p-mantena@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
---
core/arch/arm/plat-k3/drivers/sa2ul.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/core/arch/arm/plat-k3/drivers/sa2ul.c b/core/arch/arm/plat-k3/drivers/sa2ul.c
index c50757b2c..e10bde131 100644
--- a/core/arch/arm/plat-k3/drivers/sa2ul.c
+++ b/core/arch/arm/plat-k3/drivers/sa2ul.c
@@ -121,12 +121,7 @@ static TEE_Result sa2ul_init(void)
start_address = RNG_BASE;
end_address = RNG_BASE + RNG_REG_SIZE - 1;
permissions[num_perm++] = (FW_BIG_ARM_PRIVID << 16) | FW_SECURE_ONLY;
-#if defined(PLATFORM_FLAVOR_am62x) || \
- defined(PLATFORM_FLAVOR_am62ax) || \
- defined(PLATFORM_FLAVOR_am62px)
-
permissions[num_perm++] = (FW_TIFS_PRIVID << 16) | FW_NON_SECURE;
-#endif
ret = ti_sci_set_fwl_region(fwl_id, rng_region, num_perm,
control, permissions,
start_address, end_address);
--
2.34.1

View File

@@ -21,4 +21,5 @@ RDEPENDS:${PN} += "\
initramfs-framework-base \
initramfs-module-udev \
initramfs-module-nfsrootfs \
nfs-utils-mount \
"

View File

@@ -34,6 +34,8 @@ SYSTEMD_SERVICE:${PN} = "tiipclad-daemon.service"
EXTRA_OECONF += "PLATFORM=${PLATFORM} KERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR} KERNEL_BUILD_DIR=${STAGING_KERNEL_BUILDDIR}"
DISABLE_STATIC = ""
do_compile[depends] += "virtual/kernel:do_shared_workdir"
do_configure() {

View File

@@ -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)$"

View File

@@ -7,9 +7,9 @@ PROTOCOL = "https"
BRANCH = "master"
SRC_URI = "git://git.ti.com/git/rpmsg/ti-rpmsg-char.git;protocol=${PROTOCOL};branch=${BRANCH};"
# 0.6.10 release
SRCREV = "057b1a249261e26d00c501b59646957160ec815b"
# 0.6.11 release
SRCREV = "dd4783422bf4fbed1015bfaa51054e40057b4f04"
PV = "0.6.10+git"
PV = "0.6.11+git"
COMPATIBLE_MACHINE = "^(k3)$"

View File

@@ -5,3 +5,5 @@ require ti-rpmsg-char.inc
inherit autotools pkgconfig
PR = "r0"
DISABLE_STATIC = ""

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

@@ -22,3 +22,5 @@ RDEPENDS:${PN} = "debugss-module-drv bash"
include dsptop.inc
PARALLEL_MAKE = ""
SECURITY_STRINGFORMAT:remove = "-Werror=format-security"

View File

@@ -51,3 +51,5 @@ PARALLEL_MAKE = ""
# Disable the "buildpaths" check while we figure out how we are
# going to address this issue.
INSANE_SKIP:${PN} += "buildpaths"
lcl_maybe_fortify = "${@oe.utils.conditional('OPTLEVEL','-O0','','${OPTLEVEL}',d)}"

View File

@@ -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}

View File

@@ -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' \

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} \
@@ -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
}