xref: /arm-trusted-firmware/plat/mediatek/mt8186/drivers/spm/build.mk (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu#
2*91f16700Schasinglulu# Copyright (c) 2022, 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_internal.c		\
22*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_pmic_wrap.c		\
23*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_vcorefs.c		\
24*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_conservation.c		\
25*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_extern.c
26*91f16700Schasinglulu
27*91f16700Schasinglulu# spm platform dependcy files
28*91f16700SchasingluluPLAT_SPM_SOURCE_FILES +=					\
29*91f16700Schasinglulu	${CUR_SPM_FOLDER}/constraints/mt_spm_rc_syspll.c	\
30*91f16700Schasinglulu	${CUR_SPM_FOLDER}/constraints/mt_spm_rc_bus26m.c	\
31*91f16700Schasinglulu	${CUR_SPM_FOLDER}/constraints/mt_spm_rc_cpu_buck_ldo.c	\
32*91f16700Schasinglulu	${CUR_SPM_FOLDER}/constraints/mt_spm_rc_dram.c		\
33*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_cond.c				\
34*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_suspend.c			\
35*91f16700Schasinglulu	${CUR_SPM_FOLDER}/mt_spm_idle.c
36*91f16700Schasinglulu
37*91f16700Schasingluluifeq (${MT_SPM_FEATURE_SUPPORT}, no)
38*91f16700SchasingluluPLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_SPM_UNSUPPORT
39*91f16700Schasinglulu
40*91f16700SchasingluluBL31_MT_LPM_PLAT_SPM_SOURCE_FILES += ${PLAT_SPM_SOURCE_FILES_COMMON}
41*91f16700Schasingluluelse
42*91f16700SchasingluluBL31_MT_LPM_PLAT_SPM_SOURCE_FILES +=	\
43*91f16700Schasinglulu	${PLAT_SPM_SOURCE_FILES_COMMON} \
44*91f16700Schasinglulu	${PLAT_SPM_SOURCE_FILES}
45*91f16700Schasingluluendif
46*91f16700Schasinglulu
47*91f16700Schasingluluifeq (${MT_SPM_CIRQ_FEATURE_SUPPORT}, no)
48*91f16700SchasingluluPLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_CIRQ_UNSUPPORT
49*91f16700Schasingluluendif
50*91f16700Schasinglulu
51*91f16700Schasingluluifeq (${MT_SPM_SSPM_NOTIFIER_SUPPORT}, no)
52*91f16700SchasingluluPLAT_SPM_DEBUG_CFLAGS += -DATF_PLAT_SPM_SSPM_NOTIFIER_UNSUPPORT
53*91f16700Schasingluluelse
54*91f16700SchasingluluBL31_MT_LPM_PLAT_SPM_SOURCE_FILES += ${CUR_SPM_FOLDER}/notifier/mt_spm_sspm_notifier.c
55*91f16700Schasingluluendif
56*91f16700Schasinglulu
57*91f16700Schasingluluifeq (${MTK_VOLTAGE_BIN_VCORE}, yes)
58*91f16700SchasingluluPLAT_SPM_DEBUG_CFLAGS += -DATF_VOLTAGE_BIN_VCORE_SUPPORT
59*91f16700Schasingluluendif
60*91f16700Schasinglulu
61*91f16700Schasingluluifeq ($(MTK_SPM_EXTENSION_CONFIG), pmic6362)
62*91f16700SchasingluluMTK_SPM_EXTENSION_PMIC_CONTROL := 6362
63*91f16700Schasinglulu$(eval $(call add_define,MTK_SPM_EXTENSION_PMIC_CONTROL))
64*91f16700Schasingluluendif
65*91f16700Schasinglulu
66*91f16700Schasinglulu$(info --------------------------------------)
67*91f16700Schasinglulu$(info SPM build flags: ${PLAT_SPM_DEBUG_CFLAGS})
68*91f16700Schasinglulu$(info SPM build files: ${BL31_MT_LPM_PLAT_SPM_SOURCE_FILES})
69*91f16700Schasinglulu$(info --------------------------------------)
70*91f16700Schasinglulu
71*91f16700Schasinglulu# Common makefile for platform.mk
72*91f16700SchasingluluPLAT_INCLUDES +=				\
73*91f16700Schasinglulu	${PLAT_SPM_DEBUG_CFLAGS}		\
74*91f16700Schasinglulu	-I${CUR_SPM_FOLDER}/			\
75*91f16700Schasinglulu	-I${CUR_SPM_FOLDER}/constraints/	\
76*91f16700Schasinglulu	-I${CUR_SPM_FOLDER}/notifier/
77*91f16700Schasinglulu
78*91f16700SchasingluluPLAT_BL_COMMON_SOURCES += ${BL31_MT_LPM_PLAT_SPM_SOURCE_FILES}
79