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