xref: /arm-trusted-firmware/plat/mediatek/mt8192/drivers/spm/build.mk (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu#
2*91f16700Schasinglulu# Copyright (c) 2020, MediaTek Inc. All rights reserved.
3*91f16700Schasinglulu#
4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu#
6*91f16700Schasinglulu
7*91f16700Schasinglulu# Enable or disable spm feature
8*91f16700SchasingluluMT_SPM_FEATURE_SUPPORT = yes
9*91f16700Schasinglulu
10*91f16700Schasinglulu# Enable or disable cirq restore
11*91f16700SchasingluluMT_SPM_CIRQ_FEATURE_SUPPORT = yes
12*91f16700Schasinglulu
13*91f16700Schasinglulu# sspm notifier support
14*91f16700SchasingluluMT_SPM_SSPM_NOTIFIER_SUPPORT = yes
15*91f16700Schasinglulu
16*91f16700SchasingluluCUR_SPM_FOLDER = ${MTK_PLAT_SOC}/drivers/spm
17*91f16700Schasinglulu
18*91f16700Schasinglulu# spm common files
19*91f16700SchasingluluPLAT_SPM_SOURCE_FILES_COMMON +=			\
20*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm.c		\
21*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_conservation.c	\
22*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_internal.c	\
23*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_pmic_wrap.c	\
24*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_vcorefs.c
25*91f16700Schasinglulu
26*91f16700Schasinglulu# spm platform dependcy files
27*91f16700SchasingluluPLAT_SPM_SOURCE_FILES +=					\
28*91f16700Schasinglulu	${CUR_SPM_FOLDER}/constraints/mt_spm_rc_bus26m.c	\
29*91f16700Schasinglulu	${CUR_SPM_FOLDER}/constraints/mt_spm_rc_cpu_buck_ldo.c	\
30*91f16700Schasinglulu	${CUR_SPM_FOLDER}/constraints/mt_spm_rc_dram.c		\
31*91f16700Schasinglulu	${CUR_SPM_FOLDER}/constraints/mt_spm_rc_syspll.c	\
32*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_cond.c				\
33*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_suspend.c			\
34*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_idle.c
35*91f16700Schasinglulu
36*91f16700Schasingluluifeq (${MT_SPM_FEATURE_SUPPORT}, no)
37*91f16700SchasingluluPLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_SPM_UNSUPPORT
38*91f16700SchasingluluBL31_MT_LPM_PLAT_SPM_SOURCE_FILES += ${PLAT_SPM_SOURCE_FILES_COMMON}
39*91f16700Schasingluluelse
40*91f16700SchasingluluBL31_MT_LPM_PLAT_SPM_SOURCE_FILES +=	\
41*91f16700Schasinglulu	${PLAT_SPM_SOURCE_FILES_COMMON} \
42*91f16700Schasinglulu	${PLAT_SPM_SOURCE_FILES}
43*91f16700Schasingluluendif
44*91f16700Schasinglulu
45*91f16700Schasingluluifeq (${MT_SPM_CIRQ_FEATURE_SUPPORT}, no)
46*91f16700SchasingluluPLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_CIRQ_UNSUPPORT
47*91f16700Schasingluluendif
48*91f16700Schasinglulu
49*91f16700Schasingluluifeq (${MT_SPM_SSPM_NOTIFIER_SUPPORT}, no)
50*91f16700SchasingluluPLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_SPM_SSPM_NOTIFIER_UNSUPPORT
51*91f16700Schasingluluelse
52*91f16700SchasingluluBL31_MT_LPM_PLAT_SPM_SOURCE_FILES +=	\
53*91f16700Schasinglulu	${CUR_SPM_FOLDER}/notifier/mt_spm_sspm_notifier.c
54*91f16700Schasingluluendif
55*91f16700Schasinglulu
56*91f16700Schasinglulu$(info --------------------------------------)
57*91f16700Schasinglulu$(info SPM build flags: ${PLAT_SPM_DEBUG_CFLAGS})
58*91f16700Schasinglulu$(info SPM build files: ${BL31_MT_LPM_PLAT_SPM_SOURCE_FILES})
59*91f16700Schasinglulu$(info --------------------------------------)
60*91f16700Schasinglulu
61*91f16700Schasinglulu# Common makefile for platform.mk
62*91f16700SchasingluluPLAT_INCLUDES +=				\
63*91f16700Schasinglulu	${PLAT_SPM_DEBUG_CFLAGS}		\
64*91f16700Schasinglulu	-I${CUR_SPM_FOLDER}/			\
65*91f16700Schasinglulu	-I${CUR_SPM_FOLDER}/constraints/	\
66*91f16700Schasinglulu	-I${CUR_SPM_FOLDER}/notifier/
67*91f16700Schasinglulu
68*91f16700SchasingluluPLAT_BL_COMMON_SOURCES += ${BL31_MT_LPM_PLAT_SPM_SOURCE_FILES}
69