1*e8e87683SWenzhen Yu# 2*e8e87683SWenzhen Yu# Copyright (c) 2025, MediaTek Inc. All rights reserved. 3*e8e87683SWenzhen Yu 4*e8e87683SWenzhen Yu# SPDX-License-Identifier: BSD-3-Clause 5*e8e87683SWenzhen Yu# 6*e8e87683SWenzhen Yu 7*e8e87683SWenzhen YuNOTIFIER_VER := v4 8*e8e87683SWenzhen Yu 9*e8e87683SWenzhen YuPMIC_WRAP_VER := v1 10*e8e87683SWenzhen Yu 11*e8e87683SWenzhen YuMTK_SPM_COMMON_DRV := y 12*e8e87683SWenzhen Yu 13*e8e87683SWenzhen Yu# Enable or disable spm feature 14*e8e87683SWenzhen YuMT_SPM_FEATURE_SUPPORT := y 15*e8e87683SWenzhen Yu 16*e8e87683SWenzhen Yu# Enable or disable cirq restore 17*e8e87683SWenzhen YuMT_SPM_CIRQ_FEATURE_SUPPORT := y 18*e8e87683SWenzhen Yu 19*e8e87683SWenzhen Yu# Enable or disable get dram type from dramc 20*e8e87683SWenzhen YuMT_SPMFW_LOAD_BY_DRAM_TYPE := n 21*e8e87683SWenzhen Yu 22*e8e87683SWenzhen Yu# Enable or disable sspm sram 23*e8e87683SWenzhen YuMT_SPMFW_SPM_SRAM_SLEEP_SUPPORT := n 24*e8e87683SWenzhen Yu 25*e8e87683SWenzhen Yu# Enable or disable uart save/restore at tf-a spm driver 26*e8e87683SWenzhen Yu# mt8196 uart is restore by RTFF 27*e8e87683SWenzhen YuMT_SPM_UART_SUSPEND_SUPPORT := n 28*e8e87683SWenzhen Yu 29*e8e87683SWenzhen Yu# Enable or disable pmic wrap reg dump 30*e8e87683SWenzhen YuMT_SPM_PMIC_WRAP_DUMP_SUPPORT := n 31*e8e87683SWenzhen Yu 32*e8e87683SWenzhen Yu# spm timestamp support 33*e8e87683SWenzhen YuMT_SPM_TIMESTAMP_SUPPORT := n 34*e8e87683SWenzhen Yu 35*e8e87683SWenzhen YuMTK_SPM_PMIC_LP_SUPPORT := y 36*e8e87683SWenzhen Yu 37*e8e87683SWenzhen YuMTK_SPM_LVTS_SUPPORT := FIXME 38*e8e87683SWenzhen Yu 39*e8e87683SWenzhen YuMT_SPM_COMMON_SODI_SUPPORT := n 40*e8e87683SWenzhen Yu 41*e8e87683SWenzhen Yu#spm emi thermal threshold control 42*e8e87683SWenzhen YuMT_SPM_EMI_THERMAL_CONTROL_SUPPORT := FIXME 43*e8e87683SWenzhen Yu 44*e8e87683SWenzhen Yu# spm rgu workaround 45*e8e87683SWenzhen YuMT_SPM_RGU_WA := y 46*e8e87683SWenzhen Yu 47*e8e87683SWenzhen YuCONSTRAINT_ID_ALL := 0xff 48*e8e87683SWenzhen Yu$(eval $(call add_defined_option,CONSTRAINT_ID_ALL)) 49*e8e87683SWenzhen Yu 50*e8e87683SWenzhen Yuifneq (${PMIC_GS_DUMP_VER},) 51*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_SPM_PMIC_GS_DUMP)) 52*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_SPM_PMIC_GS_DUMP_SUSPEND)) 53*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_SPM_PMIC_GS_DUMP_SODI3)) 54*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_SPM_PMIC_GS_DUMP_DPIDLE)) 55*e8e87683SWenzhen Yuendif 56*e8e87683SWenzhen Yu 57*e8e87683SWenzhen Yuifeq (${MT_SPM_FEATURE_SUPPORT},n) 58*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_PLAT_SPM_UNSUPPORT)) 59*e8e87683SWenzhen Yuelse 60*e8e87683SWenzhen Yu$(eval $(call add_define,MT_SPM_FEATURE_SUPPORT)) 61*e8e87683SWenzhen Yuendif 62*e8e87683SWenzhen Yu 63*e8e87683SWenzhen Yuifeq (${MT_SPMFW_LOAD_BY_DRAM_TYPE},n) 64*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_PLAT_DRAMC_UNSUPPORT)) 65*e8e87683SWenzhen Yuendif 66*e8e87683SWenzhen Yu 67*e8e87683SWenzhen Yuifeq (${MT_SPM_CIRQ_FEATURE_SUPPORT},n) 68*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_PLAT_CIRQ_UNSUPPORT)) 69*e8e87683SWenzhen Yuendif 70*e8e87683SWenzhen Yu 71*e8e87683SWenzhen Yuifeq (${MT_SPMFW_SPM_SRAM_SLEEP_SUPPORT},n) 72*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_PLAT_SPM_SRAM_SLP_UNSUPPORT)) 73*e8e87683SWenzhen Yuendif 74*e8e87683SWenzhen Yu 75*e8e87683SWenzhen Yuifeq (${NOTIFIER_VER},) 76*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_PLAT_SPM_SSPM_NOTIFIER_UNSUPPORT)) 77*e8e87683SWenzhen Yuendif 78*e8e87683SWenzhen Yu 79*e8e87683SWenzhen Yuifeq (${MT_SPM_UART_SUSPEND_SUPPORT},n) 80*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_PLAT_SPM_UART_UNSUPPORT)) 81*e8e87683SWenzhen Yuendif 82*e8e87683SWenzhen Yu 83*e8e87683SWenzhen Yuifeq (${MT_SPM_PMIC_WRAP_DUMP_SUPPORT},n) 84*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_PLAT_SPM_PMIC_WRAP_DUMP_UNSUPPORT)) 85*e8e87683SWenzhen Yuendif 86*e8e87683SWenzhen Yu 87*e8e87683SWenzhen Yuifeq (${TRACER_VER},) 88*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_PLAT_SPM_TRACE_UNSUPPORT)) 89*e8e87683SWenzhen Yuendif 90*e8e87683SWenzhen Yu 91*e8e87683SWenzhen Yuifeq (${MT_SPM_TIMESTAMP_SUPPORT},y) 92*e8e87683SWenzhen Yu$(eval $(call add_define,MT_SPM_TIMESTAMP_SUPPORT)) 93*e8e87683SWenzhen Yuendif 94*e8e87683SWenzhen Yu 95*e8e87683SWenzhen Yuifeq ($(MTK_VOLTAGE_BIN_VCORE),y) 96*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_VOLTAGE_BIN_VCORE_SUPPORT)) 97*e8e87683SWenzhen Yuendif 98*e8e87683SWenzhen Yu 99*e8e87683SWenzhen Yuifeq (${MTK_SPM_PMIC_LP_SUPPORT},y) 100*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_SPM_PMIC_LP_SUPPORT)) 101*e8e87683SWenzhen Yuendif 102*e8e87683SWenzhen Yu 103*e8e87683SWenzhen Yuifeq (${MTK_SPM_LVTS_SUPPORT},y) 104*e8e87683SWenzhen Yu$(eval $(call add_define,MTK_SPM_LVTS_SUPPORT)) 105*e8e87683SWenzhen Yuendif 106*e8e87683SWenzhen Yu 107*e8e87683SWenzhen Yuifeq (${MT_SPM_COMMON_SODI_SUPPORT},y) 108*e8e87683SWenzhen Yu$(eval $(call add_define,MT_SPM_COMMON_SODI_SUPPORT)) 109*e8e87683SWenzhen Yuendif 110*e8e87683SWenzhen Yu 111*e8e87683SWenzhen Yuifeq (${MT_SPM_EMI_THERMAL_CONTROL_SUPPORT},y) 112*e8e87683SWenzhen Yu$(eval $(call add_define,MT_SPM_EMI_THERMAL_CONTROL_SUPPORT)) 113*e8e87683SWenzhen Yuendif 114*e8e87683SWenzhen Yu 115*e8e87683SWenzhen Yuifeq (${MT_SPM_RGU_WA},y) 116*e8e87683SWenzhen Yu$(eval $(call add_define,MT_SPM_RGU_WA)) 117*e8e87683SWenzhen Yuendif 118