blob: fd08803e8b9b1314ddcbc69bd0f86ab201475d7f [file] [log] [blame]
Vishnu Banavath2b651ea2022-01-19 18:43:12 +00001#
Gauri Sahnan49a890e2023-08-08 17:16:51 +01002# Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
Vishnu Banavath2b651ea2022-01-19 18:43:12 +00003#
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
Harsimran Singh Tungala7fec062024-02-14 13:35:39 +000031NEED_BL32 ?= yes
Vishnu Banavath2b651ea2022-01-19 18:43:12 +000032override NEED_BL33 := yes
33
Harsimran Singh Tungala7fec062024-02-14 13:35:39 +000034# Add CORSTONE1000_WITH_BL32 as a preprocessor define (-D option)
35ifeq (${NEED_BL32},yes)
36$(eval $(call add_define,CORSTONE1000_WITH_BL32))
37endif
38
Vishnu Banavath2b651ea2022-01-19 18:43:12 +000039# Include GICv2 driver files
40include drivers/arm/gic/v2/gicv2.mk
41
42CORSTONE1000_GIC_SOURCES := ${GICV2_SOURCES} \
43 plat/common/plat_gicv2.c \
44 plat/arm/common/arm_gicv2.c
45
46
47BL2_SOURCES += plat/arm/board/corstone1000/common/corstone1000_security.c \
48 plat/arm/board/corstone1000/common/corstone1000_err.c \
49 plat/arm/board/corstone1000/common/corstone1000_trusted_boot.c \
50 lib/utils/mem_region.c \
Gauri Sahnan49a890e2023-08-08 17:16:51 +010051 lib/cpus/aarch64/cpu_helpers.S \
Vishnu Banavath2b651ea2022-01-19 18:43:12 +000052 plat/arm/board/corstone1000/common/corstone1000_helpers.S \
53 plat/arm/board/corstone1000/common/corstone1000_plat.c \
54 plat/arm/board/corstone1000/common/corstone1000_bl2_mem_params_desc.c \
55 ${CORSTONE1000_CPU_LIBS} \
56
57
58BL31_SOURCES += drivers/cfi/v2m/v2m_flash.c \
59 lib/utils/mem_region.c \
60 plat/arm/board/corstone1000/common/corstone1000_helpers.S \
61 plat/arm/board/corstone1000/common/corstone1000_topology.c \
62 plat/arm/board/corstone1000/common/corstone1000_security.c \
63 plat/arm/board/corstone1000/common/corstone1000_plat.c \
64 plat/arm/board/corstone1000/common/corstone1000_pm.c \
Madhukar Pappireddy042043b2023-03-02 16:33:25 -060065 plat/arm/board/corstone1000/common/corstone1000_bl31_setup.c \
Vishnu Banavath2b651ea2022-01-19 18:43:12 +000066 ${CORSTONE1000_CPU_LIBS} \
67 ${CORSTONE1000_GIC_SOURCES}
68
69ifneq (${ENABLE_STACK_PROTECTOR},0)
70 ifneq (${ENABLE_STACK_PROTECTOR},none)
71 CORSTONE1000_SECURITY_SOURCES := plat/arm/board/corstone1000/common/corstone1000_stack_protector.c
72 BL2_SOURCES += ${CORSTONE1000_SECURITY_SOURCES}
73 BL31_SOURCES += ${CORSTONE1000_SECURITY_SOURCES}
74 endif
75endif
76
77FDT_SOURCES += plat/arm/board/corstone1000/common/fdts/corstone1000_spmc_manifest.dts
78CORSTONE1000_TOS_FW_CONFIG := ${BUILD_PLAT}/fdts/corstone1000_spmc_manifest.dtb
79
80# Add the SPMC manifest to FIP and specify the same to certtool
81$(eval $(call TOOL_ADD_PAYLOAD,${CORSTONE1000_TOS_FW_CONFIG},--tos-fw-config,${CORSTONE1000_TOS_FW_CONFIG}))
82
83# Adding TARGET_PLATFORM as a GCC define (-D option)
84$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM})))
85
86# Adding CORSTONE1000_FW_NVCTR_VAL as a GCC define (-D option)
87$(eval $(call add_define,CORSTONE1000_FW_NVCTR_VAL))
88
89include plat/arm/common/arm_common.mk
90include plat/arm/board/common/board_common.mk