blob: d6d3befac214d8208b6103c30d2f285c58f0261c [file] [log] [blame]
Manish Pandey52990ae2018-11-28 11:20:37 +00001#
Juan Pablo Conde6aba3b12023-08-09 13:19:21 -05002# Copyright (c) 2019-2023, Arm Limited and Contributors. All rights reserved.
Manish Pandey52990ae2018-11-28 11:20:37 +00003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
Abdellatif El Khlifi95294c92020-07-06 16:15:23 +01007# Making sure the corstone700 platform type is specified
8ifeq ($(filter ${TARGET_PLATFORM}, fpga fvp),)
9 $(error TARGET_PLATFORM must be fpga or fvp)
10endif
11
Manish Pandey52990ae2018-11-28 11:20:37 +000012CORSTONE700_CPU_LIBS += lib/cpus/aarch32/cortex_a32.S
13
14BL32_SOURCES += plat/arm/common/aarch32/arm_helpers.S \
15 plat/arm/common/arm_console.c \
16 plat/arm/common/arm_common.c \
17 lib/xlat_tables/aarch32/xlat_tables.c \
18 lib/xlat_tables/xlat_tables_common.c \
Khandelwal368564c2020-01-29 16:51:42 +000019 ${CORSTONE700_CPU_LIBS} \
Sandrine Bailleux7810eb32022-03-18 12:44:27 +010020 plat/arm/board/corstone700/common/drivers/mhu/corstone700_mhu.c
Manish Pandey52990ae2018-11-28 11:20:37 +000021
Abdellatif El Khlifi95294c92020-07-06 16:15:23 +010022PLAT_INCLUDES := -Iplat/arm/board/corstone700/common/include \
Khandelwal368564c2020-01-29 16:51:42 +000023 -Iinclude/plat/arm/common \
Abdellatif El Khlifi95294c92020-07-06 16:15:23 +010024 -Iplat/arm/board/corstone700/common/drivers/mhu
Manish Pandey52990ae2018-11-28 11:20:37 +000025
26NEED_BL32 := yes
27
Juan Pablo Conde6aba3b12023-08-09 13:19:21 -050028ifeq (${AARCH32_SP},none)
29 $(error Variable AARCH32_SP has to be set for AArch32)
30endif
31
Alexei Fedorovcaa18022020-07-14 10:47:25 +010032# Include GICv2 driver files
33include drivers/arm/gic/v2/gicv2.mk
34
35CORSTONE700_GIC_SOURCES := ${GICV2_SOURCES} \
Khandelwal368564c2020-01-29 16:51:42 +000036 plat/common/plat_gicv2.c \
Manish Pandey52990ae2018-11-28 11:20:37 +000037 plat/arm/common/arm_gicv2.c
38
39# BL1/BL2 Image not a part of the capsule Image for Corstone700
40override NEED_BL1 := no
41override NEED_BL2 := no
42override NEED_BL2U := no
Abdellatif El Khlifi95294c92020-07-06 16:15:23 +010043override NEED_BL33 := yes
Manish Pandey52990ae2018-11-28 11:20:37 +000044
45#TFA for Corstone700 starts from BL32
46override RESET_TO_SP_MIN := 1
47
48#Device tree
Abdellatif El Khlifi95294c92020-07-06 16:15:23 +010049CORSTONE700_HW_CONFIG_DTS := fdts/corstone700_${TARGET_PLATFORM}.dts
50CORSTONE700_HW_CONFIG := ${BUILD_PLAT}/fdts/corstone700_${TARGET_PLATFORM}.dtb
Manish Pandey52990ae2018-11-28 11:20:37 +000051FDT_SOURCES += ${CORSTONE700_HW_CONFIG_DTS}
52$(eval CORSTONE700_HW_CONFIG := ${BUILD_PLAT}/$(patsubst %.dts,%.dtb,$(CORSTONE700_HW_CONFIG_DTS)))
53
54# Add the HW_CONFIG to FIP and specify the same to certtool
Anders Dellien3f694742020-08-23 19:32:48 +010055$(eval $(call TOOL_ADD_PAYLOAD,${CORSTONE700_HW_CONFIG},--hw-config,${CORSTONE700_HW_CONFIG}))
Manish Pandey52990ae2018-11-28 11:20:37 +000056
57# Check for Linux kernel as a BL33 image by default
58$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33))
59 ifndef ARM_PRELOADED_DTB_BASE
60 $(error "ARM_PRELOADED_DTB_BASE must be set if ARM_LINUX_KERNEL_AS_BL33 is used.")
61 endif
62 $(eval $(call add_define,ARM_PRELOADED_DTB_BASE))
Abdellatif El Khlifi95294c92020-07-06 16:15:23 +010063
64# Adding TARGET_PLATFORM as a GCC define (-D option)
65$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM})))
66
Manish Pandey52990ae2018-11-28 11:20:37 +000067include plat/arm/board/common/board_common.mk