xref: /rk3399_ARM-atf/plat/arm/css/common/css_common.mk (revision 51faada71a219a8b94cd8d8e423f0f22e9da4d8f)
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