All supported TF-A handle this automatically based on the firmware, the
flag no longer does anything as it isn't checked in TF-A now. Remove this.
Signed-off-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The board specific firmware is added in the generic AM69 SoC include
instead of the AM69-SK board configuration. This follows the changes
already made for the J784s4 SoC and EVM board in
commit 27615406 ("conf: machine: j784s4: Move ti-eth-fw-j784s4 to EVM conf")
Move the machine-essential recommend from the SoC include
to the AM69-SK configuration.
Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The am62lxx SoC default UART is ttyS0 since it doesn't have the
R5 cores taking up a UART. The k3 default SERIAL_CONSOLES
inherited includes ttyS2, which causes systemd to wait indefinitely
for a console that never appears, significantly increasing boot time
and degrading user experience.
Override SERIAL_CONSOLES to specify only ttyS0, allowing the boot
process to proceed normally without waiting for unavailable consoles.
Signed-off-by: Yogesh Hegde <y-hegde@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The `ti-eth-fw-j784s4` firmware is added in the generic J784s4 SoC
include, which is therefore used for all the J784s4-based machines.
That firmware seems to be developed specifically for the EVM, as it
takes control of pins used for the Ethernet board setup on the EVM. On
non-EVM boards, like the Aquila-AM69, those signals are used for other
functions, so enabling the firmware in the SoC include is too broad
and breaks functionality.
Move the machine-essential recommend from the SoC include
to the EVM configuration.
Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The ordering of parameters in SERIAL_CONSOLES matters. The first value
is picked as the KERNEL_CONSOLE and used as the console definition for
grub as of:
9dc647e5 (k3: set console parameter to KERNEL_CONSOLE, 2026-03-18)
Ideally this will be split out into a separate board configuration
parameter in the future, as there are already some board specific
overrides right now.
Signed-off-by: Randolph Sapp <rs@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
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>
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>
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>
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>
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>
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>
Add TI_CORE_INITRAMFS_EXTRA_INSTALL variable that another layer can use to
install additional packages/changes into the initramfs. Setting this
variable will also turn on the initramfs even if the platform does not
have kernel modules to include.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Clean up the logic of the new ti-core-initramfs to reduce the impact on
downstream layers.
- Flip the logic in the machine .conf files to track the list of
required kernel modules for that platform, but if the variable is set
to "" then the ti-core-initramfs will not be created.
- Redo the logic of when we require creation/usage of the initramfs to
just platforms that need it (ie that set TI_CORE_INITRAMFS_KERNEL_MODULES).
- Add a big switch to disable the initramfs entirely. In that case, the
user is on their own to make sure that the kernel has everything it
needs to boot either via config fragments to turn on the needed
modules, or by using the TI_CORE_INITRAMFS_KERNEL_MODULES
variable to populate their own initramfs.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
The ti-vxe-vxd-driver recipe is not building with the 6.18 kernel.
Once a new version that addresses this is available we can turn this
back on.
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
With the 6.18 we are moving to using an initramfs to provide non-default
modules for booting. So add that override to the machines that need it.
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>
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>
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>
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>
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 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>
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>
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>