xref: /arm-trusted-firmware/plat/arm/board/corstone700/platform.mk (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu#
2*91f16700Schasinglulu# Copyright (c) 2019-2023, Arm Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu#
4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu#
6*91f16700Schasinglulu
7*91f16700Schasinglulu# Making sure the corstone700 platform type is specified
8*91f16700Schasingluluifeq ($(filter ${TARGET_PLATFORM}, fpga fvp),)
9*91f16700Schasinglulu        $(error TARGET_PLATFORM must be fpga or fvp)
10*91f16700Schasingluluendif
11*91f16700Schasinglulu
12*91f16700SchasingluluCORSTONE700_CPU_LIBS	+=	lib/cpus/aarch32/cortex_a32.S
13*91f16700Schasinglulu
14*91f16700SchasingluluBL32_SOURCES		+=	plat/arm/common/aarch32/arm_helpers.S	\
15*91f16700Schasinglulu				plat/arm/common/arm_console.c	\
16*91f16700Schasinglulu				plat/arm/common/arm_common.c	\
17*91f16700Schasinglulu				lib/xlat_tables/aarch32/xlat_tables.c	\
18*91f16700Schasinglulu				lib/xlat_tables/xlat_tables_common.c	\
19*91f16700Schasinglulu				${CORSTONE700_CPU_LIBS}	\
20*91f16700Schasinglulu				plat/arm/board/corstone700/common/drivers/mhu/corstone700_mhu.c
21*91f16700Schasinglulu
22*91f16700SchasingluluPLAT_INCLUDES		:=	-Iplat/arm/board/corstone700/common/include	\
23*91f16700Schasinglulu				-Iinclude/plat/arm/common	\
24*91f16700Schasinglulu				-Iplat/arm/board/corstone700/common/drivers/mhu
25*91f16700Schasinglulu
26*91f16700SchasingluluNEED_BL32		:=	yes
27*91f16700Schasinglulu
28*91f16700Schasingluluifeq (${AARCH32_SP},none)
29*91f16700Schasinglulu    $(error Variable AARCH32_SP has to be set for AArch32)
30*91f16700Schasingluluendif
31*91f16700Schasinglulu
32*91f16700Schasinglulu# Include GICv2 driver files
33*91f16700Schasingluluinclude drivers/arm/gic/v2/gicv2.mk
34*91f16700Schasinglulu
35*91f16700SchasingluluCORSTONE700_GIC_SOURCES	:=	${GICV2_SOURCES}			\
36*91f16700Schasinglulu				plat/common/plat_gicv2.c		\
37*91f16700Schasinglulu				plat/arm/common/arm_gicv2.c
38*91f16700Schasinglulu
39*91f16700Schasinglulu# BL1/BL2 Image not a part of the capsule Image for Corstone700
40*91f16700Schasingluluoverride NEED_BL1	:=	no
41*91f16700Schasingluluoverride NEED_BL2	:=	no
42*91f16700Schasingluluoverride NEED_BL2U	:=	no
43*91f16700Schasingluluoverride NEED_BL33	:=	yes
44*91f16700Schasinglulu
45*91f16700Schasinglulu#TFA for Corstone700 starts from BL32
46*91f16700Schasingluluoverride RESET_TO_SP_MIN	:=	1
47*91f16700Schasinglulu
48*91f16700Schasinglulu#Device tree
49*91f16700SchasingluluCORSTONE700_HW_CONFIG_DTS	:=	fdts/corstone700_${TARGET_PLATFORM}.dts
50*91f16700SchasingluluCORSTONE700_HW_CONFIG		:=	${BUILD_PLAT}/fdts/corstone700_${TARGET_PLATFORM}.dtb
51*91f16700SchasingluluFDT_SOURCES			+=	${CORSTONE700_HW_CONFIG_DTS}
52*91f16700Schasinglulu$(eval CORSTONE700_HW_CONFIG	:=	${BUILD_PLAT}/$(patsubst %.dts,%.dtb,$(CORSTONE700_HW_CONFIG_DTS)))
53*91f16700Schasinglulu
54*91f16700Schasinglulu# Add the HW_CONFIG to FIP and specify the same to certtool
55*91f16700Schasinglulu$(eval $(call TOOL_ADD_PAYLOAD,${CORSTONE700_HW_CONFIG},--hw-config,${CORSTONE700_HW_CONFIG}))
56*91f16700Schasinglulu
57*91f16700Schasinglulu# Check for Linux kernel as a BL33 image by default
58*91f16700Schasinglulu$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33))
59*91f16700Schasinglulu  ifndef ARM_PRELOADED_DTB_BASE
60*91f16700Schasinglulu    $(error "ARM_PRELOADED_DTB_BASE must be set if ARM_LINUX_KERNEL_AS_BL33 is used.")
61*91f16700Schasinglulu  endif
62*91f16700Schasinglulu  $(eval $(call add_define,ARM_PRELOADED_DTB_BASE))
63*91f16700Schasinglulu
64*91f16700Schasinglulu# Adding TARGET_PLATFORM as a GCC define (-D option)
65*91f16700Schasinglulu$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM})))
66*91f16700Schasinglulu
67*91f16700Schasingluluinclude plat/arm/board/common/board_common.mk
68