1*d701cf81SKun Lu# 2*d701cf81SKun Lu# Copyright (c) 2025, MediaTek Inc. All rights reserved. 3*d701cf81SKun Lu# 4*d701cf81SKun Lu# SPDX-License-Identifier: BSD-3-Clause 5*d701cf81SKun Lu# 6*d701cf81SKun Lu 7*d701cf81SKun LuNOTIFIER_VER := v4 8*d701cf81SKun Lu 9*d701cf81SKun Lu#TRACER_VER := v1 10*d701cf81SKun Lu 11*d701cf81SKun Lu#SPM_VER := v2 12*d701cf81SKun Lu 13*d701cf81SKun Lu#COND_CHECK_VER := v1 14*d701cf81SKun Lu 15*d701cf81SKun LuPMIC_WRAP_VER := v1 16*d701cf81SKun Lu 17*d701cf81SKun LuMTK_SPM_COMMON_DRV := y 18*d701cf81SKun Lu 19*d701cf81SKun Lu# Enable or disable spm feature 20*d701cf81SKun LuMT_SPM_FEATURE_SUPPORT := y 21*d701cf81SKun Lu 22*d701cf81SKun Lu# Enable or disable cirq restore 23*d701cf81SKun LuMT_SPM_CIRQ_FEATURE_SUPPORT := y 24*d701cf81SKun Lu 25*d701cf81SKun Lu# Enable or disable get dram type from dramc 26*d701cf81SKun LuMT_SPMFW_LOAD_BY_DRAM_TYPE := n 27*d701cf81SKun Lu 28*d701cf81SKun Lu# Enable or disable sspm sram 29*d701cf81SKun LuMT_SPMFW_SPM_SRAM_SLEEP_SUPPORT := n 30*d701cf81SKun Lu 31*d701cf81SKun Lu# Enable or disable uart save/restore 32*d701cf81SKun Lu#uart not ready -- /common/drivers/uart is not exist, /drivers/uart no rule.mk 33*d701cf81SKun LuMT_SPM_UART_SUSPEND_SUPPORT := n 34*d701cf81SKun Lu 35*d701cf81SKun Lu# Enable or disable pmic wrap reg dump 36*d701cf81SKun LuMT_SPM_PMIC_WRAP_DUMP_SUPPORT := n 37*d701cf81SKun Lu 38*d701cf81SKun Lu# spm timestamp support 39*d701cf81SKun LuMT_SPM_TIMESTAMP_SUPPORT := n 40*d701cf81SKun Lu 41*d701cf81SKun LuMTK_SPM_PMIC_LP_SUPPORT := y 42*d701cf81SKun Lu 43*d701cf81SKun LuCONSTRAINT_ID_ALL := 0xff 44*d701cf81SKun Lu$(eval $(call add_defined_option,CONSTRAINT_ID_ALL)) 45*d701cf81SKun Lu 46*d701cf81SKun Luifeq (${MT_SPM_FEATURE_SUPPORT},n) 47*d701cf81SKun Lu$(eval $(call add_define,MTK_PLAT_SPM_UNSUPPORT)) 48*d701cf81SKun Luelse 49*d701cf81SKun Lu$(eval $(call add_define,MT_SPM_FEATURE_SUPPORT)) 50*d701cf81SKun Luendif 51*d701cf81SKun Lu 52*d701cf81SKun Luifeq (${MT_SPMFW_LOAD_BY_DRAM_TYPE},n) 53*d701cf81SKun Lu$(eval $(call add_define,MTK_PLAT_DRAMC_UNSUPPORT)) 54*d701cf81SKun Luendif 55*d701cf81SKun Lu 56*d701cf81SKun Luifeq (${MT_SPM_CIRQ_FEATURE_SUPPORT},n) 57*d701cf81SKun Lu$(eval $(call add_define,MTK_PLAT_CIRQ_UNSUPPORT)) 58*d701cf81SKun Luendif 59*d701cf81SKun Lu 60*d701cf81SKun Luifeq (${MT_SPMFW_SPM_SRAM_SLEEP_SUPPORT},n) 61*d701cf81SKun Lu$(eval $(call add_define,MTK_PLAT_SPM_SRAM_SLP_UNSUPPORT)) 62*d701cf81SKun Luendif 63*d701cf81SKun Lu 64*d701cf81SKun Luifeq (${NOTIFIER_VER},) 65*d701cf81SKun Lu$(eval $(call add_define,MTK_PLAT_SPM_SSPM_NOTIFIER_UNSUPPORT)) 66*d701cf81SKun Luendif 67*d701cf81SKun Lu 68*d701cf81SKun Luifeq (${MT_SPM_UART_SUSPEND_SUPPORT},n) 69*d701cf81SKun Lu$(eval $(call add_define,MTK_PLAT_SPM_UART_UNSUPPORT)) 70*d701cf81SKun Luendif 71*d701cf81SKun Lu 72*d701cf81SKun Luifeq (${MT_SPM_PMIC_WRAP_DUMP_SUPPORT},n) 73*d701cf81SKun Lu$(eval $(call add_define,MTK_PLAT_SPM_PMIC_WRAP_DUMP_UNSUPPORT)) 74*d701cf81SKun Luendif 75*d701cf81SKun Lu 76*d701cf81SKun Luifeq (${TRACER_VER},) 77*d701cf81SKun Lu$(eval $(call add_define,MTK_PLAT_SPM_TRACE_UNSUPPORT)) 78*d701cf81SKun Luendif 79*d701cf81SKun Lu 80*d701cf81SKun Luifeq (${MT_SPM_TIMESTAMP_SUPPORT},y) 81*d701cf81SKun Lu$(eval $(call add_define,MT_SPM_TIMESTAMP_SUPPORT)) 82*d701cf81SKun Luendif 83*d701cf81SKun Lu 84*d701cf81SKun Luifeq ($(MTK_VOLTAGE_BIN_VCORE),y) 85*d701cf81SKun Lu$(eval $(call add_define,MTK_VOLTAGE_BIN_VCORE_SUPPORT)) 86*d701cf81SKun Luendif 87*d701cf81SKun Lu 88*d701cf81SKun Luifeq (${MTK_SPM_PMIC_LP_SUPPORT},y) 89*d701cf81SKun Lu$(eval $(call add_define,MTK_SPM_PMIC_LP_SUPPORT)) 90*d701cf81SKun Luendif 91