1cdb8c52fSCarlo Caione# 2ffb77421SChris Kay# Copyright (c) 2019-2024, Arm Limited and Contributors. All rights reserved. 3cdb8c52fSCarlo Caione# 4cdb8c52fSCarlo Caione# SPDX-License-Identifier: BSD-3-Clause 5cdb8c52fSCarlo Caione# 6cdb8c52fSCarlo Caione 7cdb8c52fSCarlo Caioneinclude lib/xlat_tables_v2/xlat_tables.mk 8cdb8c52fSCarlo Caione 9cdb8c52fSCarlo CaioneAML_PLAT := plat/amlogic 10cdb8c52fSCarlo CaioneAML_PLAT_SOC := ${AML_PLAT}/${PLAT} 11cdb8c52fSCarlo CaioneAML_PLAT_COMMON := ${AML_PLAT}/common 12cdb8c52fSCarlo Caione 13cdb8c52fSCarlo CaioneDOIMAGEPATH ?= tools/amlogic 14cdb8c52fSCarlo CaioneDOIMAGETOOL ?= ${DOIMAGEPATH}/doimage 15cdb8c52fSCarlo Caione 16cdb8c52fSCarlo CaionePLAT_INCLUDES := -Iinclude/drivers/amlogic/ \ 17cdb8c52fSCarlo Caione -I${AML_PLAT_SOC}/include \ 18cdb8c52fSCarlo Caione -I${AML_PLAT_COMMON}/include 19cdb8c52fSCarlo Caione 20cdb8c52fSCarlo CaioneGIC_SOURCES := drivers/arm/gic/common/gic_common.c \ 21cdb8c52fSCarlo Caione drivers/arm/gic/v2/gicv2_main.c \ 22cdb8c52fSCarlo Caione drivers/arm/gic/v2/gicv2_helpers.c \ 23cdb8c52fSCarlo Caione plat/common/plat_gicv2.c 24cdb8c52fSCarlo Caione 25cdb8c52fSCarlo CaioneBL31_SOURCES += lib/cpus/aarch64/cortex_a53.S \ 26cdb8c52fSCarlo Caione plat/common/plat_psci_common.c \ 27cdb8c52fSCarlo Caione drivers/amlogic/console/aarch64/meson_console.S \ 28cdb8c52fSCarlo Caione ${AML_PLAT_SOC}/${PLAT}_bl31_setup.c \ 29cdb8c52fSCarlo Caione ${AML_PLAT_SOC}/${PLAT}_pm.c \ 30cdb8c52fSCarlo Caione ${AML_PLAT_SOC}/${PLAT}_common.c \ 31cdb8c52fSCarlo Caione ${AML_PLAT_COMMON}/aarch64/aml_helpers.S \ 32cdb8c52fSCarlo Caione ${AML_PLAT_COMMON}/aml_efuse.c \ 33cdb8c52fSCarlo Caione ${AML_PLAT_COMMON}/aml_mhu.c \ 34cdb8c52fSCarlo Caione ${AML_PLAT_COMMON}/aml_scpi.c \ 35cdb8c52fSCarlo Caione ${AML_PLAT_COMMON}/aml_sip_svc.c \ 36cdb8c52fSCarlo Caione ${AML_PLAT_COMMON}/aml_thermal.c \ 37cdb8c52fSCarlo Caione ${AML_PLAT_COMMON}/aml_topology.c \ 38cdb8c52fSCarlo Caione ${AML_PLAT_COMMON}/aml_console.c \ 39cdb8c52fSCarlo Caione drivers/amlogic/crypto/sha_dma.c \ 40cdb8c52fSCarlo Caione ${XLAT_TABLES_LIB_SRCS} \ 41cdb8c52fSCarlo Caione ${GIC_SOURCES} 42cdb8c52fSCarlo Caione 43cdb8c52fSCarlo Caione# Tune compiler for Cortex-A53 448620bd0bSChris Kayifeq ($($(ARCH)-cc-id),arm-clang) 45cdb8c52fSCarlo Caione TF_CFLAGS_aarch64 += -mcpu=cortex-a53 468620bd0bSChris Kayelse ifneq ($(filter %-clang,$($(ARCH)-cc-id)),) 47cdb8c52fSCarlo Caione TF_CFLAGS_aarch64 += -mcpu=cortex-a53 48cdb8c52fSCarlo Caioneelse 49cdb8c52fSCarlo Caione TF_CFLAGS_aarch64 += -mtune=cortex-a53 50cdb8c52fSCarlo Caioneendif 51cdb8c52fSCarlo Caione 52cdb8c52fSCarlo Caione# Build config flags 53cdb8c52fSCarlo Caione# ------------------ 54cdb8c52fSCarlo Caione 55cdb8c52fSCarlo Caione# Enable all errata workarounds for Cortex-A53 56cdb8c52fSCarlo CaioneERRATA_A53_855873 := 1 57cdb8c52fSCarlo CaioneERRATA_A53_819472 := 1 58cdb8c52fSCarlo CaioneERRATA_A53_824069 := 1 59cdb8c52fSCarlo CaioneERRATA_A53_827319 := 1 60cdb8c52fSCarlo Caione 61cdb8c52fSCarlo CaioneWORKAROUND_CVE_2017_5715 := 0 62cdb8c52fSCarlo Caione 63cdb8c52fSCarlo Caione# Have different sections for code and rodata 64cdb8c52fSCarlo CaioneSEPARATE_CODE_AND_RODATA := 1 65cdb8c52fSCarlo Caione 66cdb8c52fSCarlo Caione# Use Coherent memory 67cdb8c52fSCarlo CaioneUSE_COHERENT_MEM := 1 68cdb8c52fSCarlo Caione 69cdb8c52fSCarlo Caione# Verify build config 70cdb8c52fSCarlo Caione# ------------------- 71cdb8c52fSCarlo Caione 72cdb8c52fSCarlo Caioneifneq (${RESET_TO_BL31}, 0) 73cdb8c52fSCarlo Caione $(error Error: ${PLAT} needs RESET_TO_BL31=0) 74cdb8c52fSCarlo Caioneendif 75cdb8c52fSCarlo Caione 76cdb8c52fSCarlo Caioneifeq (${ARCH},aarch32) 77cdb8c52fSCarlo Caione $(error Error: AArch32 not supported on ${PLAT}) 78cdb8c52fSCarlo Caioneendif 79cdb8c52fSCarlo Caione 80cdb8c52fSCarlo Caioneall: ${BUILD_PLAT}/bl31.img 81cdb8c52fSCarlo Caionedistclean realclean clean: cleanimage 82cdb8c52fSCarlo Caione 83cdb8c52fSCarlo Caionecleanimage: 84*7c4e1eeaSChris Kay $(q)${MAKE} -C ${DOIMAGEPATH} clean 85cdb8c52fSCarlo Caione 86cdb8c52fSCarlo Caione${DOIMAGETOOL}: 87*7c4e1eeaSChris Kay $(q)${MAKE} -C ${DOIMAGEPATH} 88cdb8c52fSCarlo Caione 89cdb8c52fSCarlo Caione${BUILD_PLAT}/bl31.img: ${BUILD_PLAT}/bl31.bin ${DOIMAGETOOL} 90cdb8c52fSCarlo Caione ${DOIMAGETOOL} ${BUILD_PLAT}/bl31.bin ${BUILD_PLAT}/bl31.img 91