xref: /rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc.mk (revision 4a8bfdb90956ecec02ba5e189fe5452817a65179)
15096aeb2SMarc Bonnici#
25096aeb2SMarc Bonnici# Copyright (c) 2022, ARM Limited and Contributors. All rights reserved.
35096aeb2SMarc Bonnici#
45096aeb2SMarc Bonnici# SPDX-License-Identifier: BSD-3-Clause
55096aeb2SMarc Bonnici#
65096aeb2SMarc Bonnici
75096aeb2SMarc Bonniciifneq (${ARCH},aarch64)
85096aeb2SMarc Bonnici        $(error "Error: SPMC is only supported on aarch64.")
95096aeb2SMarc Bonniciendif
105096aeb2SMarc Bonnici
115096aeb2SMarc BonniciSPMC_SOURCES	:=	$(addprefix services/std_svc/spm/el3_spmc/,	\
125096aeb2SMarc Bonnici			spmc_main.c				\
137affa25cSMarc Bonnici			spmc_setup.c				\
1459bd2ad8SMarc Bonnici			logical_sp.c				\
15e0b1a6d5SMarc Bonnici			spmc_pm.c				\
16e0b1a6d5SMarc Bonnici			spmc_shared_mem.c)
175096aeb2SMarc Bonnici
18a34ccd4cSMarc Bonnici# Specify platform specific logical partition implementation.
19a34ccd4cSMarc BonniciSPMC_LP_SOURCES  := $(addprefix ${PLAT_DIR}/, \
20a34ccd4cSMarc Bonnici                    ${PLAT}_el3_spmc_logical_sp.c)
21a34ccd4cSMarc Bonnici
22a34ccd4cSMarc Bonnici
23a34ccd4cSMarc BonniciSPMC_SOURCES += $(SPMC_LP_SOURCES)
24a34ccd4cSMarc Bonnici
255096aeb2SMarc Bonnici# Let the top-level Makefile know that we intend to include a BL32 image
265096aeb2SMarc BonniciNEED_BL32		:=	yes
27*4a8bfdb9SAchin Gupta
28*4a8bfdb9SAchin Guptaifndef BL32
29*4a8bfdb9SAchin Gupta# The SPMC is paired with a Test Secure Payload source and we intend to
30*4a8bfdb9SAchin Gupta# build the Test Secure Payload if no other image has been provided
31*4a8bfdb9SAchin Gupta# for BL32.
32*4a8bfdb9SAchin Gupta#
33*4a8bfdb9SAchin Gupta# In cases where an associated Secure Payload lies outside this build
34*4a8bfdb9SAchin Gupta# system/source tree, the dispatcher Makefile can either invoke an external
35*4a8bfdb9SAchin Gupta# build command or assume it is pre-built.
36*4a8bfdb9SAchin Gupta
37*4a8bfdb9SAchin GuptaBL32_ROOT		:=	bl32/tsp
38*4a8bfdb9SAchin Gupta
39*4a8bfdb9SAchin Gupta# Conditionally include SP's Makefile. The assumption is that the TSP's build
40*4a8bfdb9SAchin Gupta# system is compatible with that of Trusted Firmware, and it'll add and populate
41*4a8bfdb9SAchin Gupta# necessary build targets and variables.
42*4a8bfdb9SAchin Gupta
43*4a8bfdb9SAchin Guptainclude ${BL32_ROOT}/tsp.mk
44*4a8bfdb9SAchin Guptaendif
45