blob: 76c8025ba2c470be5b1f036e1d456f34f354068d [file] [log] [blame]
Nariman Poushin0ece80f2018-02-26 06:52:04 +00001#
Vijayenthiran Subramaniam063bb732021-11-25 21:54:30 +05302# Copyright (c) 2018-2021, ARM Limited and Contributors. All rights reserved.
Nariman Poushin0ece80f2018-02-26 06:52:04 +00003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
Chandni Cherukurid61a7052018-08-01 15:58:48 +05307CSS_USE_SCMI_SDS_DRIVER := 1
8
Nariman Poushin0ece80f2018-02-26 06:52:04 +00009CSS_ENT_BASE := plat/arm/css/sgi
10
Sughosh Ganu3f7e79d2018-05-16 18:48:56 +053011RAS_EXTENSION := 0
12
Sughosh Ganu3f7e79d2018-05-16 18:48:56 +053013SDEI_SUPPORT := 0
14
15EL3_EXCEPTION_HANDLING := 0
16
17HANDLE_EA_EL3_FIRST := 0
18
Vijayenthiran Subramaniambc489912019-12-26 17:45:58 +053019CSS_SGI_CHIP_COUNT := 1
20
Aditya Angadi06402222021-03-20 12:06:15 +053021CSS_SGI_PLATFORM_VARIANT := 0
22
Vijayenthiran Subramaniam063bb732021-11-25 21:54:30 +053023# Do not enable SVE
24ENABLE_SVE_FOR_NS := 0
25
Nishant Sharma469a6f62022-04-19 10:23:59 +010026CTX_INCLUDE_FPREGS := 1
27
Nariman Poushin0ece80f2018-02-26 06:52:04 +000028INTERCONNECT_SOURCES := ${CSS_ENT_BASE}/sgi_interconnect.c
29
30PLAT_INCLUDES += -I${CSS_ENT_BASE}/include
31
Alexei Fedorov84f1b5d2020-03-23 18:45:17 +000032# GIC-600 configuration
Andre Przywarae1cc1302020-03-25 15:50:38 +000033GICV3_SUPPORT_GIC600 := 1
Alexei Fedorov84f1b5d2020-03-23 18:45:17 +000034
35# Include GICv3 driver files
36include drivers/arm/gic/v3/gicv3.mk
Nariman Poushin0ece80f2018-02-26 06:52:04 +000037
Alexei Fedorov84f1b5d2020-03-23 18:45:17 +000038ENT_GIC_SOURCES := ${GICV3_SOURCES} \
39 plat/common/plat_gicv3.c \
40 plat/arm/common/arm_gicv3.c
Nariman Poushin0ece80f2018-02-26 06:52:04 +000041
Aditya Angadi502d0ac2020-11-18 08:27:15 +053042PLAT_BL_COMMON_SOURCES += ${CSS_ENT_BASE}/aarch64/sgi_helper.S
Nariman Poushin0ece80f2018-02-26 06:52:04 +000043
Aditya Angadi20b48412019-04-16 11:29:14 +053044BL1_SOURCES += ${INTERCONNECT_SOURCES} \
45 drivers/arm/sbsa/sbsa.c
Nariman Poushin0ece80f2018-02-26 06:52:04 +000046
Vijayenthiran Subramaniam22141b62018-10-25 22:20:24 +053047BL2_SOURCES += ${CSS_ENT_BASE}/sgi_image_load.c
Nariman Poushin0ece80f2018-02-26 06:52:04 +000048
Chandni Cherukuria3f66132018-08-10 11:17:58 +053049BL31_SOURCES += ${INTERCONNECT_SOURCES} \
Nariman Poushin0ece80f2018-02-26 06:52:04 +000050 ${ENT_GIC_SOURCES} \
51 ${CSS_ENT_BASE}/sgi_bl31_setup.c \
Chandni Cherukuria5d44ec2018-08-14 15:25:34 +053052 ${CSS_ENT_BASE}/sgi_topology.c
Nariman Poushin0ece80f2018-02-26 06:52:04 +000053
Sughosh Ganu18f513d2018-05-16 17:22:35 +053054ifeq (${RAS_EXTENSION},1)
55BL31_SOURCES += ${CSS_ENT_BASE}/sgi_ras.c
56endif
57
Deepak Pandeyb0971f92018-05-25 12:43:30 +053058ifneq (${RESET_TO_BL31},0)
Sandrine Bailleux1e32d322019-01-07 15:35:37 +010059 $(error "Using BL31 as the reset vector is not supported on ${PLAT} platform. \
Deepak Pandeyb0971f92018-05-25 12:43:30 +053060 Please set RESET_TO_BL31 to 0.")
61endif
62
Nariman Poushin0ece80f2018-02-26 06:52:04 +000063$(eval $(call add_define,SGI_PLAT))
64
Vijayenthiran Subramaniambc489912019-12-26 17:45:58 +053065$(eval $(call add_define,CSS_SGI_CHIP_COUNT))
66
Aditya Angadi06402222021-03-20 12:06:15 +053067$(eval $(call add_define,CSS_SGI_PLATFORM_VARIANT))
68
Nariman Poushin0ece80f2018-02-26 06:52:04 +000069override CSS_LOAD_SCP_IMAGES := 0
70override NEED_BL2U := no
71override ARM_BL31_IN_DRAM := 1
Sudipto Paulc4510102018-04-16 17:46:50 +053072override ARM_PLAT_MT := 1
Pranav Madhu4c474322021-04-20 12:01:46 +053073override PSCI_EXTENDED_STATE_ID := 1
74override ARM_RECOM_STATE_ID_ENC := 1
Nariman Poushin0ece80f2018-02-26 06:52:04 +000075
76# System coherency is managed in hardware
77HW_ASSISTED_COHERENCY := 1
78
79# When building for systems with hardware-assisted coherency, there's no need to
80# use USE_COHERENT_MEM. Require that USE_COHERENT_MEM must be set to 0 too.
81USE_COHERENT_MEM := 0
82
83include plat/arm/common/arm_common.mk
84include plat/arm/css/common/css_common.mk
85include plat/arm/soc/common/soc_css.mk
86include plat/arm/board/common/board_common.mk