1*91f16700Schasinglulu# 2*91f16700Schasinglulu# Copyright (c) 2023, MediaTek Inc. All rights reserved. 3*91f16700Schasinglulu# 4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu# 6*91f16700Schasinglulu 7*91f16700SchasingluluLOCAL_DIR := $(call GET_LOCAL_DIR) 8*91f16700SchasingluluMODULE := spm_${MTK_SOC} 9*91f16700Schasinglulu 10*91f16700Schasingluludefine GET_UPPER_DIR 11*91f16700Schasinglulu$(shell dirname ${LOCAL_DIR}) 12*91f16700Schasingluluendef 13*91f16700SchasingluluUPPER_DIR := $(call GET_UPPER_DIR) 14*91f16700Schasinglulu 15*91f16700SchasingluluMT_SPM_FEATURE_SUPPORT := y 16*91f16700SchasingluluMT_SPM_CIRQ_FEATURE_SUPPORT := n 17*91f16700SchasingluluMT_SPMFW_SPM_SRAM_SLEEP_SUPPORT := n 18*91f16700SchasingluluMT_SPM_SSPM_NOTIFIER_SUPPORT := y 19*91f16700SchasingluluMT_SPM_UART_SUSPEND_SUPPORT := n 20*91f16700SchasingluluMT_SPM_RGU_SUPPORT := n 21*91f16700Schasinglulu 22*91f16700SchasingluluLOCAL_SRCS-y := ${LOCAL_DIR}/mt_spm.c 23*91f16700SchasingluluLOCAL_SRCS-y += ${LOCAL_DIR}/mt_spm_conservation.c 24*91f16700SchasingluluLOCAL_SRCS-y += ${LOCAL_DIR}/mt_spm_internal.c 25*91f16700SchasingluluLOCAL_SRCS-y += ${LOCAL_DIR}/mt_spm_pmic_wrap.c 26*91f16700SchasingluluLOCAL_SRCS-${MT_SPM_FEATURE_SUPPORT} += ${LOCAL_DIR}/mt_spm_cond.c 27*91f16700SchasingluluLOCAL_SRCS-${MT_SPM_FEATURE_SUPPORT} += ${LOCAL_DIR}/mt_spm_idle.c 28*91f16700SchasingluluLOCAL_SRCS-${MT_SPM_FEATURE_SUPPORT} += ${LOCAL_DIR}/mt_spm_suspend.c 29*91f16700SchasingluluLOCAL_SRCS-${MT_SPM_FEATURE_SUPPORT} += ${LOCAL_DIR}/constraints/mt_spm_rc_api.c 30*91f16700SchasingluluLOCAL_SRCS-${MT_SPM_FEATURE_SUPPORT} += ${LOCAL_DIR}/constraints/mt_spm_rc_bus26m.c 31*91f16700SchasingluluLOCAL_SRCS-${MT_SPM_FEATURE_SUPPORT} += ${LOCAL_DIR}/constraints/mt_spm_rc_cpu_buck_ldo.c 32*91f16700SchasingluluLOCAL_SRCS-${MT_SPM_FEATURE_SUPPORT} += ${LOCAL_DIR}/constraints/mt_spm_rc_dram.c 33*91f16700SchasingluluLOCAL_SRCS-${MT_SPM_FEATURE_SUPPORT} += ${LOCAL_DIR}/constraints/mt_spm_rc_syspll.c 34*91f16700SchasingluluLOCAL_SRCS-${MT_SPM_SSPM_NOTIFIER_SUPPORT} += ${UPPER_DIR}/version/notifier/v1/mt_spm_sspm_notifier.c 35*91f16700Schasinglulu 36*91f16700Schasingluluifeq (${MT_SPM_FEATURE_SUPPORT},n) 37*91f16700Schasinglulu$(eval $(call add_define,MTK_PLAT_SPM_UNSUPPORT)) 38*91f16700Schasingluluendif 39*91f16700Schasinglulu 40*91f16700Schasingluluifeq (${MT_SPM_CIRQ_FEATURE_SUPPORT},n) 41*91f16700Schasinglulu$(eval $(call add_define,MTK_PLAT_CIRQ_UNSUPPORT)) 42*91f16700Schasingluluendif 43*91f16700Schasinglulu 44*91f16700Schasingluluifeq (${MT_SPMFW_SPM_SRAM_SLEEP_SUPPORT},n) 45*91f16700Schasinglulu$(eval $(call add_define,MTK_PLAT_SPM_SRAM_SLP_UNSUPPORT)) 46*91f16700Schasingluluendif 47*91f16700Schasinglulu 48*91f16700Schasingluluifeq (${MT_SPM_SSPM_NOTIFIER_SUPPORT},n) 49*91f16700Schasinglulu$(eval $(call add_define,MTK_PLAT_SPM_SSPM_NOTIFIER_UNSUPPORT)) 50*91f16700Schasingluluendif 51*91f16700Schasinglulu 52*91f16700Schasingluluifeq (${MT_SPM_UART_SUSPEND_SUPPORT},n) 53*91f16700Schasinglulu$(eval $(call add_define,MTK_PLAT_SPM_UART_UNSUPPORT)) 54*91f16700Schasingluluendif 55*91f16700Schasinglulu 56*91f16700Schasingluluifeq ($(MTK_VOLTAGE_BIN_VCORE),y) 57*91f16700Schasinglulu$(eval $(call add_define,MTK_VOLTAGE_BIN_VCORE_SUPPORT)) 58*91f16700Schasingluluendif 59*91f16700Schasinglulu 60*91f16700Schasingluluifeq ($(MT_SPM_RGU_SUPPORT),n) 61*91f16700Schasinglulu$(eval $(call add_define,MTK_PLAT_SPM_RGU_UNSUPPORT)) 62*91f16700Schasingluluendif 63*91f16700Schasinglulu 64*91f16700Schasinglulu$(eval $(call MAKE_MODULE,$(MODULE),$(LOCAL_SRCS-y),$(MTK_BL))) 65