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