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__ */