1# 2# Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are met: 6# 7# Redistributions of source code must retain the above copyright notice, this 8# list of conditions and the following disclaimer. 9# 10# Redistributions in binary form must reproduce the above copyright notice, 11# this list of conditions and the following disclaimer in the documentation 12# and/or other materials provided with the distribution. 13# 14# Neither the name of ARM nor the names of its contributors may be used 15# to endorse or promote products derived from this software without specific 16# prior written permission. 17# 18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 22# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28# POSSIBILITY OF SUCH DAMAGE. 29# 30 31 32# By default, SCP images are needed by CSS platforms. 33CSS_LOAD_SCP_IMAGES ?= 1 34 35PLAT_INCLUDES += -Iinclude/plat/arm/css/common \ 36 -Iinclude/plat/arm/css/common/aarch64 37 38 39PLAT_BL_COMMON_SOURCES += plat/arm/css/common/aarch64/css_helpers.S 40 41BL1_SOURCES += plat/arm/css/common/css_bl1_setup.c 42 43BL2_SOURCES += plat/arm/css/common/css_bl2_setup.c \ 44 plat/arm/css/drivers/scpi/css_mhu.c \ 45 plat/arm/css/drivers/scpi/css_scpi.c 46 47BL2U_SOURCES += plat/arm/css/common/css_bl2u_setup.c \ 48 plat/arm/css/drivers/scpi/css_mhu.c \ 49 plat/arm/css/drivers/scpi/css_scpi.c 50 51BL31_SOURCES += plat/arm/css/common/css_pm.c \ 52 plat/arm/css/common/css_topology.c \ 53 plat/arm/css/drivers/scp/css_pm_scpi.c \ 54 plat/arm/css/drivers/scpi/css_mhu.c \ 55 plat/arm/css/drivers/scpi/css_scpi.c 56 57ifneq (${RESET_TO_BL31},0) 58 $(error "Using BL31 as the reset vector is not supported on CSS platforms. \ 59 Please set RESET_TO_BL31 to 0.") 60endif 61 62# Process CSS_LOAD_SCP_IMAGES flag 63$(eval $(call assert_boolean,CSS_LOAD_SCP_IMAGES)) 64$(eval $(call add_define,CSS_LOAD_SCP_IMAGES)) 65 66ifeq (${CSS_LOAD_SCP_IMAGES},1) 67 $(eval $(call FIP_ADD_IMG,SCP_BL2,--scp-fw)) 68 ifneq (${TRUSTED_BOARD_BOOT},0) 69 $(eval $(call FWU_FIP_ADD_IMG,SCP_BL2U,--scp-fwu-cfg)) 70 endif 71 72 BL2U_SOURCES += plat/arm/css/common/css_scp_bootloader.c 73 BL2_SOURCES += plat/arm/css/common/css_scp_bootloader.c 74endif 75 76# Enable option to detect whether the SCP ROM firmware in use predates version 77# 1.7.0 and therefore, is incompatible. 78CSS_DETECT_PRE_1_7_0_SCP := 1 79 80# Process CSS_DETECT_PRE_1_7_0_SCP flag 81$(eval $(call assert_boolean,CSS_DETECT_PRE_1_7_0_SCP)) 82$(eval $(call add_define,CSS_DETECT_PRE_1_7_0_SCP)) 83