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_SDS_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
24BL2U_SOURCES		+=	plat/arm/css/common/css_bl2u_setup.c
25
26BL31_SOURCES		+=	plat/arm/css/common/css_pm.c			\
27				plat/arm/css/common/css_topology.c
28
29ifeq (${CSS_USE_SCMI_SDS_DRIVER},0)
30BL31_SOURCES		+=	plat/arm/css/drivers/scp/css_pm_scpi.c		\
31				plat/arm/css/drivers/scpi/css_mhu.c		\
32				plat/arm/css/drivers/scpi/css_scpi.c
33else
34BL31_SOURCES		+=	plat/arm/css/drivers/scp/css_pm_scmi.c		\
35				plat/arm/css/drivers/scmi/scmi_common.c		\
36				plat/arm/css/drivers/scmi/scmi_pwr_dmn_proto.c	\
37				plat/arm/css/drivers/scmi/scmi_sys_pwr_proto.c
38endif
39
40ifneq (${RESET_TO_BL31},0)
41  $(error "Using BL31 as the reset vector is not supported on CSS platforms. \
42  Please set RESET_TO_BL31 to 0.")
43endif
44
45# Process CSS_LOAD_SCP_IMAGES flag
46$(eval $(call assert_boolean,CSS_LOAD_SCP_IMAGES))
47$(eval $(call add_define,CSS_LOAD_SCP_IMAGES))
48
49ifeq (${CSS_LOAD_SCP_IMAGES},1)
50  NEED_SCP_BL2 := yes
51  ifneq (${TRUSTED_BOARD_BOOT},0)
52    $(eval $(call FWU_FIP_ADD_IMG,SCP_BL2U,--scp-fwu-cfg))
53  endif
54
55  ifeq (${CSS_USE_SCMI_SDS_DRIVER},1)
56    BL2U_SOURCES	+=	plat/arm/css/drivers/scp/css_sds.c	\
57				plat/arm/css/drivers/sds/sds.c
58
59    BL2_SOURCES		+=	plat/arm/css/drivers/scp/css_sds.c	\
60				plat/arm/css/drivers/sds/sds.c
61  else
62    BL2U_SOURCES	+=	plat/arm/css/drivers/scp/css_bom_bootloader.c	\
63				plat/arm/css/drivers/scpi/css_mhu.c		\
64				plat/arm/css/drivers/scpi/css_scpi.c
65
66    BL2_SOURCES		+=	plat/arm/css/drivers/scp/css_bom_bootloader.c	\
67				plat/arm/css/drivers/scpi/css_mhu.c		\
68				plat/arm/css/drivers/scpi/css_scpi.c
69    # Enable option to detect whether the SCP ROM firmware in use predates version
70    # 1.7.0 and therefore, is incompatible.
71    CSS_DETECT_PRE_1_7_0_SCP	:=	1
72
73    # Process CSS_DETECT_PRE_1_7_0_SCP flag
74    $(eval $(call assert_boolean,CSS_DETECT_PRE_1_7_0_SCP))
75    $(eval $(call add_define,CSS_DETECT_PRE_1_7_0_SCP))
76  endif
77endif
78
79ifeq (${CSS_USE_SCMI_SDS_DRIVER},1)
80  PLAT_BL_COMMON_SOURCES	+=	plat/arm/css/drivers/sds/${ARCH}/sds_helpers.S
81endif
82
83# Process CSS_USE_SCMI_SDS_DRIVER flag
84$(eval $(call assert_boolean,CSS_USE_SCMI_SDS_DRIVER))
85$(eval $(call add_define,CSS_USE_SCMI_SDS_DRIVER))
86