1dddba19aSStephan Gerhold# 24a3e2cb3SStephan Gerhold# Copyright (c) 2021-2023, Stephan Gerhold <stephan@gerhold.net> 3dddba19aSStephan Gerhold# 4dddba19aSStephan Gerhold# SPDX-License-Identifier: BSD-3-Clause 5dddba19aSStephan Gerhold# 6dddba19aSStephan Gerhold 7dddba19aSStephan Gerholdinclude drivers/arm/gic/v2/gicv2.mk 8dddba19aSStephan Gerholdinclude lib/xlat_tables_v2/xlat_tables.mk 9dddba19aSStephan Gerhold 10*840831b2SStephan GerholdPLAT_BL_COMMON_SOURCES := ${GICV2_SOURCES} \ 11*840831b2SStephan Gerhold ${XLAT_TABLES_LIB_SRCS} \ 12*840831b2SStephan Gerhold drivers/delay_timer/delay_timer.c \ 13*840831b2SStephan Gerhold drivers/delay_timer/generic_delay_timer.c \ 14*840831b2SStephan Gerhold plat/common/plat_gicv2.c \ 15*840831b2SStephan Gerhold plat/qti/msm8916/msm8916_gicv2.c \ 16*840831b2SStephan Gerhold plat/qti/msm8916/msm8916_setup.c \ 17*840831b2SStephan Gerhold plat/qti/msm8916/${ARCH}/msm8916_helpers.S \ 18*840831b2SStephan Gerhold plat/qti/msm8916/${ARCH}/uartdm_console.S 19*840831b2SStephan Gerhold 20*840831b2SStephan GerholdMSM8916_PM_SOURCES := lib/cpus/${ARCH}/cortex_a53.S \ 21*840831b2SStephan Gerhold plat/common/plat_psci_common.c \ 22*840831b2SStephan Gerhold plat/qti/msm8916/msm8916_config.c \ 23*840831b2SStephan Gerhold plat/qti/msm8916/msm8916_cpu_boot.c \ 24*840831b2SStephan Gerhold plat/qti/msm8916/msm8916_pm.c \ 25*840831b2SStephan Gerhold plat/qti/msm8916/msm8916_topology.c 26*840831b2SStephan Gerhold 27*840831b2SStephan GerholdBL31_SOURCES += ${MSM8916_PM_SOURCES} \ 28*840831b2SStephan Gerhold plat/qti/msm8916/msm8916_bl31_setup.c 29dddba19aSStephan Gerhold 30dddba19aSStephan GerholdPLAT_INCLUDES := -Iinclude/plat/arm/common/${ARCH} \ 31dddba19aSStephan Gerhold -Iplat/qti/msm8916/include 32dddba19aSStephan Gerhold 33dddba19aSStephan Gerhold# Only BL31 is supported at the moment and is entered on a single CPU 34dddba19aSStephan GerholdRESET_TO_BL31 := 1 35dddba19aSStephan GerholdCOLD_BOOT_SINGLE_CPU := 1 36dddba19aSStephan Gerhold 37dddba19aSStephan Gerhold# Build config flags 38dddba19aSStephan Gerhold# ------------------ 39dddba19aSStephan GerholdBL31_BASE ?= 0x86500000 40dddba19aSStephan GerholdBL32_BASE ?= 0x86000000 41dddba19aSStephan GerholdPRELOADED_BL33_BASE ?= 0x8f600000 42dddba19aSStephan Gerhold 43dddba19aSStephan Gerhold# Have different sections for code and rodata 44dddba19aSStephan GerholdSEPARATE_CODE_AND_RODATA := 1 45dddba19aSStephan Gerhold 46dddba19aSStephan Gerhold# Single cluster 47dddba19aSStephan GerholdWARMBOOT_ENABLE_DCACHE_EARLY := 1 48dddba19aSStephan Gerhold 49dddba19aSStephan Gerhold# Disable features unsupported in ARMv8.0 5090118bb5SAndre PrzywaraENABLE_SPE_FOR_NS := 0 51dddba19aSStephan GerholdENABLE_SVE_FOR_NS := 0 52dddba19aSStephan Gerhold 534a3e2cb3SStephan Gerhold# Disable workarounds unnecessary for Cortex-A53 544a3e2cb3SStephan GerholdWORKAROUND_CVE_2017_5715 := 0 554a3e2cb3SStephan GerholdWORKAROUND_CVE_2022_23960 := 0 564a3e2cb3SStephan Gerhold 57dddba19aSStephan Gerhold# MSM8916 uses ARM Cortex-A53 r0p0 so likely all the errata apply 58dddba19aSStephan GerholdERRATA_A53_819472 := 1 59dddba19aSStephan GerholdERRATA_A53_824069 := 1 60dddba19aSStephan GerholdERRATA_A53_826319 := 1 61dddba19aSStephan GerholdERRATA_A53_827319 := 1 62dddba19aSStephan GerholdERRATA_A53_835769 := 1 63dddba19aSStephan GerholdERRATA_A53_836870 := 1 64dddba19aSStephan GerholdERRATA_A53_843419 := 1 65dddba19aSStephan GerholdERRATA_A53_855873 := 0 # Workaround works only for >= r0p3 66dddba19aSStephan GerholdERRATA_A53_1530924 := 1 67dddba19aSStephan Gerhold 68dddba19aSStephan Gerhold$(eval $(call add_define,BL31_BASE)) 69dddba19aSStephan Gerhold$(eval $(call add_define,BL32_BASE)) 70