[PATCH -next v6 10/10] mach-k3: add carveouts for TFA and optee
Anshul Dalal
anshuld at ti.com
Wed Sep 10 14:05:07 CEST 2025
On Wed Sep 10, 2025 at 4:44 PM IST, Bryan Brattlof wrote:
> On September 5, 2025 thus sayeth Anshul Dalal:
>> K3 platforms have reserved memory regions for TFA and OPTEE which should
>> be unmapped for U-Boot.
>>
>> Therefore this patch adds the necessary fdt fixups to properly set the
>> load address for TFA/OPTEE and unmaps both by mmu_unmap_reserved_mem.
>>
>> Signed-off-by: Anshul Dalal <anshuld at ti.com>
>> ---
>> arch/arm/mach-k3/common.c | 26 ++++++++++++++++++++++++++
>> 1 file changed, 26 insertions(+)
>>
>> diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
>> index 9c2fe92cf25..71fc7d31abe 100644
>> --- a/arch/arm/mach-k3/common.c
>> +++ b/arch/arm/mach-k3/common.c
>> @@ -31,6 +31,7 @@
>> #include <dm/uclass-internal.h>
>> #include <dm/device-internal.h>
>> #include <asm/armv8/mmu.h>
>> +#include <mach/k3-common-fdt.h>
>> #include <mach/k3-ddr.h>
>>
>> #define PROC_BOOT_CTRL_FLAG_R5_CORE_HALT 0x00000001
>> @@ -263,6 +264,7 @@ void board_prep_linux(struct bootm_headers *images)
>>
>> void enable_caches(void)
>> {
>> + void *fdt = (void *)gd->fdt_blob;
>> int ret;
>>
>> ret = mem_map_fix_dram_banks(K3_MEM_MAP_FIRST_BANK_IDX, K3_MEM_MAP_LEN,
>> @@ -273,6 +275,30 @@ void enable_caches(void)
>>
>> mmu_setup();
>>
>> + if (CONFIG_K3_ATF_LOAD_ADDR >= CFG_SYS_SDRAM_BASE) {
>> + ret = fdt_fixup_reserved(fdt, "tfa", CONFIG_K3_ATF_LOAD_ADDR,
>> + 0x80000);
>> + if (ret)
>> + debug("%s: Failed to perform tfa fixups (%s)\n",
>> + __func__, fdt_strerror(ret));
>> + ret = mmu_unmap_reserved_mem("tfa");
>> + if (ret)
>> + debug("%s: Failed to unmap tfa rsvd mem (%s)\n",
>> + __func__, fdt_strerror(ret));
>> + }
>> +
>> + if (CONFIG_K3_OPTEE_LOAD_ADDR >= CFG_SYS_SDRAM_BASE) {
>> + ret = fdt_fixup_reserved(fdt, "optee",
>> + CONFIG_K3_OPTEE_LOAD_ADDR, 0x1800000);
>
> We will most likely need to move these sizes into Kconfig. The fact they
> have remained the same is purely an artifact from us not changing
> anything nor developing much on OP-TEE for most of K3's lifetime.
>
> For future chips BL1 and OP-TEE will likely need to grow.
Yeah, we would probably need to update the fdt_fixup_reserved API as
well which currently just ignores the size we provide if one already
exists in the reserved-memory node.
Regards,
Anshul
More information about the U-Boot
mailing list