diff options
| author | Anshul Dalal <[email protected]> | 2026-03-12 09:13:24 +0530 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-03-25 14:37:09 -0600 |
| commit | b2c02c04ec7fe070e3cecce665b423376972f07b (patch) | |
| tree | 8375b6357c7963b720e40b6113775c76cde7e3cb /arch | |
| parent | 4ed440e6be80cbbb45e11b01d7cfa5ce3064a2f0 (diff) | |
arm: mach-k3: use Kconfig options for ATF/OPTEE size
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 <[email protected]>
Reviewed-by: Dhruva Gole <[email protected]>
Reviewed-by: Manorit Chawdhry <[email protected]>
Signed-off-by: Anshul Dalal <[email protected]>
Reviewed-by: Bryan Brattlof <[email protected]>
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/dts/k3-binman.dtsi | 4 | ||||
| -rw-r--r-- | arch/arm/mach-k3/Kconfig | 17 | ||||
| -rw-r--r-- | 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..a32ed3a9683 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 memory size for ATF" + default 0x80000 if (SOC_K3_AM625 || SOC_K3_AM62A7 || SOC_K3_AM62P5 || SOC_K3_J722S) + default 0x20000 + help + The runtime memory size reserved for ATF. This value is used to fixup the + 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 memory size for OPTEE" + default 0x1800000 + help + The runtime memory 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) |
