[PATCH next v2] arm: mach-k3: use Kconfig options for ATF/OPTEE size

Chawdhry, Manorit m-chawdhry at ti.com
Wed Mar 11 18:22:11 CET 2026


Hi Anshul,

On 3/11/2026 5:42 PM, Anshul Dalal wrote:
> The reserved memory sizes for ATF and OPTEE were hard-coded for K3
> devices, this patch replaces them with a Kconfig option allowing for
> easier modifications.
>
> Acked-by: Andrew Davis <afd at ti.com>
> Reviewed-by: Dhruva Gole <d-gole at ti.com>
> Signed-off-by: Anshul Dalal <anshuld at ti.com>
> ---
> Changes in v2:
> - Update help text to mention firewall configuration
> - Pick R/Ack-by tags
> - Link to v1: https://lore.kernel.org/r/20260310-tfa_tee_addr_kconfig_refactor-v1-1-d24abbca82ee@ti.com
> ---
>   arch/arm/dts/k3-binman.dtsi   |  4 ++--
>   arch/arm/mach-k3/Kconfig      | 17 +++++++++++++++++
>   arch/arm/mach-k3/common_fdt.c |  5 +++--
>   3 files changed, 22 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/dts/k3-binman.dtsi b/arch/arm/dts/k3-binman.dtsi
> index 0fd93f9536a..ad127663d03 100644
> --- a/arch/arm/dts/k3-binman.dtsi
> +++ b/arch/arm/dts/k3-binman.dtsi
> @@ -477,7 +477,7 @@
>   						FWPERM_SECURE_PRIV_RWCD |
>   						FWPERM_SECURE_USER_RWCD)>;
>   		start_address = <0x0 CONFIG_K3_ATF_LOAD_ADDR>;
> -		end_address = <0x0 (CONFIG_K3_ATF_LOAD_ADDR + 0x1ffff)>;
> +		end_address = <0x0 (CONFIG_K3_ATF_LOAD_ADDR + CONFIG_K3_ATF_RESERVED_SIZE - 1)>;
>   	};
>   	firewall_armv8_optee_fg: template-8 {
>   		control = <(FWCTRL_EN | FWCTRL_LOCK |
> @@ -486,7 +486,7 @@
>   						FWPERM_SECURE_PRIV_RWCD |
>   						FWPERM_SECURE_USER_RWCD)>;
>   		start_address = <0x0 CONFIG_K3_OPTEE_LOAD_ADDR>;
> -		end_address = <0x0 (CONFIG_K3_OPTEE_LOAD_ADDR + 0x17fffff)>;
> +		end_address = <0x0 (CONFIG_K3_OPTEE_LOAD_ADDR + CONFIG_K3_OPTEE_RESERVED_SIZE - 1)>;
>   	};
>   
>   	ti_falcon_template: template-9 {
> diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig
> index 1b8c0b1eb96..e7ef35ed2cd 100644
> --- a/arch/arm/mach-k3/Kconfig
> +++ b/arch/arm/mach-k3/Kconfig
> @@ -130,6 +130,15 @@ config K3_ATF_LOAD_ADDR
>   	  The load address for the ATF image. This value is used to build the
>   	  FIT image header that places ATF in memory where it will run.
>   
> +config K3_ATF_RESERVED_SIZE
> +	hex "Reserved DDR size for ATF"

Not every device has ATF running through DDR, maybe keeping it generic 
might be good like "memory size"

> +	default 0x80000 if (SOC_K3_AM625 || SOC_K3_AM62A7 || SOC_K3_AM62P5 || SOC_K3_J722S)
> +	default 0x20000
> +	help
> +	  The runtime DDR size reserved for ATF. This value is used to fixup the
Same here
> +	  kernel device-tree's reserved-memory node for ATF and configure the
> +	  firewall.
> +
>   config K3_OPTEE_LOAD_ADDR
>   	hex "Load address of OPTEE image"
>   	default 0x9e800000
> @@ -137,6 +146,14 @@ config K3_OPTEE_LOAD_ADDR
>   	  The load address for the OPTEE image. This value defaults to 0x9e800000
>   	  if not provided in the board defconfig file.
>   
> +config K3_OPTEE_RESERVED_SIZE
> +	hex "Reserved DDR size for OPTEE"
> +	default 0x1800000
> +	help
> +	  The runtime DDR size reserved for OPTEE. This value is used to fixup the
> +	  kernel device-tree's reserved-memory node for OPTEE and configure the
> +	  firewall.
> +
>   config K3_DM_FW
>   	bool "Separate DM firmware image"
>   	depends on CPU_V7R && !SOC_K3_AM642 && !SOC_K3_AM654 && !CLK_TI_SCI && !TI_SCI_POWER_DOMAIN
> diff --git a/arch/arm/mach-k3/common_fdt.c b/arch/arm/mach-k3/common_fdt.c
> index cb0fb8274a5..39cb00c3f43 100644
> --- a/arch/arm/mach-k3/common_fdt.c
> +++ b/arch/arm/mach-k3/common_fdt.c
> @@ -173,12 +173,13 @@ int fdt_fixup_reserved(void *blob)
>   	int ret;
>   
>   	ret = fdt_fixup_reserved_memory(blob, "tfa", CONFIG_K3_ATF_LOAD_ADDR,
> -					0x80000);
> +					CONFIG_K3_ATF_RESERVED_SIZE);
>   	if (ret)
>   		return ret;
>   
>   	return fdt_fixup_reserved_memory(blob, "optee",
> -					 CONFIG_K3_OPTEE_LOAD_ADDR, 0x1800000);
> +					 CONFIG_K3_OPTEE_LOAD_ADDR,
> +					 CONFIG_K3_OPTEE_RESERVED_SIZE);
>   }
>   
>   static int fdt_fixup_critical_trips(void *blob, int zoneoffset, int maxc)
>
> ---
> base-commit: 8bc2a5196c1c0bb5dbdaca073323da0015a0de37
> change-id: 20260310-tfa_tee_addr_kconfig_refactor-2bf77949df0f
>
> Best regards,

With that addressed,

Reviewed-by: Manorit Chawdhry <m-chawdhry at ti.com>

Regards,
Manorit



More information about the U-Boot mailing list