mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-19 02:54:24 +00:00

Building the default upstream configuration for the imx8mq-evk is no longer
possible: The linker will complain that the TF-A image will no longer
fit On-Chip SRAM.
In order to make the i.MX8MQ Image buildable again, let's make the DRAM
retention feature optional: It was added in v2.9 and it's possible to
boot the systems without it. Users that make space elsewhere and wish to
enable it can use the newly introduced IMX_DRAM_RETENTION parameter to
configure it. The parameter is added to all i.MX8M variants, but only
for i.MX8MQ, we disable it by default, as that's the one that currently
has binary size problems.
Change-Id: I714f8ea96f18154db02390ba500f4a2dc5329ee7
Fixes: dd108c3c1f
("feat(imx8mq): add the dram retention support for imx8mq")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
95 lines
2.6 KiB
Makefile
95 lines
2.6 KiB
Makefile
#
|
|
# Copyright 2019-2022 NXP
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
|
|
PLAT_INCLUDES := -Iplat/imx/common/include \
|
|
-Iplat/imx/imx8m/include \
|
|
-Iplat/imx/imx8m/imx8mn/include
|
|
# Translation tables library
|
|
include lib/xlat_tables_v2/xlat_tables.mk
|
|
|
|
# Include GICv3 driver files
|
|
include drivers/arm/gic/v3/gicv3.mk
|
|
|
|
IMX_DRAM_SOURCES := plat/imx/imx8m/ddr/dram.c \
|
|
plat/imx/imx8m/ddr/clock.c \
|
|
plat/imx/imx8m/ddr/dram_retention.c \
|
|
plat/imx/imx8m/ddr/ddr4_dvfs.c \
|
|
plat/imx/imx8m/ddr/lpddr4_dvfs.c
|
|
|
|
|
|
IMX_GIC_SOURCES := ${GICV3_SOURCES} \
|
|
plat/common/plat_gicv3.c \
|
|
plat/common/plat_psci_common.c \
|
|
plat/imx/common/plat_imx8_gic.c
|
|
|
|
BL31_SOURCES += common/desc_image_load.c \
|
|
plat/imx/common/imx8_helpers.S \
|
|
plat/imx/imx8m/gpc_common.c \
|
|
plat/imx/imx8m/imx_hab.c \
|
|
plat/imx/imx8m/imx_aipstz.c \
|
|
plat/imx/imx8m/imx_rdc.c \
|
|
plat/imx/imx8m/imx8m_caam.c \
|
|
plat/imx/imx8m/imx8m_ccm.c \
|
|
plat/imx/imx8m/imx8m_csu.c \
|
|
plat/imx/imx8m/imx8m_psci_common.c \
|
|
plat/imx/imx8m/imx8m_snvs.c \
|
|
plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c \
|
|
plat/imx/imx8m/imx8mn/imx8mn_psci.c \
|
|
plat/imx/imx8m/imx8mn/gpc.c \
|
|
plat/imx/common/imx8_topology.c \
|
|
plat/imx/common/imx_sip_handler.c \
|
|
plat/imx/common/imx_sip_svc.c \
|
|
plat/imx/common/imx_common.c \
|
|
plat/imx/common/imx_uart_console.S \
|
|
lib/cpus/aarch64/cortex_a53.S \
|
|
drivers/arm/tzc/tzc380.c \
|
|
drivers/delay_timer/delay_timer.c \
|
|
drivers/delay_timer/generic_delay_timer.c \
|
|
${IMX_GIC_SOURCES} \
|
|
${XLAT_TABLES_LIB_SRCS}
|
|
|
|
ENABLE_PIE := 1
|
|
USE_COHERENT_MEM := 1
|
|
RESET_TO_BL31 := 1
|
|
A53_DISABLE_NON_TEMPORAL_HINT := 0
|
|
|
|
ERRATA_A53_835769 := 1
|
|
ERRATA_A53_843419 := 1
|
|
ERRATA_A53_855873 := 1
|
|
|
|
IMX_DRAM_RETENTION ?= 1
|
|
$(eval $(call assert_boolean,IMX_DRAM_RETENTION))
|
|
$(eval $(call add_define,IMX_DRAM_RETENTION))
|
|
|
|
ifeq (${IMX_DRAM_RETENTION},1)
|
|
BL31_SOURCES += ${IMX_DRAM_SOURCES}
|
|
endif
|
|
|
|
ifneq (${PRELOADED_BL33_BASE},)
|
|
$(eval $(call add_define_val,PLAT_NS_IMAGE_OFFSET,${PRELOADED_BL33_BASE}))
|
|
endif
|
|
|
|
BL32_BASE ?= 0xbe000000
|
|
$(eval $(call add_define,BL32_BASE))
|
|
|
|
BL32_SIZE ?= 0x2000000
|
|
$(eval $(call add_define,BL32_SIZE))
|
|
|
|
IMX_BOOT_UART_BASE ?= 0x30890000
|
|
ifeq (${IMX_BOOT_UART_BASE},auto)
|
|
override IMX_BOOT_UART_BASE := 0
|
|
endif
|
|
$(eval $(call add_define,IMX_BOOT_UART_BASE))
|
|
|
|
EL3_EXCEPTION_HANDLING := $(SDEI_SUPPORT)
|
|
ifeq (${SDEI_SUPPORT}, 1)
|
|
BL31_SOURCES += plat/imx/common/imx_ehf.c \
|
|
plat/imx/common/imx_sdei.c
|
|
endif
|
|
|
|
ifeq (${SPD},trusty)
|
|
BL31_CFLAGS += -DPLAT_XLAT_TABLES_DYNAMIC=1
|
|
endif
|