From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Sun, 19 Apr 2026 18:53:49 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wEVP3-00E2Vc-01 for lore@lore.pengutronix.de; Sun, 19 Apr 2026 18:53:49 +0200 Received: from [127.0.0.1] (helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1wEVP2-0004lY-KB; Sun, 19 Apr 2026 18:53:48 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1wEVOt-0004gF-Ep; Sun, 19 Apr 2026 18:53:39 +0200 Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wEVOt-006C9T-0o; Sun, 19 Apr 2026 18:53:39 +0200 Received: from [::1] (helo=dude05.red.stw.pengutronix.de) by dude05.red.stw.pengutronix.de with esmtp (Exim 4.98.2) (envelope-from ) id 1wEVOt-0000000DBg3-0e7M; Sun, 19 Apr 2026 18:53:39 +0200 From: Ahmad Fatoum To: distrokit@pengutronix.de Date: Sun, 19 Apr 2026 18:53:34 +0200 Message-ID: <20260419165338.3143134-4-a.fatoum@pengutronix.de> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260419165338.3143134-1-a.fatoum@pengutronix.de> References: <20260419165338.3143134-1-a.fatoum@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [DistroKit] [PATCH 4/4] v8a: tf-a: update to v2.14 X-BeenThere: distrokit@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: DistroKit Mailinglist List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ahmad Fatoum Sender: "DistroKit" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: distrokit-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false v7a is already at TF-A v2.14. Updating v8a to the same version also allows us to drop the patches we had. Note that the ordering of this behind the barebox update is significant. TF-A v2.14 has broken backwards compatibility[1] for SCMI clock consumers and barebox v2026.04.0 is the first release compatible with both v2.14 and earlier. [1]: https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/thread/LKJVRDGRH7F73FWSTZC46I7IT3BRYQXC/ Signed-off-by: Ahmad Fatoum --- ...mq-fix-imx8mq-build-break-due-to-hab.patch | 79 ---------------- ...002-fix-imx8m-fix-imx8mq-build-break.patch | 89 ------------------- ...0003-fix-nxp-imx_trdc.h-header-guard.patch | 30 ------- .../platform-v8a/patches/tf-a-v2.12/series | 6 -- configs/platform-v8a/platformconfig | 4 +- .../rules => rules}/host-tf-a.arch.make | 0 6 files changed, 2 insertions(+), 206 deletions(-) delete mode 100644 configs/platform-v8a/patches/tf-a-v2.12/0001-fix-imx8mq-fix-imx8mq-build-break-due-to-hab.patch delete mode 100644 configs/platform-v8a/patches/tf-a-v2.12/0002-fix-imx8m-fix-imx8mq-build-break.patch delete mode 100644 configs/platform-v8a/patches/tf-a-v2.12/0003-fix-nxp-imx_trdc.h-header-guard.patch delete mode 100644 configs/platform-v8a/patches/tf-a-v2.12/series rename {configs/platform-v7a/rules => rules}/host-tf-a.arch.make (100%) diff --git a/configs/platform-v8a/patches/tf-a-v2.12/0001-fix-imx8mq-fix-imx8mq-build-break-due-to-hab.patch b/configs/platform-v8a/patches/tf-a-v2.12/0001-fix-imx8mq-fix-imx8mq-build-break-due-to-hab.patch deleted file mode 100644 index 30bf8da0999b..000000000000 --- a/configs/platform-v8a/patches/tf-a-v2.12/0001-fix-imx8mq-fix-imx8mq-build-break-due-to-hab.patch +++ /dev/null @@ -1,79 +0,0 @@ -From: Jacky Bai -Date: Tue, 14 Jan 2020 16:05:59 +0800 -Subject: [PATCH] fix(imx8mq): fix imx8mq build break due to hab - -Add the HAB secure boot support for the i.MX8MQ to -fix the build break. - -Signed-off-by: Jacky Bai -Change-Id: I806de2dc42806e008355cc185065e774570362f0 ---- - plat/imx/common/include/imx_sip_svc.h | 2 ++ - plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c | 2 ++ - plat/imx/imx8m/imx8mq/include/platform_def.h | 7 +++++-- - plat/imx/imx8m/imx8mq/platform.mk | 1 + - 4 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/plat/imx/common/include/imx_sip_svc.h b/plat/imx/common/include/imx_sip_svc.h -index 404a8295938e..ecb43c3673c5 100644 ---- a/plat/imx/common/include/imx_sip_svc.h -+++ b/plat/imx/common/include/imx_sip_svc.h -@@ -72,6 +72,8 @@ static inline int dram_dvfs_handler(uint32_t smc_fid, void *handle, - SMC_RET1(handle, SMC_UNK); - } - #endif -+int imx_hab_handler(uint32_t smc_fid, u_register_t x1, -+ u_register_t x2, u_register_t x3, u_register_t x4); - #endif - #if defined(PLAT_imx8mm) || defined(PLAT_imx8mn) || defined(PLAT_imx8mp) - int dram_dvfs_handler(uint32_t smc_fid, void *handle, -diff --git a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c -index 70c2def7d18b..735f5dba4fac 100644 ---- a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c -+++ b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c -@@ -52,6 +52,8 @@ static const mmap_region_t imx_mmap[] = { - MAP_REGION_FLAT(IMX_GIC_BASE, IMX_GIC_SIZE, MT_DEVICE | MT_RW), /* GIC map */ - MAP_REGION_FLAT(IMX_DDRPHY_BASE, IMX_DDR_IPS_SIZE, MT_DEVICE | MT_RW), /* DDRMIX map */ - MAP_REGION_FLAT(IMX_DRAM_BASE, IMX_DRAM_SIZE, MT_MEMORY | MT_RW | MT_NS), -+ MAP_REGION_FLAT(IMX_CAAM_RAM_BASE, IMX_CAAM_RAM_SIZE, MT_MEMORY | MT_RW), /* CAMM RAM */ -+ MAP_REGION_FLAT(IMX_NS_OCRAM_BASE, IMX_NS_OCRAM_SIZE, MT_MEMORY | MT_RW), /* NS OCRAM */ - {0}, - }; - -diff --git a/plat/imx/imx8m/imx8mq/include/platform_def.h b/plat/imx/imx8m/imx8mq/include/platform_def.h -index 61c0e8e46e5e..c8289894b804 100644 ---- a/plat/imx/imx8m/imx8mq/include/platform_def.h -+++ b/plat/imx/imx8m/imx8mq/include/platform_def.h -@@ -10,7 +10,7 @@ - #define PLATFORM_LINKER_FORMAT "elf64-littleaarch64" - #define PLATFORM_LINKER_ARCH aarch64 - --#define PLATFORM_STACK_SIZE 0x800 -+#define PLATFORM_STACK_SIZE 0xb00 - #define CACHE_WRITEBACK_GRANULE 64 - - #define PLAT_PRIMARY_CPU U(0x0) -@@ -93,7 +93,10 @@ - #define IMX_DDR_IPS_SIZE U(0x1800000) - #define IMX_DRAM_BASE U(0x40000000) - #define IMX_DRAM_SIZE U(0xc0000000) -- -+#define IMX_NS_OCRAM_BASE U(0x900000) -+#define IMX_NS_OCRAM_SIZE U(0x20000) -+#define IMX_CAAM_RAM_BASE U(0x100000) -+#define IMX_CAAM_RAM_SIZE U(0x10000) - #define IMX_ROM_BASE U(0x00000000) - #define IMX_ROM_SIZE U(0x20000) - -diff --git a/plat/imx/imx8m/imx8mq/platform.mk b/plat/imx/imx8m/imx8mq/platform.mk -index 73179dd0c13e..d3d213268ce1 100644 ---- a/plat/imx/imx8m/imx8mq/platform.mk -+++ b/plat/imx/imx8m/imx8mq/platform.mk -@@ -29,6 +29,7 @@ BL31_SOURCES += plat/imx/common/imx8_helpers.S \ - plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c \ - plat/imx/imx8m/imx8mq/imx8mq_psci.c \ - plat/imx/imx8m/gpc_common.c \ -+ plat/imx/imx8m/imx_hab.c \ - plat/imx/imx8m/imx_aipstz.c \ - plat/imx/imx8m/imx8m_caam.c \ - plat/imx/imx8m/imx8m_ccm.c \ diff --git a/configs/platform-v8a/patches/tf-a-v2.12/0002-fix-imx8m-fix-imx8mq-build-break.patch b/configs/platform-v8a/patches/tf-a-v2.12/0002-fix-imx8m-fix-imx8mq-build-break.patch deleted file mode 100644 index 8cab553508b9..000000000000 --- a/configs/platform-v8a/patches/tf-a-v2.12/0002-fix-imx8m-fix-imx8mq-build-break.patch +++ /dev/null @@ -1,89 +0,0 @@ -From: Jacky Bai -Date: Thu, 17 Oct 2024 17:56:41 +0800 -Subject: [PATCH] fix(imx8m): fix imx8mq build break - -Fix the build break for i.MX8MQ to make it boot -with basic function enabled. - -Signed-off-by: Jacky Bai -Change-Id: I2ff7976e3fb7960d6876d26fe0b4a78e51219ae2 ---- - plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c | 6 ++++++ - plat/imx/imx8m/imx8mq/include/platform_def.h | 12 +++++++----- - plat/imx/imx8m/imx8mq/platform.mk | 2 ++ - 3 files changed, 15 insertions(+), 5 deletions(-) - -diff --git a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c -index 735f5dba4fac..fdaf9fd22e88 100644 ---- a/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c -+++ b/plat/imx/imx8m/imx8mq/imx8mq_bl31_setup.c -@@ -209,13 +209,19 @@ void bl31_plat_arch_setup(void) - MT_MEMORY | MT_RW | MT_SECURE), - MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE, - MT_MEMORY | MT_RO | MT_SECURE), -+#if SEPARATE_NOBITS_REGION -+ MAP_REGION_FLAT(BL_NOBITS_BASE, BL_NOBITS_END - BL_NOBITS_BASE, -+ MT_RW_DATA | MT_SECURE), -+#endif - #if USE_COHERENT_MEM - MAP_REGION_FLAT(BL_COHERENT_RAM_BASE, - BL_COHERENT_RAM_END - BL_COHERENT_RAM_BASE, - MT_DEVICE | MT_RW | MT_SECURE), - #endif -+#if defined(SPD_opteed) || defined(SPD_trusty) - /* Map TEE memory */ - MAP_REGION_FLAT(BL32_BASE, BL32_SIZE, MT_MEMORY | MT_RW), -+#endif - {0}, - }; - -diff --git a/plat/imx/imx8m/imx8mq/include/platform_def.h b/plat/imx/imx8m/imx8mq/include/platform_def.h -index c8289894b804..34bd77e87e60 100644 ---- a/plat/imx/imx8m/imx8mq/include/platform_def.h -+++ b/plat/imx/imx8m/imx8mq/include/platform_def.h -@@ -37,6 +37,12 @@ - #define BL31_SIZE SZ_64K - #define BL31_LIMIT (BL31_BASE + BL31_SIZE) - -+#define OCRAM_S_BASE U(0x180000) -+#define OCRAM_S_SIZE SZ_32K -+#define OCRAM_S_LIMIT (OCRAM_S_BASE + OCRAM_S_SIZE) -+#define BL31_NOBITS_BASE OCRAM_S_BASE -+#define BL31_NOBITS_LIMIT (BL31_NOBITS_BASE + SZ_32K) -+ - /* non-secure uboot base */ - #ifndef PLAT_NS_IMAGE_OFFSET - #define PLAT_NS_IMAGE_OFFSET U(0x40200000) -@@ -54,7 +60,7 @@ - #define MAX_XLAT_TABLES 5 - #define MAX_MMAP_REGIONS 15 - #else --#define MAX_XLAT_TABLES 4 -+#define MAX_XLAT_TABLES 3 - #define MAX_MMAP_REGIONS 14 - #endif - -@@ -144,10 +150,6 @@ - #define GPR_TZASC_EN BIT(0) - #define GPR_TZASC_EN_LOCK BIT(16) - --#define OCRAM_S_BASE U(0x00180000) --#define OCRAM_S_SIZE U(0x8000) --#define OCRAM_S_LIMIT (OCRAM_S_BASE + OCRAM_S_SIZE) -- - #define COUNTER_FREQUENCY 8333333 /* 25MHz / 3 */ - - #define IMX_WDOG_B_RESET -diff --git a/plat/imx/imx8m/imx8mq/platform.mk b/plat/imx/imx8m/imx8mq/platform.mk -index d3d213268ce1..76fc07107057 100644 ---- a/plat/imx/imx8m/imx8mq/platform.mk -+++ b/plat/imx/imx8m/imx8mq/platform.mk -@@ -64,6 +64,8 @@ ifeq (${IMX_DRAM_RETENTION},1) - BL31_SOURCES += ${IMX_DRAM_SOURCES} - endif - -+SEPARATE_NOBITS_REGION := 1 -+ - ifneq (${PRELOADED_BL33_BASE},) - $(eval $(call add_define_val,PLAT_NS_IMAGE_OFFSET,${PRELOADED_BL33_BASE})) - endif diff --git a/configs/platform-v8a/patches/tf-a-v2.12/0003-fix-nxp-imx_trdc.h-header-guard.patch b/configs/platform-v8a/patches/tf-a-v2.12/0003-fix-nxp-imx_trdc.h-header-guard.patch deleted file mode 100644 index f583436b9305..000000000000 --- a/configs/platform-v8a/patches/tf-a-v2.12/0003-fix-nxp-imx_trdc.h-header-guard.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: Peter Robinson -Date: Wed, 29 Jan 2025 09:40:15 +0000 -Subject: [PATCH] fix(nxp): imx_trdc.h header guard - -The header guard define is IMX_XRDC_H where everything -else is IMX_TRDC_H, gcc-15 complains about this so -update the define to what it should be. - -Fixes: 293529100 ("feat(imx93): add the trdc driver") -Change-Id: I4767dc4d1c26ebe95d417be724f5cb848f54a524 -Signed-off-by: Peter Robinson -[rhi: cherry-picked from upstream commit v2.12.0-1121-g2e9198d0e0cb ] -Signed-off-by: Roland Hieber ---- - include/drivers/nxp/trdc/imx_trdc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/drivers/nxp/trdc/imx_trdc.h b/include/drivers/nxp/trdc/imx_trdc.h -index 0b41fcf451ac..3ee60f991578 100644 ---- a/include/drivers/nxp/trdc/imx_trdc.h -+++ b/include/drivers/nxp/trdc/imx_trdc.h -@@ -5,7 +5,7 @@ - */ - - #ifndef IMX_TRDC_H --#define IMX_XRDC_H -+#define IMX_TRDC_H - - #define MBC_BLK_ALL U(255) - #define MRC_REG_ALL U(16) diff --git a/configs/platform-v8a/patches/tf-a-v2.12/series b/configs/platform-v8a/patches/tf-a-v2.12/series deleted file mode 100644 index 1e61d308efdd..000000000000 --- a/configs/platform-v8a/patches/tf-a-v2.12/series +++ /dev/null @@ -1,6 +0,0 @@ -# generated by git-ptx-patches -#tag:base --start-number 1 -0001-fix-imx8mq-fix-imx8mq-build-break-due-to-hab.patch -0002-fix-imx8m-fix-imx8mq-build-break.patch -0003-fix-nxp-imx_trdc.h-header-guard.patch -# f315dae4026f8c61c4273b474327fbaf - git-ptx-patches magic diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig index 0120756fba66..7cdafb0c8e36 100644 --- a/configs/platform-v8a/platformconfig +++ b/configs/platform-v8a/platformconfig @@ -212,8 +212,8 @@ PTXCONF_BOOTLOADER=y # PTXCONF_OPTEE is not set PTXCONF_TF_A=y PTXCONF_TF_A_URL="https://github.com/ARM-software/arm-trusted-firmware/archive/refs/tags" -PTXCONF_TF_A_VERSION="v2.12" -PTXCONF_TF_A_MD5="dea016f3707117c7935a8a26433a1e46 5b90a1c21210702e64234a2beb79f23a" +PTXCONF_TF_A_VERSION="v2.14" +PTXCONF_TF_A_MD5="c4c27a01a40d0608c326345df0990c38" PTXCONF_TF_A_ARCH_STRING="aarch64" PTXCONF_TF_A_ARM_ARCH_MAJOR_8=y PTXCONF_TF_A_ARM_ARCH_MAJOR=8 diff --git a/configs/platform-v7a/rules/host-tf-a.arch.make b/rules/host-tf-a.arch.make similarity index 100% rename from configs/platform-v7a/rules/host-tf-a.arch.make rename to rules/host-tf-a.arch.make -- 2.47.3