1a2847172SGrzegorz Jaszczyk# Copyright (C) 2018 Marvell International Ltd. 2a2847172SGrzegorz Jaszczyk# 3a2847172SGrzegorz Jaszczyk# SPDX-License-Identifier: BSD-3-Clause 4a2847172SGrzegorz Jaszczyk# https://spdx.org/licenses 5a2847172SGrzegorz Jaszczyk 6a2847172SGrzegorz JaszczykMARVELL_PLAT_BASE := plat/marvell/armada 7a2847172SGrzegorz JaszczykMARVELL_PLAT_INCLUDE_BASE := include/plat/marvell/armada 8a2847172SGrzegorz Jaszczyk 9a2847172SGrzegorz Jaszczykinclude plat/marvell/version.mk 10a2847172SGrzegorz Jaszczykinclude plat/marvell/marvell.mk 11a2847172SGrzegorz Jaszczyk 12a2847172SGrzegorz JaszczykVERSION_STRING +=(Marvell-${SUBVERSION}) 13a2847172SGrzegorz Jaszczyk 14a2847172SGrzegorz JaszczykSEPARATE_CODE_AND_RODATA := 1 15a2847172SGrzegorz Jaszczyk 16a2847172SGrzegorz Jaszczyk# flag to switch from PLL to ARO 17a2847172SGrzegorz JaszczykARO_ENABLE := 0 18a2847172SGrzegorz Jaszczyk$(eval $(call add_define,ARO_ENABLE)) 195a40d70fSKonstantin Porotchkin 205a40d70fSKonstantin Porotchkin# Convert LLC to secure SRAM 215a40d70fSKonstantin PorotchkinLLC_SRAM := 0 225a40d70fSKonstantin Porotchkin$(eval $(call add_define,LLC_SRAM)) 235a40d70fSKonstantin Porotchkin 24a2847172SGrzegorz Jaszczyk# Enable/Disable LLC 25a2847172SGrzegorz JaszczykLLC_ENABLE := 1 26a2847172SGrzegorz Jaszczyk$(eval $(call add_define,LLC_ENABLE)) 27a2847172SGrzegorz Jaszczyk 28a2847172SGrzegorz Jaszczykinclude lib/xlat_tables_v2/xlat_tables.mk 29a2847172SGrzegorz Jaszczyk 30a2847172SGrzegorz JaszczykPLAT_INCLUDES += -I$(MARVELL_PLAT_INCLUDE_BASE)/common \ 31a2847172SGrzegorz Jaszczyk -I$(MARVELL_PLAT_INCLUDE_BASE)/common/aarch64 32a2847172SGrzegorz Jaszczyk 33a2847172SGrzegorz Jaszczyk 34a2847172SGrzegorz JaszczykPLAT_BL_COMMON_SOURCES += ${XLAT_TABLES_LIB_SRCS} \ 35a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/aarch64/marvell_common.c \ 36a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/aarch64/marvell_helpers.S \ 37a2847172SGrzegorz Jaszczyk $(MARVELL_COMMON_BASE)/marvell_console.c 38a2847172SGrzegorz Jaszczyk 39a2847172SGrzegorz JaszczykBL1_SOURCES += drivers/delay_timer/delay_timer.c \ 40a2847172SGrzegorz Jaszczyk drivers/io/io_fip.c \ 41a2847172SGrzegorz Jaszczyk drivers/io/io_memmap.c \ 42a2847172SGrzegorz Jaszczyk drivers/io/io_storage.c \ 43a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/marvell_bl1_setup.c \ 44a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/marvell_io_storage.c \ 45a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/plat_delay_timer.c 46a2847172SGrzegorz Jaszczyk 47a2847172SGrzegorz Jaszczykifdef EL3_PAYLOAD_BASE 48a2847172SGrzegorz Jaszczyk# Need the arm_program_trusted_mailbox() function to release secondary CPUs from 49a2847172SGrzegorz Jaszczyk# their holding pen 50a2847172SGrzegorz Jaszczykendif 51a2847172SGrzegorz Jaszczyk 52a2847172SGrzegorz JaszczykBL2_SOURCES += drivers/io/io_fip.c \ 53a2847172SGrzegorz Jaszczyk drivers/io/io_memmap.c \ 54a2847172SGrzegorz Jaszczyk drivers/io/io_storage.c \ 55a2847172SGrzegorz Jaszczyk common/desc_image_load.c \ 56a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/marvell_bl2_setup.c \ 57a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/marvell_io_storage.c \ 58a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/aarch64/marvell_bl2_mem_params_desc.c \ 59a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/marvell_image_load.c 60a2847172SGrzegorz Jaszczyk 61*41e8c6fcSMarcin Wojtasifeq (${SPD},opteed) 62*41e8c6fcSMarcin WojtasPLAT_INCLUDES += -Iinclude/lib 63*41e8c6fcSMarcin WojtasBL2_SOURCES += lib/optee/optee_utils.c 64*41e8c6fcSMarcin Wojtasendif 65a2847172SGrzegorz Jaszczyk 66a2847172SGrzegorz JaszczykBL31_SOURCES += $(MARVELL_PLAT_BASE)/common/marvell_bl31_setup.c \ 67a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/marvell_pm.c \ 68a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/marvell_topology.c \ 69a2847172SGrzegorz Jaszczyk plat/common/plat_psci_common.c \ 70a2847172SGrzegorz Jaszczyk $(MARVELL_PLAT_BASE)/common/plat_delay_timer.c \ 71a2847172SGrzegorz Jaszczyk drivers/delay_timer/delay_timer.c 72a2847172SGrzegorz Jaszczyk 73a2847172SGrzegorz Jaszczyk# PSCI functionality 74a2847172SGrzegorz Jaszczyk$(eval $(call add_define,CONFIG_ARM64)) 75a2847172SGrzegorz Jaszczyk 76*41e8c6fcSMarcin Wojtas# Add the build options to pack Trusted OS Extra1 and Trusted OS Extra2 images 77*41e8c6fcSMarcin Wojtas# in the FIP if the platform requires. 78*41e8c6fcSMarcin Wojtasifneq ($(BL32_EXTRA1),) 79*41e8c6fcSMarcin Wojtas$(eval $(call TOOL_ADD_IMG,bl32_extra1,--tos-fw-extra1)) 80*41e8c6fcSMarcin Wojtasendif 81*41e8c6fcSMarcin Wojtasifneq ($(BL32_EXTRA2),) 82*41e8c6fcSMarcin Wojtas$(eval $(call TOOL_ADD_IMG,bl32_extra2,--tos-fw-extra2)) 83*41e8c6fcSMarcin Wojtasendif 84*41e8c6fcSMarcin Wojtas 85a2847172SGrzegorz Jaszczyk# MSS (SCP) build 86a2847172SGrzegorz Jaszczykifeq (${MSS_SUPPORT}, 1) 87a2847172SGrzegorz Jaszczykinclude $(MARVELL_PLAT_BASE)/common/mss/mss_common.mk 88a2847172SGrzegorz Jaszczykendif 89a2847172SGrzegorz Jaszczyk 90a2847172SGrzegorz Jaszczykfip: mrvl_flash 91