Add support for the BeagleBadge which is an AM62L
based device that requires new build configuration
for U-Boot and TF-A sources.
Signed-off-by: Judith Mendez <jm@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The name of the u-boot defconfig changed when it was upstreamed into
2026.01, and the name of the dtb changed to k3-am6254atl-sk.dtb in the
kernel.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Add entries for ti-6_18 for the upcoming LTS development effort. This
includes:
kernel: 6.18
u-boot: 2026.01
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
As am57xx.inc is now the only user of omap-a15.inc, merge the content of
omap-a15.inc into am57xx.inc and remove omap-a15.inc. As we no longer have
this common include, also remove "omap-a15" and use "am57xx" in its place.
Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
As AM57xx already defined both "dra7xx" and "am57xx" as SOC_FAMILY the
AM57xx was effectively a superset MACHINE. Although not all features of
AM57xx are needed for DRA7xx, make DRA7xx-EVM use the AM57xx definition.
This allows us to still support DRA7xx as the only differences that
impact device function are the selection of U-Boot defconfig, DTBs, and
OPTEE, all handled by the MACHINE conf file which is left unchanged.
Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
These were used back when each board had to select the correct tiboot3.bin
to become the default for that board's image. Two things have changed since
then, first we deploy all options for tiboot3.bin generated by U-Boot. And
second, U-Boot's binman tool now symlinks the most appropriate version of
this file for us for the selected U-Boot defconfig file.
These are no longer needed so drop them.
Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
As R5 only builds one working image (tiboot3.bin), define this as the
"UBOOT_BINARY", even though it was technically build using the SPL build
pass in U-Boot. This allows some simplification and removes deploying of
a dummy file (u-boot-spl.bin) which is not a usable boot file. It was only
deployed as UBOOT_BINARY is not optional and so something needed to be set
here.
BeagleBone-AI64 already did something similar to this so the overrides
in that MACHINE conf can now be removed.
Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
These were set to the defaults we would expect from OMAP class U-Boot,
but as all board families set these including the OMAP class MACHINEs
we can remove these defaults. This helps in the cases that we do not
want to define one of these, such as SPL_BINARY in the case of OMAP-L138
which does not use SPL.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Every MACHINE build deploys a tiboot3.bin file for all three K3 security
types (GP, HS-FS, HS-SE). These extra MACHINE configs existed to select
a different default. As U-Boot now selects a default for us this logic
does not need to exist here. Instead if one wants to use a non-default
security type for an EVM then can simply rename the tiboot3.bin file in
the boot partition. Testing automation already handles this and Sitara-
family devices have dropped the dedicated MACHINE configs, do the same
for Jacinto-family devices.
Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Add TPS6594 core and regulator driver modules in the initramfs image so
that the SD card can be probed for am62axx as it is dependent on regulator
to get the SD card probing and eventually boot from it.
Signed-off-by: Moteen Shah <m-shah@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
We have some projects mirrored to GitHub currently. It makes sense to
add a MIRRORS entry for git.ti.com sources to fall back on in the event
git.ti.com is unreachable.
Placing this in the main BSP layer configuration file should be all that
is required for this and any other layers that depend this core layer to
fall back to GitHub.
Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
New recipes for GPU DDK 25.2. Update BSP configuration files with new
preferred recipe versions.
For the driver recipe, specifically unset the CC variable due to yocto
appending CROSS_COMPILE and CC, resulting in a warning for the
do_compile task:
make[1]: aarch64-oe-linux-aarch64-oe-linux-gcc: No such file or directory
Signed-off-by: Antonios Christidis <a-christidis@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Currently, the overlay mentioned in KERNEL_DEVICETREE_PREFIX in case
of j722s is "k3-am625-sk-mcspi-loopback" which is incorrect as it has
been renamed recently. Change the overlay to "k3-am62x-sk-mcspi-loopback"
in order to carry out SPI loopback tests successfully.
Fixes: 3b2097d727 ("conf: machine: j722s: Change overlay in KERNEL_DEVICETREE_PREFIX")
Signed-off-by: Anurag Dutta <a-dutta@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Package eHRPWM overlay for am62dxx-evm by reusing the existing overlay
for am62a7-sk.
Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
MCSPI overlay can be used for all am62* SK boards as well as
am62p SK, so include the overlay for am62p and am62 LP SK builds
since it is not included in the default configuration.
Signed-off-by: Judith Mendez <jm@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
New features added require another increase to max_leb_cnt
Signed-off-by: Telukula Jeevan Kumar Sahu <j-sahu@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Package overlays which are common for AM62 family of devices for
am62dxx-evm by adding prefix string in KERNEL_DEVICETREE_PREFIX.
Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
TI_INITRAMFS_KERNEL_MODULES gets set only for TI platfroms and ends up
being undefined otherwise, which breaks parsing in yocto-check-layer
and/or in multi-BSP setups. Ensure the variable is defined in the
packagegroup, if not already set by the machine configuration.
Remove the previous default assignment since we put it in the wrong
location.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Trigger build for initramfs image and package it in the boot partition
of all TI SoC's whenever an image recipe is built with upstream
kernel(mainline or mainline-next).
Signed-off-by: Moteen Shah <m-shah@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Add a new variable in ti-soc.inc which would be populated by individual
platforms with the required modules which would later be packaged inside
the initramfs image.
Signed-off-by: Moteen Shah <m-shah@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
As of u-boot 2025.10, the fit image requires a value for the default
configuration. The change [1] introduced the FIT_CONF_DEFAULT_DTB code
to the legacy fitimage class, but failed to set values for the legacy
platforms. This led to us putting default = "" in the .its file, which
is now an error.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
AM64x supports PRP. Add pruprp-fw to AM64xx so that this can be packaged
for AM64xx
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The TI_EXTRAS infrastructure needs a little tweaking to support turning
on multiple extra options at the same time.
1) Since TI_EXTRAS can be a space separated list and not a single fixed
value, we need to change how we detect when to include the TI_EXTRA
values.
2) The tie-jailhouse overrides were being a little too heavy handed.
All of the variables that are changed for any given extra feature needs
to use the proper variable override. This was most important for the
COMPATIBLE_MACHINE settings.
3) Move the ti-extras out of specific machine configs and into the
ti-soc so that all machines can use the extras.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Update mesa-pvr which includes a default set of display controller
aliases for the supported display controllers. This means we do not
have to manually set the alias for each device here in the integration
layer. Remove that here.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The DRIVER and matching UMLIBS must always match, no need to define a
version number for both. Keep this simple and remove the extra defines.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Setting or removing the gpu MACHINE_FEATURE does not actually change
if the GPU driver is built or not. That is done based on the setting
of the BSP_{SGX,ROGUE}_{DRIVER,UMLIBS}_{PROVIDER,VERSION} vars. These
are default empty for BSP versions without supported GPU drivers, which
will correctly cause a fallback to SW rendering when the GPU driver is
not available.
As the "gpu" MACHINE_FEATURE now has no uses, remove it from all the
machine config include files.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The BL32_BASE address is properly set in TF-A to jump to OP-TEE's
entrypoint for the am62lxx SoC family, so we can safily drop this.
Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Newer silicon revision of the AM62L family are capable of reliably
booting with OP-TEE integrated in the bootflow with all bootmedia.
However to support as many DDR densities as possible we cannot use the
default 0x9e78000 location as with other K3 devices.
So add OP-TEE back into the default build but modify the BL32 base
address for TF-A so it will jump to the correct location.
Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The messageq IPC firmware example for AM57xx SoCs is available in
ti-linux-firmware repository. Add a recipe to package the prebuilt
messageq firmware into the rootfs.
Additionally, make sure the firmware for IPU1 rproc is copied into boot
partition by updating the dependency in omap-a15 machine conf to the
above recipe. This is needed for Early Boot use cases and gets rid of
dependency on meta-ti-extras layer.
There is no need to deploy the vayu IPC firmware anymore. Remove
the deploy task from ti-ipc-rtos recipe.
Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
U-Boot generates all the valid versions of tiboot3.bin and sysfw.itb
based on the given defconfig. The defaults are also picked based on
the board's binman files. No need to duplicate this logic here,
simply deploy what U-Boot generates.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Add a recipe to install the PKA firmware in root filesystem needed by
sa2_ul driver for PKA operations across all K3 platforms.
Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
If you are not building a TI machine then KERNEL_BASE_CLASS is not
defined and you get a parse error. Move the default setting out of
ti-soc.inc and into ti-kernel.inc.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Convert devicetree prefix matching functionality into a generic
class that can be used by the kernel and wic images. That way
dynamically generated KERNEL_DEVICETREE list will be the same
when populating /boot dir of rootfs and/or FAT boot partition
of a wic image.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Automatically generate non-vendored DTBs list in DEVICETREE_FILES from
vendored KERNEL_DEVICETREE list for all platforms to use.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Move KERNEL_DTBVENDORED settings from the kernel to ti-soc.inc
in the config scope.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Remove support for the v6.1 TI and Beagle BSPs. This was originally
split into meta-ti-bsp and meta-beagle changes, but there are some
hidden interdependencies that made that more painful than needed.
Remove v6.1 support from both BSP layers here.
This includes packages specific to those BSPs:
- TI and BB.org v6.1 Linux kernel
- TI and BB.org 2023.04 U-Boot
- Rogue GPU driver 23.3 and Mesa 22.3.5
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
A recent change in bitbake requires that all variable assignments have
whitespace between the variable, the operator and the value.
FOO = "1"
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
We have a need for some platforms to add kernel options to the bootloader
during wic creation time. Create a new variable and add that to the
sdimage-2part-efi.wks.in file so that a machine can override it if
needed.
Add an override for am64 to point the kernel at console=ttyS2.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The legacy HS platforms (am335x-hs-evm, am437x-hs-evm, and
am57xx-hs-evm) are not using the new fitImage flow, but the kernels all
include the kernel.bbclass which disallows the old fitImage flow.
Copy in the last version of the kernel.bbclass and name it
kernel_legacyhs.bbclass, and update the machine configs to defined a
variable to use as the KERNEL_BASE_CLASS to inherit.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
FIT signing was disabled in the past as it was interfering with multi
DTB usecase in binman, and it was thought that the binman signing being
done is equivalent to UBOOT_SIGN_ENABLE.
Though looking at the sources, UBOOT_SIGN_ENABLE is actually used to
sign the kernel FIT Image instead and the name UBOOT actually specifies
that it's used in tandom with U-boot. During the signing process, mkimage
from U-boot is used to pack the kernel FIT Image and along with that,
one DTB from U-boot is also passed to the mkimage command. The DTB that
gets passed gets the key embedded in it that is used to verify the
kernel FIT image at runtime.
Now this signed DTB is packed in U-boot by triggering a rebuild with
EXT_DTB argument in the U-boot build process. However, this failed as
there was a U-boot bug which was not looking at the packed sources
properly with the multi DTB usecase.
Now that a U-boot fix is available [0], revert that commit which
disabled the FIT signing.
This reverts commit 9656b79cb5.
[0]: https://lore.kernel.org/all/20250626-b4-upstream-fix-icssg-fit-v1-1-95eff1c853a4@ti.com/
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The U-Boot config fragment used to enable falcon mode was renamed from
'am62x_r5_falcon.config' to the more generic 'k3_r5_falcon.config' when
adapting upstream patches to ti-u-boot[1].
Therefore this patch fixes the same in meta-ti.
[1]: 90d2e960b4c at ti-u-boot-2025.01-next
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Switch all kernel recipes and K3 based platforms to use the new
FIT image wrapper functionality.
Update FIT default DTB entry to not contain vendor dubdir, as it
is now handled through a conf prefix.
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This hides issues like missing flags that will cause issues for folks who
build or re-build the kernel outside the Yocto environment. It is better
to find these issues and fix them at the source in the Linux makefile,
not mask issues here.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The gitpkgv class we are using to set UBOOT_VERSION is located in
meta-openembedded. We do not want to depend on meta-openembedded to
keep meta-ti-bsp as light as possible, and the naming of UBOOT_VERSION
is not a requirement, just a nice to have. Dynamic layers allow us to
use the class if it is available in the build, but not require it.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Since all k3 and legacy platforms share common load addresses for kernel
and initrd in the fitImage, move them to top level ti-soc.inc.
No functional change is intended from this patch.
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
In yocto, the UBOOT_ENTRYPOINT and UBOOT_*LOADADDRESS variables specify
the entry point and load addresses for the kernel image and the DTB when
creating the fitImage[1].
Currently the load address for the kernel is set to 0x81000000 and
0x83000000 for the DTB for all k3 platforms.
However the region 0x80080000 to 0x81880000 is reserved for OPTEE on
am62xxsip-evm, leading to boot failure[2] when using the fitImage.
This patch fixes the issue by changing the addresses to 0x82000000 for
kernel and 0x88000000 for the DTB. This also allows us to load kernel
images > 32MiB in size when not using initrd while also making the
falcon and standard boot addresses consistent.
[1]:
https://docs.yoctoproject.org/ref-manual/variables.html#term-UBOOT_ENTRYPOINT
[2]:
https://raw.githubusercontent.com/ArchUsr64/ti_boot_logs/HEAD/am62xxsip-evm/failures/fitImage_load_addr_issue.log
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>