summaryrefslogtreecommitdiff
path: root/plat/arm/board/corstone1000/platform.mk
blob: 3edffe08785976b75386b6d1eb49564a0b75316f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#
# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#

# Making sure the corstone1000 platform type is specified
ifeq ($(filter ${TARGET_PLATFORM}, fpga fvp),)
	$(error TARGET_PLATFORM must be fpga or fvp)
endif

CORSTONE1000_CPU_LIBS	+=lib/cpus/aarch64/cortex_a35.S

PLAT_INCLUDES		:=	-Iplat/arm/board/corstone1000/common/include	\
				-Iplat/arm/board/corstone1000/include		\
				-Iinclude/plat/arm/common			\
				-Iinclude/plat/arm/css/common/aarch64


CORSTONE1000_FW_NVCTR_VAL	:=	255
TFW_NVCTR_VAL		:=	${CORSTONE1000_FW_NVCTR_VAL}
NTFW_NVCTR_VAL		:=	${CORSTONE1000_FW_NVCTR_VAL}

override NEED_BL1	:=	no

override NEED_BL2	:=	yes
FIP_BL2_ARGS := tb-fw

override NEED_BL2U	:=	no
override NEED_BL31	:=	yes
NEED_BL32		:=	yes
override NEED_BL33	:=	yes

# Include GICv2 driver files
include drivers/arm/gic/v2/gicv2.mk

CORSTONE1000_GIC_SOURCES	:=	${GICV2_SOURCES}			\
				plat/common/plat_gicv2.c		\
				plat/arm/common/arm_gicv2.c


BL2_SOURCES		+=	plat/arm/board/corstone1000/common/corstone1000_security.c		\
				plat/arm/board/corstone1000/common/corstone1000_err.c		\
				plat/arm/board/corstone1000/common/corstone1000_trusted_boot.c	\
				lib/utils/mem_region.c					\
				plat/arm/board/corstone1000/common/corstone1000_helpers.S		\
				plat/arm/board/corstone1000/common/corstone1000_plat.c		\
				plat/arm/board/corstone1000/common/corstone1000_bl2_mem_params_desc.c \
				${CORSTONE1000_CPU_LIBS}					\


BL31_SOURCES	+=	drivers/cfi/v2m/v2m_flash.c				\
			lib/utils/mem_region.c					\
			plat/arm/board/corstone1000/common/corstone1000_helpers.S		\
			plat/arm/board/corstone1000/common/corstone1000_topology.c		\
			plat/arm/board/corstone1000/common/corstone1000_security.c		\
			plat/arm/board/corstone1000/common/corstone1000_plat.c		\
			plat/arm/board/corstone1000/common/corstone1000_pm.c		\
			plat/arm/board/corstone1000/common/corstone1000_bl31_setup.c	\
			${CORSTONE1000_CPU_LIBS}					\
			${CORSTONE1000_GIC_SOURCES}

ifneq (${ENABLE_STACK_PROTECTOR},0)
	ifneq (${ENABLE_STACK_PROTECTOR},none)
		CORSTONE1000_SECURITY_SOURCES := plat/arm/board/corstone1000/common/corstone1000_stack_protector.c
		BL2_SOURCES += ${CORSTONE1000_SECURITY_SOURCES}
		BL31_SOURCES += ${CORSTONE1000_SECURITY_SOURCES}
	endif
endif

FDT_SOURCES		+=	plat/arm/board/corstone1000/common/fdts/corstone1000_spmc_manifest.dts
CORSTONE1000_TOS_FW_CONFIG	:=	${BUILD_PLAT}/fdts/corstone1000_spmc_manifest.dtb

# Add the SPMC manifest to FIP and specify the same to certtool
$(eval $(call TOOL_ADD_PAYLOAD,${CORSTONE1000_TOS_FW_CONFIG},--tos-fw-config,${CORSTONE1000_TOS_FW_CONFIG}))

# Adding TARGET_PLATFORM as a GCC define (-D option)
$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM})))

# Adding CORSTONE1000_FW_NVCTR_VAL as a GCC define (-D option)
$(eval $(call add_define,CORSTONE1000_FW_NVCTR_VAL))

include plat/arm/common/arm_common.mk
include plat/arm/board/common/board_common.mk