1*54fd6939SJiyong Park# 2*54fd6939SJiyong Park# Copyright (c) 2018-2020, ARM Limited and Contributors. All rights reserved. 3*54fd6939SJiyong Park# 4*54fd6939SJiyong Park# SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park# 6*54fd6939SJiyong Park 7*54fd6939SJiyong ParkCSS_USE_SCMI_SDS_DRIVER := 1 8*54fd6939SJiyong Park 9*54fd6939SJiyong ParkCSS_ENT_BASE := plat/arm/css/sgi 10*54fd6939SJiyong Park 11*54fd6939SJiyong ParkRAS_EXTENSION := 0 12*54fd6939SJiyong Park 13*54fd6939SJiyong ParkSDEI_SUPPORT := 0 14*54fd6939SJiyong Park 15*54fd6939SJiyong ParkEL3_EXCEPTION_HANDLING := 0 16*54fd6939SJiyong Park 17*54fd6939SJiyong ParkHANDLE_EA_EL3_FIRST := 0 18*54fd6939SJiyong Park 19*54fd6939SJiyong ParkCSS_SGI_CHIP_COUNT := 1 20*54fd6939SJiyong Park 21*54fd6939SJiyong ParkCSS_SGI_PLATFORM_VARIANT := 0 22*54fd6939SJiyong Park 23*54fd6939SJiyong ParkINTERCONNECT_SOURCES := ${CSS_ENT_BASE}/sgi_interconnect.c 24*54fd6939SJiyong Park 25*54fd6939SJiyong ParkPLAT_INCLUDES += -I${CSS_ENT_BASE}/include 26*54fd6939SJiyong Park 27*54fd6939SJiyong Park# GIC-600 configuration 28*54fd6939SJiyong ParkGICV3_SUPPORT_GIC600 := 1 29*54fd6939SJiyong Park 30*54fd6939SJiyong Park# Include GICv3 driver files 31*54fd6939SJiyong Parkinclude drivers/arm/gic/v3/gicv3.mk 32*54fd6939SJiyong Park 33*54fd6939SJiyong ParkENT_GIC_SOURCES := ${GICV3_SOURCES} \ 34*54fd6939SJiyong Park plat/common/plat_gicv3.c \ 35*54fd6939SJiyong Park plat/arm/common/arm_gicv3.c 36*54fd6939SJiyong Park 37*54fd6939SJiyong ParkPLAT_BL_COMMON_SOURCES += ${CSS_ENT_BASE}/aarch64/sgi_helper.S 38*54fd6939SJiyong Park 39*54fd6939SJiyong ParkBL1_SOURCES += ${INTERCONNECT_SOURCES} \ 40*54fd6939SJiyong Park drivers/arm/sbsa/sbsa.c 41*54fd6939SJiyong Park 42*54fd6939SJiyong ParkBL2_SOURCES += ${CSS_ENT_BASE}/sgi_image_load.c 43*54fd6939SJiyong Park 44*54fd6939SJiyong ParkBL31_SOURCES += ${INTERCONNECT_SOURCES} \ 45*54fd6939SJiyong Park ${ENT_GIC_SOURCES} \ 46*54fd6939SJiyong Park ${CSS_ENT_BASE}/sgi_bl31_setup.c \ 47*54fd6939SJiyong Park ${CSS_ENT_BASE}/sgi_topology.c 48*54fd6939SJiyong Park 49*54fd6939SJiyong Parkifeq (${RAS_EXTENSION},1) 50*54fd6939SJiyong ParkBL31_SOURCES += ${CSS_ENT_BASE}/sgi_ras.c 51*54fd6939SJiyong Parkendif 52*54fd6939SJiyong Park 53*54fd6939SJiyong Parkifneq (${RESET_TO_BL31},0) 54*54fd6939SJiyong Park $(error "Using BL31 as the reset vector is not supported on ${PLAT} platform. \ 55*54fd6939SJiyong Park Please set RESET_TO_BL31 to 0.") 56*54fd6939SJiyong Parkendif 57*54fd6939SJiyong Park 58*54fd6939SJiyong Park$(eval $(call add_define,SGI_PLAT)) 59*54fd6939SJiyong Park 60*54fd6939SJiyong Park$(eval $(call add_define,CSS_SGI_CHIP_COUNT)) 61*54fd6939SJiyong Park 62*54fd6939SJiyong Park$(eval $(call add_define,CSS_SGI_PLATFORM_VARIANT)) 63*54fd6939SJiyong Park 64*54fd6939SJiyong Parkoverride CSS_LOAD_SCP_IMAGES := 0 65*54fd6939SJiyong Parkoverride NEED_BL2U := no 66*54fd6939SJiyong Parkoverride ARM_BL31_IN_DRAM := 1 67*54fd6939SJiyong Parkoverride ARM_PLAT_MT := 1 68*54fd6939SJiyong Parkoverride PSCI_EXTENDED_STATE_ID := 1 69*54fd6939SJiyong Parkoverride ARM_RECOM_STATE_ID_ENC := 1 70*54fd6939SJiyong Park 71*54fd6939SJiyong Park# System coherency is managed in hardware 72*54fd6939SJiyong ParkHW_ASSISTED_COHERENCY := 1 73*54fd6939SJiyong Park 74*54fd6939SJiyong Park# When building for systems with hardware-assisted coherency, there's no need to 75*54fd6939SJiyong Park# use USE_COHERENT_MEM. Require that USE_COHERENT_MEM must be set to 0 too. 76*54fd6939SJiyong ParkUSE_COHERENT_MEM := 0 77*54fd6939SJiyong Park 78*54fd6939SJiyong Parkinclude plat/arm/common/arm_common.mk 79*54fd6939SJiyong Parkinclude plat/arm/css/common/css_common.mk 80*54fd6939SJiyong Parkinclude plat/arm/soc/common/soc_css.mk 81*54fd6939SJiyong Parkinclude plat/arm/board/common/board_common.mk 82