mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-28 16:11:49 +00:00

This patch performs the following: - Creating two corstone700 platforms under corstone700 board: fvp and fpga - Since the FVP and FPGA have IP differences, this commit provides a specific DTS for each platform - The platform can be specified using the TARGET_PLATFORM Makefile variable (possible values are: fvp or fpga) - Allowing to use u-boot by: - Enabling NEED_BL33 option - Fixing non-secure image base: For no preloaded bl33 we want to have the NS base set on shared ram. Setup a memory map region for NS in shared map and set the bl33 address in the area. - Setting the SYS_COUNTER_FREQ_IN_TICKS based on the selected platform - Setting ARM_MAP_SHARED_RAM and ARM_MAP_NS_SHARED_RAM to use MT_MEMORY Change-Id: I4c8ac3387acb1693ab617bcccab00d80e340c163 Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org> Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
62 lines
2.1 KiB
Makefile
62 lines
2.1 KiB
Makefile
#
|
|
# Copyright (c) 2019-2020, Arm Limited and Contributors. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
|
|
# Making sure the corstone700 platform type is specified
|
|
ifeq ($(filter ${TARGET_PLATFORM}, fpga fvp),)
|
|
$(error TARGET_PLATFORM must be fpga or fvp)
|
|
endif
|
|
|
|
CORSTONE700_CPU_LIBS += lib/cpus/aarch32/cortex_a32.S
|
|
|
|
BL32_SOURCES += plat/arm/common/aarch32/arm_helpers.S \
|
|
plat/arm/common/arm_console.c \
|
|
plat/arm/common/arm_common.c \
|
|
lib/xlat_tables/aarch32/xlat_tables.c \
|
|
lib/xlat_tables/xlat_tables_common.c \
|
|
${CORSTONE700_CPU_LIBS} \
|
|
plat/arm/board/corstone700/common/drivers/mhu/mhu.c
|
|
|
|
PLAT_INCLUDES := -Iplat/arm/board/corstone700/common/include \
|
|
-Iinclude/plat/arm/common \
|
|
-Iplat/arm/board/corstone700/common/drivers/mhu
|
|
|
|
NEED_BL32 := yes
|
|
|
|
CORSTONE700_GIC_SOURCES := drivers/arm/gic/common/gic_common.c \
|
|
drivers/arm/gic/v2/gicv2_main.c \
|
|
drivers/arm/gic/v2/gicv2_helpers.c \
|
|
plat/common/plat_gicv2.c \
|
|
plat/arm/common/arm_gicv2.c
|
|
|
|
# BL1/BL2 Image not a part of the capsule Image for Corstone700
|
|
override NEED_BL1 := no
|
|
override NEED_BL2 := no
|
|
override NEED_BL2U := no
|
|
override NEED_BL33 := yes
|
|
|
|
#TFA for Corstone700 starts from BL32
|
|
override RESET_TO_SP_MIN := 1
|
|
|
|
#Device tree
|
|
CORSTONE700_HW_CONFIG_DTS := fdts/corstone700_${TARGET_PLATFORM}.dts
|
|
CORSTONE700_HW_CONFIG := ${BUILD_PLAT}/fdts/corstone700_${TARGET_PLATFORM}.dtb
|
|
FDT_SOURCES += ${CORSTONE700_HW_CONFIG_DTS}
|
|
$(eval CORSTONE700_HW_CONFIG := ${BUILD_PLAT}/$(patsubst %.dts,%.dtb,$(CORSTONE700_HW_CONFIG_DTS)))
|
|
|
|
# Add the HW_CONFIG to FIP and specify the same to certtool
|
|
$(eval $(call TOOL_ADD_PAYLOAD,${CORSTONE700_HW_CONFIG},--hw-config))
|
|
|
|
# Check for Linux kernel as a BL33 image by default
|
|
$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33))
|
|
ifndef ARM_PRELOADED_DTB_BASE
|
|
$(error "ARM_PRELOADED_DTB_BASE must be set if ARM_LINUX_KERNEL_AS_BL33 is used.")
|
|
endif
|
|
$(eval $(call add_define,ARM_PRELOADED_DTB_BASE))
|
|
|
|
# Adding TARGET_PLATFORM as a GCC define (-D option)
|
|
$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM})))
|
|
|
|
include plat/arm/board/common/board_common.mk
|