1b4315306SDan Handley# 27fb9a32dSVikram 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 317fb9a32dSVikram Kanigiri 327fb9a32dSVikram Kanigiri# By default, SCP images are needed by CSS platforms. 337fb9a32dSVikram KanigiriCSS_LOAD_SCP_IMAGES ?= 1 347fb9a32dSVikram 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 \ 44b12a2b49SSoby Mathew plat/arm/css/drivers/scpi/css_mhu.c \ 45b12a2b49SSoby Mathew plat/arm/css/drivers/scpi/css_scpi.c 46b4315306SDan Handley 47dcda29f6SYatharth KocharBL2U_SOURCES += plat/arm/css/common/css_bl2u_setup.c \ 48b12a2b49SSoby Mathew plat/arm/css/drivers/scpi/css_mhu.c \ 49b12a2b49SSoby Mathew plat/arm/css/drivers/scpi/css_scpi.c 50dcda29f6SYatharth Kochar 51b12a2b49SSoby MathewBL31_SOURCES += plat/arm/css/common/css_pm.c \ 52b12a2b49SSoby Mathew plat/arm/css/common/css_topology.c \ 53b12a2b49SSoby Mathew plat/arm/css/drivers/scp/css_pm_scpi.c \ 54b12a2b49SSoby Mathew plat/arm/css/drivers/scpi/css_mhu.c \ 55b12a2b49SSoby Mathew plat/arm/css/drivers/scpi/css_scpi.c 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 627fb9a32dSVikram Kanigiri# Process CSS_LOAD_SCP_IMAGES flag 637fb9a32dSVikram Kanigiri$(eval $(call assert_boolean,CSS_LOAD_SCP_IMAGES)) 647fb9a32dSVikram Kanigiri$(eval $(call add_define,CSS_LOAD_SCP_IMAGES)) 657fb9a32dSVikram Kanigiri 667fb9a32dSVikram Kanigiriifeq (${CSS_LOAD_SCP_IMAGES},1) 67*4d045d0eSMasahiro Yamada NEED_SCP_BL2 := yes 687fb9a32dSVikram Kanigiri ifneq (${TRUSTED_BOARD_BOOT},0) 697fb9a32dSVikram Kanigiri $(eval $(call FWU_FIP_ADD_IMG,SCP_BL2U,--scp-fwu-cfg)) 707fb9a32dSVikram Kanigiri endif 717fb9a32dSVikram Kanigiri 727fb9a32dSVikram Kanigiri BL2U_SOURCES += plat/arm/css/common/css_scp_bootloader.c 737fb9a32dSVikram Kanigiri BL2_SOURCES += plat/arm/css/common/css_scp_bootloader.c 747fb9a32dSVikram 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