17ac6a76cSjason-ch chen# 27ac6a76cSjason-ch chen# Copyright (c) 2022, MediaTek Inc. All rights reserved. 37ac6a76cSjason-ch chen# 47ac6a76cSjason-ch chen# SPDX-License-Identifier: BSD-3-Clause 57ac6a76cSjason-ch chen# 67ac6a76cSjason-ch chen 77ac6a76cSjason-ch chen# Enable or disable spm feature 87ac6a76cSjason-ch chenMT_SPM_FEATURE_SUPPORT=yes 97ac6a76cSjason-ch chen 107ac6a76cSjason-ch chen# Enable or disable cirq restore 117ac6a76cSjason-ch chenMT_SPM_CIRQ_FEATURE_SUPPORT=yes 127ac6a76cSjason-ch chen 137ac6a76cSjason-ch chen# sspm notifier support 147ac6a76cSjason-ch chenMT_SPM_SSPM_NOTIFIER_SUPPORT=yes 157ac6a76cSjason-ch chen 167ac6a76cSjason-ch chenCUR_SPM_FOLDER = ${MTK_PLAT_SOC}/drivers/spm 177ac6a76cSjason-ch chen 187ac6a76cSjason-ch chen# spm common files 197ac6a76cSjason-ch chenPLAT_SPM_SOURCE_FILES_COMMON += \ 207ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/mt_spm.c \ 217ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/mt_spm_internal.c \ 227ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/mt_spm_pmic_wrap.c \ 23*635e6b10Sjason-ch chen ${CUR_SPM_FOLDER}/mt_spm_vcorefs.c \ 247ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/mt_spm_conservation.c \ 257ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/mt_spm_extern.c 267ac6a76cSjason-ch chen 277ac6a76cSjason-ch chen# spm platform dependcy files 287ac6a76cSjason-ch chenPLAT_SPM_SOURCE_FILES += \ 297ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/constraints/mt_spm_rc_syspll.c \ 307ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/constraints/mt_spm_rc_bus26m.c \ 317ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/constraints/mt_spm_rc_cpu_buck_ldo.c \ 327ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/constraints/mt_spm_rc_dram.c \ 337ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/mt_spm_cond.c \ 347ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/mt_spm_suspend.c \ 357ac6a76cSjason-ch chen ${CUR_SPM_FOLDER}/mt_spm_idle.c 367ac6a76cSjason-ch chen 377ac6a76cSjason-ch chenifeq (${MT_SPM_FEATURE_SUPPORT}, no) 387ac6a76cSjason-ch chenPLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_SPM_UNSUPPORT 397ac6a76cSjason-ch chen 407ac6a76cSjason-ch chenBL31_MT_LPM_PLAT_SPM_SOURCE_FILES += ${PLAT_SPM_SOURCE_FILES_COMMON} 417ac6a76cSjason-ch chenelse 427ac6a76cSjason-ch chenBL31_MT_LPM_PLAT_SPM_SOURCE_FILES += \ 437ac6a76cSjason-ch chen ${PLAT_SPM_SOURCE_FILES_COMMON} \ 447ac6a76cSjason-ch chen ${PLAT_SPM_SOURCE_FILES} 457ac6a76cSjason-ch chenendif 467ac6a76cSjason-ch chen 477ac6a76cSjason-ch chenifeq (${MT_SPM_CIRQ_FEATURE_SUPPORT}, no) 487ac6a76cSjason-ch chenPLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_CIRQ_UNSUPPORT 497ac6a76cSjason-ch chenendif 507ac6a76cSjason-ch chen 517ac6a76cSjason-ch chenifeq (${MT_SPM_SSPM_NOTIFIER_SUPPORT}, no) 527ac6a76cSjason-ch chenPLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_SPM_SSPM_NOTIFIER_UNSUPPORT 537ac6a76cSjason-ch chenelse 547ac6a76cSjason-ch chenBL31_MT_LPM_PLAT_SPM_SOURCE_FILES += ${CUR_SPM_FOLDER}/notifier/mt_spm_sspm_notifier.c 557ac6a76cSjason-ch chenendif 567ac6a76cSjason-ch chen 577ac6a76cSjason-ch chenifeq (${MTK_VOLTAGE_BIN_VCORE}, yes) 587ac6a76cSjason-ch chenPLAT_SPM_DEBUG_CFLAGS += -DATF_VOLTAGE_BIN_VCORE_SUPPORT 597ac6a76cSjason-ch chenendif 607ac6a76cSjason-ch chen 617ac6a76cSjason-ch chenifeq ($(MTK_SPM_EXTENSION_CONFIG), pmic6362) 627ac6a76cSjason-ch chenMTK_SPM_EXTENSION_PMIC_CONTROL := 6362 637ac6a76cSjason-ch chen$(eval $(call add_define,MTK_SPM_EXTENSION_PMIC_CONTROL)) 647ac6a76cSjason-ch chenendif 657ac6a76cSjason-ch chen 667ac6a76cSjason-ch chen$(info --------------------------------------) 677ac6a76cSjason-ch chen$(info SPM build flags: ${PLAT_SPM_DEBUG_CFLAGS}) 687ac6a76cSjason-ch chen$(info SPM build files: ${BL31_MT_LPM_PLAT_SPM_SOURCE_FILES}) 697ac6a76cSjason-ch chen$(info --------------------------------------) 707ac6a76cSjason-ch chen 717ac6a76cSjason-ch chen# Common makefile for platform.mk 727ac6a76cSjason-ch chenPLAT_INCLUDES += \ 737ac6a76cSjason-ch chen ${PLAT_SPM_DEBUG_CFLAGS} \ 747ac6a76cSjason-ch chen -I${CUR_SPM_FOLDER}/ \ 757ac6a76cSjason-ch chen -I${CUR_SPM_FOLDER}/constraints/ \ 767ac6a76cSjason-ch chen -I${CUR_SPM_FOLDER}/notifier/ 777ac6a76cSjason-ch chen 787ac6a76cSjason-ch chenPLAT_BL_COMMON_SOURCES += ${BL31_MT_LPM_PLAT_SPM_SOURCE_FILES} 79