xref: /rk3399_ARM-atf/make_helpers/cflags.mk (revision 1e8b5354574ac389bb3d29fdfcb9631cc8108ccb)
13df79ae7SBoyan Karatotev#
23df79ae7SBoyan Karatotev# Copyright (c) 2025, Arm Limited. All rights reserved.
33df79ae7SBoyan Karatotev#
43df79ae7SBoyan Karatotev# SPDX-License-Identifier: BSD-3-Clause
53df79ae7SBoyan Karatotev#
63df79ae7SBoyan Karatotev
73df79ae7SBoyan KaratotevGCC_V_OUTPUT		:=	$(if $($(ARCH)-cc),$(shell $($(ARCH)-cc) -v 2>&1))
83df79ae7SBoyan KaratotevPIE_FOUND		:=	$(findstring --enable-default-pie,${GCC_V_OUTPUT})
93df79ae7SBoyan Karatotev
103df79ae7SBoyan Karatotev################################################################################
113df79ae7SBoyan Karatotev# Compiler Configuration based on ARCH_MAJOR and ARCH_MINOR flags
123df79ae7SBoyan Karatotev################################################################################
133df79ae7SBoyan Karatotevifeq (${ARM_ARCH_MAJOR},7)
143df79ae7SBoyan Karatotev	target32-directive	= 	-target arm-none-eabi
153df79ae7SBoyan Karatotev# Will set march-directive from platform configuration
163df79ae7SBoyan Karatotevelse
173df79ae7SBoyan Karatotev	target32-directive	= 	-target armv8a-none-eabi
183df79ae7SBoyan Karatotevendif #(ARM_ARCH_MAJOR)
193df79ae7SBoyan Karatotev
203df79ae7SBoyan Karatotevifneq ($(filter %-clang,$($(ARCH)-cc-id)),)
213df79ae7SBoyan Karatotev	ifeq ($($(ARCH)-cc-id),arm-clang)
223df79ae7SBoyan Karatotev		TF_CFLAGS_aarch32	:=	-target arm-arm-none-eabi
233df79ae7SBoyan Karatotev		TF_CFLAGS_aarch64	:=	-target aarch64-arm-none-eabi
243df79ae7SBoyan Karatotev	else
253df79ae7SBoyan Karatotev		TF_CFLAGS_aarch32	=	$(target32-directive)
263df79ae7SBoyan Karatotev		TF_CFLAGS_aarch64	:=	-target aarch64-elf
273df79ae7SBoyan Karatotev	endif
283df79ae7SBoyan Karatotevendif #(clang)
293df79ae7SBoyan Karatotev
303df79ae7SBoyan Karatotev# Process Debug flag
313df79ae7SBoyan Karatotevifneq (${DEBUG}, 0)
323df79ae7SBoyan Karatotev	TF_CFLAGS	+=	-g -gdwarf-4
333df79ae7SBoyan Karatotev	ASFLAGS		+=	-g -Wa,-gdwarf-4
343df79ae7SBoyan Karatotevendif #(Debug)
353df79ae7SBoyan Karatotev
363df79ae7SBoyan Karatotevifeq (${AARCH32_INSTRUCTION_SET},A32)
373df79ae7SBoyan Karatotev	TF_CFLAGS_aarch32	+=	-marm
383df79ae7SBoyan Karatotevelse ifeq (${AARCH32_INSTRUCTION_SET},T32)
393df79ae7SBoyan Karatotev	TF_CFLAGS_aarch32	+=	-mthumb
403df79ae7SBoyan Karatotevendif #(AARCH32_INSTRUCTION_SET)
413df79ae7SBoyan Karatotev
423df79ae7SBoyan KaratotevTF_CFLAGS_aarch32	+=	-mno-unaligned-access
433df79ae7SBoyan KaratotevTF_CFLAGS_aarch64	+=	-mgeneral-regs-only -mstrict-align
443df79ae7SBoyan Karatotev
453df79ae7SBoyan Karatotev##############################################################################
463df79ae7SBoyan Karatotev# WARNINGS Configuration
473df79ae7SBoyan Karatotev###############################################################################
483df79ae7SBoyan Karatotev# General warnings
493df79ae7SBoyan KaratotevWARNINGS		:=	-Wall -Wmissing-include-dirs -Wunused	\
503df79ae7SBoyan Karatotev				-Wdisabled-optimization -Wvla -Wshadow	\
513df79ae7SBoyan Karatotev				-Wredundant-decls
523df79ae7SBoyan Karatotev# stricter warnings
533df79ae7SBoyan KaratotevWARNINGS		+=	-Wextra -Wno-trigraphs
543df79ae7SBoyan Karatotev# too verbose for generic build
553df79ae7SBoyan KaratotevWARNINGS		+=	-Wno-missing-field-initializers \
563df79ae7SBoyan Karatotev				-Wno-type-limits -Wno-sign-compare \
573df79ae7SBoyan Karatotev# on clang this flag gets reset if -Wextra is set after it. No difference on gcc
583df79ae7SBoyan KaratotevWARNINGS		+=	-Wno-unused-parameter
593df79ae7SBoyan Karatotev
603df79ae7SBoyan Karatotev# Additional warnings
613df79ae7SBoyan Karatotev# Level 1 - infrequent warnings we should have none of
623df79ae7SBoyan Karatotev# full -Wextra
633df79ae7SBoyan KaratotevWARNING1 += -Wsign-compare
643df79ae7SBoyan KaratotevWARNING1 += -Wtype-limits
653df79ae7SBoyan KaratotevWARNING1 += -Wmissing-field-initializers
663df79ae7SBoyan Karatotev
673df79ae7SBoyan Karatotev# Level 2 - problematic warnings that we want
683df79ae7SBoyan Karatotev# zlib, compiler-rt, coreboot, and mbdedtls blow up with these
693df79ae7SBoyan Karatotev# TODO: disable just for them and move into default build
703df79ae7SBoyan KaratotevWARNING2 += -Wold-style-definition
713df79ae7SBoyan KaratotevWARNING2 += -Wmissing-prototypes
723df79ae7SBoyan KaratotevWARNING2 += -Wmissing-format-attribute
733df79ae7SBoyan Karatotev# TF-A aims to comply with this eventually. Effort too large at present
743df79ae7SBoyan KaratotevWARNING2 += -Wundef
753df79ae7SBoyan Karatotev# currently very involved and many platforms set this off
763df79ae7SBoyan KaratotevWARNING2 += -Wunused-const-variable=2
773df79ae7SBoyan Karatotev
783df79ae7SBoyan Karatotev# Level 3 - very pedantic, frequently ignored
793df79ae7SBoyan KaratotevWARNING3 := -Wbad-function-cast
803df79ae7SBoyan KaratotevWARNING3 += -Waggregate-return
813df79ae7SBoyan KaratotevWARNING3 += -Wnested-externs
823df79ae7SBoyan KaratotevWARNING3 += -Wcast-align
833df79ae7SBoyan KaratotevWARNING3 += -Wcast-qual
843df79ae7SBoyan KaratotevWARNING3 += -Wconversion
853df79ae7SBoyan KaratotevWARNING3 += -Wpacked
863df79ae7SBoyan KaratotevWARNING3 += -Wpointer-arith
873df79ae7SBoyan KaratotevWARNING3 += -Wswitch-default
883df79ae7SBoyan Karatotev
893df79ae7SBoyan Karatotevifeq (${W},1)
903df79ae7SBoyan Karatotev	WARNINGS += $(WARNING1)
913df79ae7SBoyan Karatotevelse ifeq (${W},2)
923df79ae7SBoyan Karatotev	WARNINGS += $(WARNING1) $(WARNING2)
933df79ae7SBoyan Karatotevelse ifeq (${W},3)
943df79ae7SBoyan Karatotev	WARNINGS += $(WARNING1) $(WARNING2) $(WARNING3)
953df79ae7SBoyan Karatotevendif #(W)
963df79ae7SBoyan Karatotev
973df79ae7SBoyan Karatotevifneq (${E},0)
983df79ae7SBoyan Karatotev	ERRORS := -Werror
993df79ae7SBoyan Karatotevendif #(E)
1003df79ae7SBoyan Karatotev
1013df79ae7SBoyan Karatotev# Compiler specific warnings
1023df79ae7SBoyan Karatotevifeq ($(filter %-clang,$($(ARCH)-cc-id)),)
1033df79ae7SBoyan Karatotev# not using clang
1043df79ae7SBoyan Karatotev# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523
1053df79ae7SBoyan KaratotevTF_CFLAGS_MIN_PAGE_SIZE	:=	$(call cc_option, --param=min-pagesize=0)
1063df79ae7SBoyan KaratotevTF_CFLAGS		+=	$(TF_CFLAGS_MIN_PAGE_SIZE)
1073df79ae7SBoyan Karatotev
1083df79ae7SBoyan Karatotevifeq ($(HARDEN_SLS), 1)
1093df79ae7SBoyan Karatotev        TF_CFLAGS_MHARDEN_SLS	:=      $(call cc_option, -mharden-sls=all)
1103df79ae7SBoyan Karatotev        TF_CFLAGS_aarch64	+=      $(TF_CFLAGS_MHARDEN_SLS)
1113df79ae7SBoyan Karatotevendif
1123df79ae7SBoyan Karatotev
1133df79ae7SBoyan KaratotevWARNINGS	+=		-Wunused-but-set-variable -Wmaybe-uninitialized	\
1143df79ae7SBoyan Karatotev				-Wpacked-bitfield-compat -Wshift-overflow=2 \
1153df79ae7SBoyan Karatotev				-Wlogical-op
1163df79ae7SBoyan Karatotev
1173df79ae7SBoyan Karatotevelse
1183df79ae7SBoyan Karatotev# using clang
1193df79ae7SBoyan KaratotevWARNINGS	+=		-Wshift-overflow -Wshift-sign-overflow \
1203df79ae7SBoyan Karatotev				-Wlogical-op-parentheses
1213df79ae7SBoyan Karatotevendif #(Clang Warning)
1223df79ae7SBoyan Karatotev
1233df79ae7SBoyan KaratotevCPPFLAGS		=	${DEFINES} ${INCLUDES} ${MBEDTLS_INC} -nostdinc	\
1243df79ae7SBoyan Karatotev				$(ERRORS) $(WARNINGS)
1253df79ae7SBoyan Karatotev
1263df79ae7SBoyan Karatotev
1273df79ae7SBoyan KaratotevTF_CFLAGS		+=	-ffunction-sections -fdata-sections		\
1283df79ae7SBoyan Karatotev				-ffreestanding -fno-common			\
1293df79ae7SBoyan Karatotev				-Os -std=gnu99
1303df79ae7SBoyan Karatotev
1313df79ae7SBoyan Karatotevifneq (${BP_OPTION},none)
1323df79ae7SBoyan Karatotev	TF_CFLAGS_aarch64	+=	-mbranch-protection=${BP_OPTION}
1333df79ae7SBoyan Karatotevendif #(BP_OPTION)
1343df79ae7SBoyan Karatotev
1353df79ae7SBoyan Karatotevifeq (${SANITIZE_UB},on)
1363df79ae7SBoyan Karatotev	TF_CFLAGS	+=	-fsanitize=undefined -fno-sanitize-recover
1373df79ae7SBoyan Karatotevendif #(${SANITIZE_UB},on)
1383df79ae7SBoyan Karatotev
1393df79ae7SBoyan Karatotevifeq (${SANITIZE_UB},trap)
1403df79ae7SBoyan Karatotev	TF_CFLAGS	+=	-fsanitize=undefined -fno-sanitize-recover	\
1413df79ae7SBoyan Karatotev				-fsanitize-undefined-trap-on-error
1423df79ae7SBoyan Karatotevendif #(${SANITIZE_UB},trap)
1433df79ae7SBoyan Karatotev
1443df79ae7SBoyan Karatotevifeq ($($(ARCH)-cc-id),gnu-gcc)
1453df79ae7SBoyan Karatotev	# Enable LTO only for aarch64
1463df79ae7SBoyan Karatotev	LTO_CFLAGS	=	$(if $(filter-out 0,$(ENABLE_LTO)),-flto)
1473df79ae7SBoyan Karatotevendif #(gnu-gcc)
1483df79ae7SBoyan Karatotev
1493df79ae7SBoyan Karatotevifeq (${ERROR_DEPRECATED},0)
1503df79ae7SBoyan Karatotev# Check if deprecated declarations and cpp warnings should be treated as error or not.
1513df79ae7SBoyan Karatotevifneq ($(filter %-clang,$($(ARCH)-cc-id)),)
1523df79ae7SBoyan Karatotev    CPPFLAGS		+= 	-Wno-error=deprecated-declarations
1533df79ae7SBoyan Karatotevelse
1543df79ae7SBoyan Karatotev    CPPFLAGS		+= 	-Wno-error=deprecated-declarations -Wno-error=cpp
1553df79ae7SBoyan Karatotevendif
1563df79ae7SBoyan Karatotevendif #(!ERROR_DEPRECATED)
1573df79ae7SBoyan Karatotev
1583df79ae7SBoyan Karatotev################################################################################
1593df79ae7SBoyan Karatotev# Platform specific Makefile might provide us ARCH_MAJOR/MINOR use that to come
1603df79ae7SBoyan Karatotev# up with appropriate march values for compiler.
1613df79ae7SBoyan Karatotev################################################################################
1623df79ae7SBoyan Karatotevinclude ${MAKE_HELPERS_DIRECTORY}march.mk
1633df79ae7SBoyan Karatotevifeq (${ARM_ARCH_MAJOR},7)
1643df79ae7SBoyan Karatotevinclude make_helpers/armv7-a-cpus.mk
1653df79ae7SBoyan Karatotevendif
1663df79ae7SBoyan Karatotev
1673df79ae7SBoyan KaratotevTF_CFLAGS	+=	$(march-directive)
1683df79ae7SBoyan KaratotevASFLAGS		+=	$(march-directive)
1693df79ae7SBoyan Karatotev
1703df79ae7SBoyan Karatotevifneq ($(PIE_FOUND),)
1713df79ae7SBoyan Karatotev	TF_CFLAGS	+=	-fno-PIE
1723df79ae7SBoyan Karatotevendif
1733df79ae7SBoyan Karatotev
1743df79ae7SBoyan KaratotevTF_CFLAGS		+=	$(CPPFLAGS) $(TF_CFLAGS_$(ARCH))
1753df79ae7SBoyan KaratotevASFLAGS			+=	$(CPPFLAGS)                 			\
1763df79ae7SBoyan Karatotev				-ffreestanding -Wa,--fatal-warnings
1773df79ae7SBoyan KaratotevTF_LDFLAGS		+=	-z noexecstack
1783df79ae7SBoyan Karatotev
1793df79ae7SBoyan Karatotev# LD = armlink
1803df79ae7SBoyan Karatotevifeq ($($(ARCH)-ld-id),arm-link)
1813df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	--diag_error=warning --lto_level=O1
1823df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	--remove --info=unused,unusedsymbols
1833df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	$(TF_LDFLAGS_$(ARCH))
1843df79ae7SBoyan Karatotev
1853df79ae7SBoyan Karatotev# LD = gcc (used when GCC LTO is enabled)
1863df79ae7SBoyan Karatotevelse ifeq ($($(ARCH)-ld-id),gnu-gcc)
1873df79ae7SBoyan Karatotev	# Pass ld options with Wl or Xlinker switches
1883df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	$(call ld_option,-Xlinker --no-warn-rwx-segments)
1893df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	-Wl,--fatal-warnings -O1
1903df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	-Wl,--gc-sections
1913df79ae7SBoyan Karatotev
1923df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	-Wl,-z,common-page-size=4096 #Configure page size constants
1933df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	-Wl,-z,max-page-size=4096
1943df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	-Wl,--build-id=none
1953df79ae7SBoyan Karatotev
1963df79ae7SBoyan Karatotev	ifeq ($(ENABLE_LTO),1)
1973df79ae7SBoyan Karatotev		TF_LDFLAGS	+=	-flto -fuse-linker-plugin
1983df79ae7SBoyan Karatotev		TF_LDFLAGS      +=	-flto-partition=one
1993df79ae7SBoyan Karatotev	endif #(ENABLE_LTO)
2003df79ae7SBoyan Karatotev
2013df79ae7SBoyan Karatotev# GCC automatically adds fix-cortex-a53-843419 flag when used to link
2023df79ae7SBoyan Karatotev# which breaks some builds, so disable if errata fix is not explicitly enabled
2033df79ae7SBoyan Karatotev	ifeq (${ARCH},aarch64)
2043df79ae7SBoyan Karatotev		ifneq (${ERRATA_A53_843419},1)
2053df79ae7SBoyan Karatotev			TF_LDFLAGS	+= 	-mno-fix-cortex-a53-843419
2063df79ae7SBoyan Karatotev		endif
2073df79ae7SBoyan Karatotev	endif
2083df79ae7SBoyan Karatotev	TF_LDFLAGS		+= 	-nostdlib
2093df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	$(subst --,-Xlinker --,$(TF_LDFLAGS_$(ARCH)))
2103df79ae7SBoyan Karatotev
2113df79ae7SBoyan Karatotev# LD = gcc-ld (ld) or llvm-ld (ld.lld) or other
2123df79ae7SBoyan Karatotevelse
2133df79ae7SBoyan Karatotev# With ld.bfd version 2.39 and newer new warnings are added. Skip those since we
2143df79ae7SBoyan Karatotev# are not loaded by a elf loader.
2153df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	$(call ld_option, --no-warn-rwx-segments)
2163df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	-O1
2173df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	--gc-sections
2183df79ae7SBoyan Karatotev
2193df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	-z common-page-size=4096 # Configure page size constants
2203df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	-z max-page-size=4096
2213df79ae7SBoyan Karatotev	TF_LDFLAGS		+=	--build-id=none
2223df79ae7SBoyan Karatotev
2233df79ae7SBoyan Karatotev# ld.lld doesn't recognize the errata flags,
2243df79ae7SBoyan Karatotev# therefore don't add those in that case.
2253df79ae7SBoyan Karatotev# ld.lld reports section type mismatch warnings,
2263df79ae7SBoyan Karatotev# therefore don't add --fatal-warnings to it.
2273df79ae7SBoyan Karatotev	ifneq ($($(ARCH)-ld-id),llvm-lld)
2283df79ae7SBoyan Karatotev		TF_LDFLAGS	+=	$(TF_LDFLAGS_$(ARCH)) --fatal-warnings
2293df79ae7SBoyan Karatotev	endif
2303df79ae7SBoyan Karatotev
2313df79ae7SBoyan Karatotevendif #(LD = armlink)
2323df79ae7SBoyan Karatotev
2333df79ae7SBoyan Karatotevifneq ($(PIE_FOUND),)
2343df79ae7SBoyan Karatotevifeq ($($(ARCH)-ld-id),gnu-gcc)
2353df79ae7SBoyan Karatotev	TF_LDFLAGS	+=	-no-pie
2363df79ae7SBoyan Karatotevendif
2373df79ae7SBoyan Karatotevendif #(PIE_FOUND)
2383df79ae7SBoyan Karatotev
2393df79ae7SBoyan Karatotevifeq ($($(ARCH)-ld-id),gnu-gcc)
2403df79ae7SBoyan Karatotev	PIE_LDFLAGS	+=	-Wl,-pie -Wl,--no-dynamic-linker
2413df79ae7SBoyan Karatotevelse
2423df79ae7SBoyan Karatotev	PIE_LDFLAGS	+=	-pie --no-dynamic-linker
2433df79ae7SBoyan Karatotevendif
2443df79ae7SBoyan Karatotev
2453df79ae7SBoyan Karatotevifeq ($(ENABLE_PIE),1)
2463df79ae7SBoyan Karatotev	ifeq ($(RESET_TO_BL2),1)
2473df79ae7SBoyan Karatotev		ifneq ($(BL2_IN_XIP_MEM),1)
2483df79ae7SBoyan Karatotev			BL2_CPPFLAGS	+=	-fpie
2493df79ae7SBoyan Karatotev			BL2_CFLAGS	+=	-fpie
2503df79ae7SBoyan Karatotev			BL2_LDFLAGS	+=	$(PIE_LDFLAGS)
2513df79ae7SBoyan Karatotev		endif #(BL2_IN_XIP_MEM)
2523df79ae7SBoyan Karatotev	endif #(RESET_TO_BL2)
2533df79ae7SBoyan Karatotev	BL31_CPPFLAGS	+=	-fpie
2543df79ae7SBoyan Karatotev	BL31_CFLAGS 	+=	-fpie
2553df79ae7SBoyan Karatotev	BL31_LDFLAGS	+=	$(PIE_LDFLAGS)
2563df79ae7SBoyan Karatotev
2573df79ae7SBoyan Karatotev	BL32_CPPFLAGS	+=	-fpie
2583df79ae7SBoyan Karatotev	BL32_CFLAGS	+=	-fpie
2593df79ae7SBoyan Karatotev	BL32_LDFLAGS	+=	$(PIE_LDFLAGS)
2603df79ae7SBoyan Karatotevendif #(ENABLE_PIE)
2613df79ae7SBoyan Karatotev
2623df79ae7SBoyan KaratotevBL1_CPPFLAGS  += -DREPORT_ERRATA=${DEBUG}
2633df79ae7SBoyan KaratotevBL31_CPPFLAGS += -DREPORT_ERRATA=${DEBUG}
2643df79ae7SBoyan KaratotevBL32_CPPFLAGS += -DREPORT_ERRATA=${DEBUG}
2653df79ae7SBoyan Karatotev
2663df79ae7SBoyan KaratotevBL1_CPPFLAGS += -DIMAGE_AT_EL3
2673df79ae7SBoyan Karatotevifeq ($(RESET_TO_BL2),1)
2683df79ae7SBoyan Karatotev	BL2_CPPFLAGS += -DIMAGE_AT_EL3
2693df79ae7SBoyan Karatotevelse
2703df79ae7SBoyan Karatotev	BL2_CPPFLAGS += -DIMAGE_AT_EL1
2713df79ae7SBoyan Karatotevendif #(RESET_TO_BL2)
2723df79ae7SBoyan Karatotev
2733df79ae7SBoyan Karatotevifeq (${ARCH},aarch64)
2743df79ae7SBoyan Karatotev	BL2U_CPPFLAGS += -DIMAGE_AT_EL1
2753df79ae7SBoyan Karatotev	BL31_CPPFLAGS += -DIMAGE_AT_EL3
2763df79ae7SBoyan Karatotev	BL32_CPPFLAGS += -DIMAGE_AT_EL1
2773df79ae7SBoyan Karatotevelse
2783df79ae7SBoyan Karatotev	BL32_CPPFLAGS += -DIMAGE_AT_EL3
2793df79ae7SBoyan Karatotevendif
2803df79ae7SBoyan Karatotev
2813df79ae7SBoyan Karatotevifeq (${SPD},spmd)
2823df79ae7SBoyan Karatotev	ifeq ($(findstring optee_sp,$(ARM_SPMC_MANIFEST_DTS)),optee_sp)
2833df79ae7SBoyan Karatotev		DTC_CPPFLAGS	+=	-DOPTEE_SP_FW_CONFIG
2843df79ae7SBoyan Karatotev	endif
2853df79ae7SBoyan Karatotev
2863df79ae7SBoyan Karatotev	ifeq ($(findstring trusty_sp,$(ARM_SPMC_MANIFEST_DTS)),trusty_sp)
2873df79ae7SBoyan Karatotev		DTC_CPPFLAGS	+=	-DTRUSTY_SP_FW_CONFIG
2883df79ae7SBoyan Karatotev	endif
2893df79ae7SBoyan Karatotev
2903df79ae7SBoyan Karatotev	ifeq ($(TS_SP_FW_CONFIG),1)
2913df79ae7SBoyan Karatotev		DTC_CPPFLAGS	+=	-DTS_SP_FW_CONFIG
2923df79ae7SBoyan Karatotev	endif
2933df79ae7SBoyan Karatotev
2943df79ae7SBoyan Karatotev	ifneq ($(ARM_BL2_SP_LIST_DTS),)
2953df79ae7SBoyan Karatotev		DTC_CPPFLAGS += -DARM_BL2_SP_LIST_DTS=$(ARM_BL2_SP_LIST_DTS)
2963df79ae7SBoyan Karatotev	endif
2973df79ae7SBoyan Karatotevendif
2983df79ae7SBoyan Karatotev
2993df79ae7SBoyan Karatotev
3003df79ae7SBoyan KaratotevDTC_FLAGS		+=	-I dts -O dtb
301*1e8b5354SBoyan KaratotevDTC_CPPFLAGS		+=	-Ifdts -undef
3023df79ae7SBoyan Karatotev
303