Add support for packaging AM64x PRU firmwares separately
Previously, AM64x platforms used the same PRU firmware binaries as
AM65x (the "am65x-sr2-*" files). This patch updates the recipes to
package dedicated AM64x PRU firmware binaries, ensuring that AM64x
devices use the correct firmware files.
The following changes are made:
- Add AM64x-specific firmware binaries to the TARGET lists in the
prueth-fw, pruhsr-fw, pruprp-fw, and prusw-fw recipes.
- Update COMPATIBLE_MACHINE in pruprp-fw to include "am64xx".
- Add new PRU PRP firmware binaries for AM64x, as AM64x now supports
PRP mode.
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Add TAD5212 DAC firmware images for am62dxx-evm to support two DAC
configurations:
- tad5212_01.bin: Configures 1 DAC with stereo channel in i2s mode.
- tad5212_04.bin: Configures 4 DAC with each having stereo channel
support in i2s mode.
Signed-off-by: Vishnu Singh <v-singh1@ti.com>
Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Previously, AM62d build reused AM62a's IPC firmwares. Now that
dedicated AM62d IPC firmwares are being pushed to ti-linux-firmware
repo, package the new IPC firmwares for echo test.
Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
When specifying multiple git repos in the SRC_URI and you want the
"secondary" repositories to appear within the directory structure of the
primary repository, then we need to make sure that the destsuffix is
correct. With the change to calculating the value of S to use
BB_GIT_DEFAULT_DESTSUFFIX, we need to make sure that the destsuffix is
based on that variable as well.
Also, update the paths for S to be within new source location.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
If a recipe is fetching an entire git repo and then just building a
single dir, then we need to update S to lock into the sub directory.
Easiest fix is to simply append the subdir to whatever the system wants
to set S to by default.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Removing all the S = ${WORKDIR}/git assignments works because BB_GIT_DEFAULT_DESTSUFFIX
is set to match S from bitbake.conf (which itself is set to match typical tarball
releases).
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
There is no need to have two assignments; also setting S from
UNPACKDIR (and not vice versa) is more logical as unpack
task comes first, and tasks that come after unpack use S to access
unpack results.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The kernel class operates a little differently. The kernel is
downloaded and then moved to the "global" shared location and a symlink
is created to point to that location. Since we cannot set S =
"${WORKDIR}/git" anymore, just choose a new name under UNPACKDIR. The
value for BB_GIT_DEFAULT_DESTSUFFIX is the subdir name that is used by
default when fetching git repositories, so just use that name.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
We would like to know the git commit for the build by looking at the
filenames of u-boot files. Include the value for PKGV in the names of
the files instead of PV.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Update all layers with the new Yocto release, fixing the current build
error:
ERROR: Layer meta-ti-bsp is not compatible with the core layer which
only supports these series: whinlatter (layer is compatible with styhead
walnascar)
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
We are seeing an error related to a check from oe-core wanting to make
sure that a package does not RDEPEND on a debug package.
ERROR: linux-bb.org-6.12.22+git-r0 do_package_qa: QA Issue: kernel-modules rdepends on kernel-module-g-dbgp-6.12.22-ti [debug-deps]
A bug has been filed:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15901
In the meantime, add debug-deps to the INSANE_SKIP list.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
A recent set of changes on oe-core has dramatically revamped the
fitimage generation code. It is initially unclear how to fold those
change into our flow, so in the short term we will copy the previous
versions of the kernel bbclass files from a commit before [1] any
changes to the class files.
As soon as we figure it out, these files will be removed. This just
help unblock anyone trying to build on master including meta-ti-bsp.
[1] https://git.openembedded.org/openembedded-core/commit/?id=fdb0a51598156f99aa91f7495d7eada92a459e97
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Package k3-am62a7-sk-edgeai.dtso for am62dxx-evm image. This overlay is
required for audio analytics for am62dxx-evm.
Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
For AM62L there is no GP and both HS sub-types are supported by the
same TIFS. This means we do not need multiple versions of tiboot3.bin.
So no need to deploy an additional version which is identical to the
default tiboot3.bin already deployed.
Signed-off-by: Andrew Davis <afd@ti.com>
Acked-by: Chirag Shilwant <c-shilwant@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Add configuration files for the new PocketBeagle2 platform.
U-boot support for this platform is still in its own branch.
Adjust U-boot bootcmd, since EFI boot doesn't seem to work.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Upgrade BeagleY-AI platform to 6.12 BSP.
U-boot support for this platform is still in its own branch.
Also adjust U-boot bootcmd, as Distro Boot doesn't fully work yet.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
TI is starting to run an automated checker for all incoming patches to
the mailing list. One of the checks is to scan all of the files in the
repository looking for things that we have flagged as the "right way" of
doing recipes. This file contains a set of exceptions that the checking
script is finding but can be skipped due to manual review.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Usually :append is used to add items to a space separated list. In
those cases the first character of the appended string should be a
space to make sure that the append is correct.
In this case, the space was embedded in the string and not right after
the ". Simple fix is to move the space to the front to be consistent.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Every recipe should have a SUMMARY and that can only be 72 characters at
most. Some of these recipes had DESCRIPTIONS and not SUMMARY, some were
missing the SUMMARY, and some had slightly too long values for the SUMMARY.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The AM62D SoC is a high-performance Digital Signal Processing (DSP)
device with a quad-core Cortex-A53 cluster, dual Cortex-R5F cores, and
a Cx7 DSP core with Matrix Multiplication Accelerator (MMA). It features
a range of peripherals, including multichannel audio serial ports,
Ethernet, UARTs, SPI, I2C, USB, and more.
This SoC is part of K3-AM62x family, which includes the AM62A and AM62P
variants. While the AM62A and AM62D are largely similar, the AM62D is
specifically targeted for general-purpose DSP applications, whereas the
AM62A focuses on edge AI workloads. A key distinction is that the AM62D
does not include multimedia components such as the video encoder/decoder,
MJPEG encoder, Vision Processing Accelerator (VPAC) for image signal
processing, or the display subsystem. Additionally, the AM62D has a
different pin configuration compared to the AM62A, which impacts embedded
software development.
The EVM board is a low-cost, expandable platform designed for the AM62D2
SoC, having 4GB LPDDR4 RAM, Gigabit Ethernet expansion connectors, audio
jacks, USB ports, and more.
Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This OP-TEE fTPM is a TA from Microsoft containing the reference
implementation of the TPM 2.0 Specification. As K3 OP-TEE now has the
necessary features supported to run this fTPM, enable it here. This will
serve as an example of using OP-TEE on K3 as a TPM without needing an
external harware TPM.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This is an old code base and hasn't been updated in a very long
time. It now fails to compile with gcc-15 (C23 standard). Force
compilation with GNU/C11 standard instead.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This is an old code base and hasn't been updated in a very long
time. It now fails to compile with gcc-15 (C23 standard). Force
compilation with GNU/C11 standard instead.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Mark corresponding arrays with nonstring attribute to suppress the new
gcc-15 warning -Wunterminated-string-initialization that becomes an
error due to the global -Werror.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
* For AM62P display cluster usecase, we need to pick
"dss_display_share.wkup-r5f0_0.release.strip.out" from ti-linux-firmware [0]
Hence, pick the display cluster firmware only when DISPLAY_CLUSTER_ENABLE is set to 1.
* When DISPLAY_CLUSTER_ENABLE is not set to 1, fallback to pick the "ipc_echo_testb_mcu1_0_release_strip.xer5f"
DM firmware.
[0]: https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/tree/ti-dm/am62pxx?h=11.00.12
Signed-off-by: Chirag Shilwant <c-shilwant@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Firmware, like kernel modules, may be only relevant to a small subset of
hardware. Shipping all firmware for all hardware can waste space. For
this reason modules are split out into packages, and the same should
be done for firmware.
What we do currently is change the content of the package itself based
on what device we are building for. Having a package change content for
each machine means we cannot generate one image that supports multiple
machines, nor host a common machine agnostic package repo.
Instead we can generate different packages for the different firmwares
and only include the firmware packages needed for each machine.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Firmware here are not built, no need for C compiler nor std libs.
Add INHIBIT_DEFAULT_DEPS=1 and remove the same from all recipes
that include this file.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
These other machines are not compatible with this recipe, no need to
setup definitions for these.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Since OE bitbake commit 24772dd2ae6c ("parse/ConfHandler: Add warning for
deprecated whitespace usage"), the current build generates the following
warning (as example):
| WARNING: ...meta-ti/meta-ti-bsp/recipes-ti/ipc/ti-ipc_git.bb:
| meta-ti/meta-ti-bsp/recipes-ti/ipc/ti-ipc_git.bb:2
| has a lack of whitespace around the assignment:
| 'HOMEPAGE="http://processors.wiki.ti.com/index.php/Category:IPC"'
Fix all the warnings.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Since OE bitbake commit 24772dd2ae6c ("parse/ConfHandler: Add warning for
deprecated whitespace usage"), the current build generates the following
warning (as example):
| WARNING: ...meta-ti/meta-ti-bsp/recipes-ti/ipc/ti-ipc_git.bb:
| meta-ti/meta-ti-bsp/recipes-ti/ipc/ti-ipc_git.bb:2
| has a lack of whitespace around the assignment:
| 'HOMEPAGE="http://processors.wiki.ti.com/index.php/Category:IPC"'
Fix all the warnings.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
In falcon mode, ATF jumps straight to the linux kernel which requires a
2MiB aligned load address. Hence this patch changes the ATF jump address
(PRELOADED_BL33_BASE) to a 2MiB aligned value 0x82000000 and the DTB
address (K3_HW_CONFIG_BASE) to 0x88000000.
These values are chosen to be consistent with the addresses used by
u-boot when booting in the normal flow.
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Falcon boot requires tispl_falcon.bin to be on the same filesystem
partition as the fitImage.
This patch creates a new u-boot package called
'u-boot-ti-staging-falcon' that is included in IMAGE_INSTALL when
ti-falcon is enabled which allows us to deploy the required files to
rootfs.
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
ti-falcon.inc configures the following things for enabling falcon boot:
1. Change fitImage class to kernel-fitimage-legacyhs
2. Update kernel and dtb address for falcon boot
3. Disable kernel compression
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The am62x_r5_falcon.config fragment in u-boot enables falcon boot
support for R5 SPL, this patch enables the config fragment for am62a,
62p, 62x and 62lp evms based on ti-falcon distro override.
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
* The GP variant of AM62A SoC was only used internally
for initial device bring-up and is not publicly available.
Hence, drop it from IMAGE_BOOT_FILES to ensure
tiboot3-am62ax-gp-evm.bin is not packaged inside vfat boot
partition of wic image
Signed-off-by: Chirag Shilwant <c-shilwant@ti.com>
Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>