xref: /rk3399_ARM-atf/plat/arm/board/corstone1000/platform.mk (revision dd9fae1ce0e7b985c9fe8f8f8ae358b8c166c6a9)
1#
2# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7# Making sure the corstone1000 platform type is specified
8ifeq ($(filter ${TARGET_PLATFORM}, fpga fvp),)
9	$(error TARGET_PLATFORM must be fpga or fvp)
10endif
11
12CORSTONE1000_CPU_LIBS	+=lib/cpus/aarch64/cortex_a35.S
13
14PLAT_INCLUDES		:=	-Iplat/arm/board/corstone1000/common/include	\
15				-Iplat/arm/board/corstone1000/include		\
16				-Iinclude/plat/arm/common			\
17				-Iinclude/plat/arm/css/common/aarch64
18
19
20CORSTONE1000_FW_NVCTR_VAL	:=	255
21TFW_NVCTR_VAL		:=	${CORSTONE1000_FW_NVCTR_VAL}
22NTFW_NVCTR_VAL		:=	${CORSTONE1000_FW_NVCTR_VAL}
23
24override NEED_BL1	:=	no
25
26override NEED_BL2	:=	yes
27FIP_BL2_ARGS := tb-fw
28
29override NEED_BL2U	:=	no
30override NEED_BL31	:=	yes
31NEED_BL32		:=	yes
32override NEED_BL33	:=	yes
33
34# Include GICv2 driver files
35include drivers/arm/gic/v2/gicv2.mk
36
37CORSTONE1000_GIC_SOURCES	:=	${GICV2_SOURCES}			\
38				plat/common/plat_gicv2.c		\
39				plat/arm/common/arm_gicv2.c
40
41
42BL2_SOURCES		+=	plat/arm/board/corstone1000/common/corstone1000_security.c		\
43				plat/arm/board/corstone1000/common/corstone1000_err.c		\
44				plat/arm/board/corstone1000/common/corstone1000_trusted_boot.c	\
45				lib/utils/mem_region.c					\
46				plat/arm/board/corstone1000/common/corstone1000_helpers.S		\
47				plat/arm/board/corstone1000/common/corstone1000_plat.c		\
48				plat/arm/board/corstone1000/common/corstone1000_bl2_mem_params_desc.c \
49				${CORSTONE1000_CPU_LIBS}					\
50
51
52BL31_SOURCES	+=	drivers/cfi/v2m/v2m_flash.c				\
53			lib/utils/mem_region.c					\
54			plat/arm/board/corstone1000/common/corstone1000_helpers.S		\
55			plat/arm/board/corstone1000/common/corstone1000_topology.c		\
56			plat/arm/board/corstone1000/common/corstone1000_security.c		\
57			plat/arm/board/corstone1000/common/corstone1000_plat.c		\
58			plat/arm/board/corstone1000/common/corstone1000_pm.c		\
59			plat/arm/board/corstone1000/common/corstone1000_bl31_setup.c	\
60			${CORSTONE1000_CPU_LIBS}					\
61			${CORSTONE1000_GIC_SOURCES}
62
63ifneq (${ENABLE_STACK_PROTECTOR},0)
64	ifneq (${ENABLE_STACK_PROTECTOR},none)
65		CORSTONE1000_SECURITY_SOURCES := plat/arm/board/corstone1000/common/corstone1000_stack_protector.c
66		BL2_SOURCES += ${CORSTONE1000_SECURITY_SOURCES}
67		BL31_SOURCES += ${CORSTONE1000_SECURITY_SOURCES}
68	endif
69endif
70
71FDT_SOURCES		+=	plat/arm/board/corstone1000/common/fdts/corstone1000_spmc_manifest.dts
72CORSTONE1000_TOS_FW_CONFIG	:=	${BUILD_PLAT}/fdts/corstone1000_spmc_manifest.dtb
73
74# Add the SPMC manifest to FIP and specify the same to certtool
75$(eval $(call TOOL_ADD_PAYLOAD,${CORSTONE1000_TOS_FW_CONFIG},--tos-fw-config,${CORSTONE1000_TOS_FW_CONFIG}))
76
77# Adding TARGET_PLATFORM as a GCC define (-D option)
78$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM})))
79
80# Adding CORSTONE1000_FW_NVCTR_VAL as a GCC define (-D option)
81$(eval $(call add_define,CORSTONE1000_FW_NVCTR_VAL))
82
83include plat/arm/common/arm_common.mk
84include plat/arm/board/common/board_common.mk
85