From 56a7ae4389d201f69377740fa0858748d684f5f7 Mon Sep 17 00:00:00 2001 From: Jarried Lin Date: Thu, 18 Dec 2025 14:24:31 +0800 Subject: [PATCH] soc/mediatek/mt8196: Notify MCUPM to support MTE Before CPU resume, it is necessary to reinitialize the MTE-related settings of booker in MCUPM to prevent the loss of booker configurations after resume. BUG=b:467186613 TEST=Build pass, Verify S/R OK on Navi and Sapphire. Change-Id: Ieaf4c2ea0f8a5c372a5dbf4d0f6c44fbd978e6a6 Signed-off-by: Jarried Lin Reviewed-on: https://review.coreboot.org/c/coreboot/+/90546 Reviewed-by: Yidi Lin Tested-by: build bot (Jenkins) Reviewed-by: Yu-Ping Wu --- src/soc/mediatek/mt8196/booker.c | 4 ++++ src/soc/mediatek/mt8196/include/soc/mcupm_plat.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/soc/mediatek/mt8196/booker.c b/src/soc/mediatek/mt8196/booker.c index 13a0248653..2525043f5f 100644 --- a/src/soc/mediatek/mt8196/booker.c +++ b/src/soc/mediatek/mt8196/booker.c @@ -4,6 +4,7 @@ #include #include #include +#include #define REG_READ_ONLY_HASH_VALUE (MCUCFG_BASE + 0x059C) #define REG_MCUSYS_RESERVED_REG2 (MCUCFG_BASE + 0xFFE8) @@ -61,6 +62,9 @@ void booker_mte_init(uint64_t mte_tag_addr) { int i; + /* Notify MCUPM to configure MTE on resume path. */ + setbits32p(MTE_ENABLE_REG, 0xF); + printk(BIOS_DEBUG, "%s: MTE tag addr %#llx\n", __func__, mte_tag_addr); /* Setting MTU TAG */ diff --git a/src/soc/mediatek/mt8196/include/soc/mcupm_plat.h b/src/soc/mediatek/mt8196/include/soc/mcupm_plat.h index 6ce58e4799..37d62c96df 100644 --- a/src/soc/mediatek/mt8196/include/soc/mcupm_plat.h +++ b/src/soc/mediatek/mt8196/include/soc/mcupm_plat.h @@ -92,5 +92,6 @@ #define ABNORMALBOOT_REG GPR_BASE_ADDR_MCU(1) #define WARMBOOT_REG GPR_BASE_ADDR_MCU(23) +#define MTE_ENABLE_REG GPR_BASE_ADDR_MCU(25) #endif /* __SOC_MEDIATEK_MT8196_INCLUDE_SOC_MCUPM_PLAT_H__ */