1# 2# Copyright (c) 2022, MediaTek Inc. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6 7# Enable or disable spm feature 8MT_SPM_FEATURE_SUPPORT=yes 9 10# Enable or disable cirq restore 11MT_SPM_CIRQ_FEATURE_SUPPORT=yes 12 13# sspm notifier support 14MT_SPM_SSPM_NOTIFIER_SUPPORT=yes 15 16CUR_SPM_FOLDER = ${MTK_PLAT_SOC}/drivers/spm 17 18# spm common files 19PLAT_SPM_SOURCE_FILES_COMMON += \ 20 ${CUR_SPM_FOLDER}/mt_spm.c \ 21 ${CUR_SPM_FOLDER}/mt_spm_internal.c \ 22 ${CUR_SPM_FOLDER}/mt_spm_pmic_wrap.c \ 23 ${CUR_SPM_FOLDER}/mt_spm_conservation.c \ 24 ${CUR_SPM_FOLDER}/mt_spm_extern.c 25 26# spm platform dependcy files 27PLAT_SPM_SOURCE_FILES += \ 28 ${CUR_SPM_FOLDER}/constraints/mt_spm_rc_syspll.c \ 29 ${CUR_SPM_FOLDER}/constraints/mt_spm_rc_bus26m.c \ 30 ${CUR_SPM_FOLDER}/constraints/mt_spm_rc_cpu_buck_ldo.c \ 31 ${CUR_SPM_FOLDER}/constraints/mt_spm_rc_dram.c \ 32 ${CUR_SPM_FOLDER}/mt_spm_cond.c \ 33 ${CUR_SPM_FOLDER}/mt_spm_suspend.c \ 34 ${CUR_SPM_FOLDER}/mt_spm_idle.c 35 36ifeq (${MT_SPM_FEATURE_SUPPORT}, no) 37PLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_SPM_UNSUPPORT 38 39BL31_MT_LPM_PLAT_SPM_SOURCE_FILES += ${PLAT_SPM_SOURCE_FILES_COMMON} 40else 41BL31_MT_LPM_PLAT_SPM_SOURCE_FILES += \ 42 ${PLAT_SPM_SOURCE_FILES_COMMON} \ 43 ${PLAT_SPM_SOURCE_FILES} 44endif 45 46ifeq (${MT_SPM_CIRQ_FEATURE_SUPPORT}, no) 47PLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_CIRQ_UNSUPPORT 48endif 49 50ifeq (${MT_SPM_SSPM_NOTIFIER_SUPPORT}, no) 51PLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_SPM_SSPM_NOTIFIER_UNSUPPORT 52else 53BL31_MT_LPM_PLAT_SPM_SOURCE_FILES += ${CUR_SPM_FOLDER}/notifier/mt_spm_sspm_notifier.c 54endif 55 56ifeq (${MTK_VOLTAGE_BIN_VCORE}, yes) 57PLAT_SPM_DEBUG_CFLAGS += -DATF_VOLTAGE_BIN_VCORE_SUPPORT 58endif 59 60ifeq ($(MTK_SPM_EXTENSION_CONFIG), pmic6362) 61MTK_SPM_EXTENSION_PMIC_CONTROL := 6362 62$(eval $(call add_define,MTK_SPM_EXTENSION_PMIC_CONTROL)) 63endif 64 65$(info --------------------------------------) 66$(info SPM build flags: ${PLAT_SPM_DEBUG_CFLAGS}) 67$(info SPM build files: ${BL31_MT_LPM_PLAT_SPM_SOURCE_FILES}) 68$(info --------------------------------------) 69 70# Common makefile for platform.mk 71PLAT_INCLUDES += \ 72 ${PLAT_SPM_DEBUG_CFLAGS} \ 73 -I${CUR_SPM_FOLDER}/ \ 74 -I${CUR_SPM_FOLDER}/constraints/ \ 75 -I${CUR_SPM_FOLDER}/notifier/ 76 77PLAT_BL_COMMON_SOURCES += ${BL31_MT_LPM_PLAT_SPM_SOURCE_FILES} 78