1# 2# Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6 7 8# By default, SCP images are needed by CSS platforms. 9CSS_LOAD_SCP_IMAGES ?= 1 10 11# By default, SCMI driver is disabled for CSS platforms 12CSS_USE_SCMI_DRIVER ?= 0 13 14PLAT_INCLUDES += -Iinclude/plat/arm/css/common \ 15 -Iinclude/plat/arm/css/common/aarch64 16 17 18PLAT_BL_COMMON_SOURCES += plat/arm/css/common/${ARCH}/css_helpers.S 19 20BL1_SOURCES += plat/arm/css/common/css_bl1_setup.c 21 22BL2_SOURCES += plat/arm/css/common/css_bl2_setup.c \ 23 plat/arm/css/drivers/scpi/css_mhu.c \ 24 plat/arm/css/drivers/scpi/css_scpi.c 25 26BL2U_SOURCES += plat/arm/css/common/css_bl2u_setup.c \ 27 plat/arm/css/drivers/scpi/css_mhu.c \ 28 plat/arm/css/drivers/scpi/css_scpi.c 29 30BL31_SOURCES += plat/arm/css/common/css_pm.c \ 31 plat/arm/css/common/css_topology.c 32 33ifeq (${CSS_USE_SCMI_DRIVER},0) 34BL31_SOURCES += plat/arm/css/drivers/scp/css_pm_scpi.c \ 35 plat/arm/css/drivers/scpi/css_mhu.c \ 36 plat/arm/css/drivers/scpi/css_scpi.c 37else 38BL31_SOURCES += plat/arm/css/drivers/scp/css_pm_scmi.c \ 39 plat/arm/css/drivers/scmi/scmi_common.c \ 40 plat/arm/css/drivers/scmi/scmi_pwr_dmn_proto.c \ 41 plat/arm/css/drivers/scmi/scmi_sys_pwr_proto.c 42endif 43 44ifneq (${RESET_TO_BL31},0) 45 $(error "Using BL31 as the reset vector is not supported on CSS platforms. \ 46 Please set RESET_TO_BL31 to 0.") 47endif 48 49# Process CSS_LOAD_SCP_IMAGES flag 50$(eval $(call assert_boolean,CSS_LOAD_SCP_IMAGES)) 51$(eval $(call add_define,CSS_LOAD_SCP_IMAGES)) 52 53ifeq (${CSS_LOAD_SCP_IMAGES},1) 54 NEED_SCP_BL2 := yes 55 ifneq (${TRUSTED_BOARD_BOOT},0) 56 $(eval $(call FWU_FIP_ADD_IMG,SCP_BL2U,--scp-fwu-cfg)) 57 endif 58 59 BL2U_SOURCES += plat/arm/css/drivers/scp/css_bom_bootloader.c 60 BL2_SOURCES += plat/arm/css/drivers/scp/css_bom_bootloader.c 61endif 62 63# Enable option to detect whether the SCP ROM firmware in use predates version 64# 1.7.0 and therefore, is incompatible. 65CSS_DETECT_PRE_1_7_0_SCP := 1 66 67# Process CSS_DETECT_PRE_1_7_0_SCP flag 68$(eval $(call assert_boolean,CSS_DETECT_PRE_1_7_0_SCP)) 69$(eval $(call add_define,CSS_DETECT_PRE_1_7_0_SCP)) 70 71# Process CSS_USE_SCMI_DRIVER flag 72$(eval $(call assert_boolean,CSS_USE_SCMI_DRIVER)) 73$(eval $(call add_define,CSS_USE_SCMI_DRIVER)) 74 75