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