xref: /rk3399_ARM-atf/plat/mediatek/mt8186/drivers/spm/build.mk (revision 1f4adc3a34f80249d40bfc7033a65f4217d7ee04)
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