blob: 3ed7a637409e80e79da4160ac4b93a53910b0e79 [file] [log] [blame]
Usama Arif82e95092019-06-18 16:46:05 +01001#
Juan Pablo Conde6aba3b12023-08-09 13:19:21 -05002# Copyright (c) 2019-2023, Arm Limited. All rights reserved.
Usama Arif82e95092019-06-18 16:46:05 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
Louis Mayencourt5a15b2d2019-10-17 14:46:51 +01007# Firmware Configuration Framework sources
Chris Kaye9272152021-09-28 15:52:14 +01008include common/fdt_wrappers.mk
Louis Mayencourt5a15b2d2019-10-17 14:46:51 +01009include lib/fconf/fconf.mk
10
Chris Kayb296ada2021-05-20 13:22:43 +010011BL1_SOURCES += ${FCONF_SOURCES} ${FCONF_DYN_SOURCES}
12BL2_SOURCES += ${FCONF_SOURCES} ${FCONF_DYN_SOURCES}
13
Usama Arif82e95092019-06-18 16:46:05 +010014# Add `libfdt` and Arm common helpers required for Dynamic Config
15include lib/libfdt/libfdt.mk
16
17DYN_CFG_SOURCES += plat/arm/common/arm_dyn_cfg.c \
Chris Kaye9272152021-09-28 15:52:14 +010018 plat/arm/common/arm_dyn_cfg_helpers.c
19
20DYN_CFG_SOURCES += ${FDT_WRAPPERS_SOURCES}
Usama Arif82e95092019-06-18 16:46:05 +010021
Alexei Fedorovcaa18022020-07-14 10:47:25 +010022# Include GICv2 driver files
23include drivers/arm/gic/v2/gicv2.mk
24
25A5DS_GIC_SOURCES := ${GICV2_SOURCES} \
Usama Arif82e95092019-06-18 16:46:05 +010026 plat/common/plat_gicv2.c \
27 plat/arm/common/arm_gicv2.c
28
29A5DS_SECURITY_SOURCES := plat/arm/board/a5ds/a5ds_security.c
30
31PLAT_INCLUDES := -Iplat/arm/board/a5ds/include
32
33PLAT_BL_COMMON_SOURCES := drivers/arm/pl011/${ARCH}/pl011_console.S \
34 plat/arm/board/a5ds/a5ds_common.c \
35 plat/arm/common/${ARCH}/arm_helpers.S \
36 plat/arm/common/arm_common.c \
37 plat/arm/common/arm_console.c \
38 plat/arm/board/common/${ARCH}/board_arm_helpers.S
39
40A5DS_CPU_LIBS := lib/cpus/aarch32/cortex_a5.S
41
42BL1_SOURCES += drivers/io/io_fip.c \
43 drivers/io/io_memmap.c \
44 drivers/io/io_storage.c \
45 drivers/cfi/v2m/v2m_flash.c \
46 plat/arm/common/arm_bl1_setup.c \
47 plat/arm/common/arm_err.c \
Ambroise Vincentfa42c9e2019-07-04 14:58:45 +010048 plat/arm/board/a5ds/a5ds_err.c \
Usama Arif82e95092019-06-18 16:46:05 +010049 plat/arm/common/arm_io_storage.c \
Louis Mayencourt6b232d92020-02-28 16:57:30 +000050 plat/arm/common/fconf/arm_fconf_io.c \
Usama Arif82e95092019-06-18 16:46:05 +010051 plat/arm/board/a5ds/${ARCH}/a5ds_helpers.S \
52 plat/arm/board/a5ds/a5ds_bl1_setup.c \
53 lib/aarch32/arm32_aeabi_divmod.c \
54 lib/aarch32/arm32_aeabi_divmod_a32.S \
55 ${A5DS_CPU_LIBS} \
56 ${DYN_CFG_SOURCES}
57
58BL2_SOURCES += lib/aarch32/arm32_aeabi_divmod.c \
59 lib/aarch32/arm32_aeabi_divmod_a32.S \
60 drivers/delay_timer/delay_timer.c \
61 drivers/delay_timer/generic_delay_timer.c \
62 drivers/cfi/v2m/v2m_flash.c \
63 drivers/io/io_fip.c \
64 drivers/io/io_memmap.c \
65 drivers/io/io_storage.c \
66 plat/arm/board/a5ds/a5ds_bl2_setup.c \
67 plat/arm/common/arm_bl2_setup.c \
68 plat/arm/common/arm_err.c \
Ambroise Vincentfa42c9e2019-07-04 14:58:45 +010069 plat/arm/board/a5ds/a5ds_err.c \
Usama Arif82e95092019-06-18 16:46:05 +010070 plat/arm/common/arm_io_storage.c \
Louis Mayencourt6b232d92020-02-28 16:57:30 +000071 plat/arm/common/fconf/arm_fconf_io.c \
Usama Arif82e95092019-06-18 16:46:05 +010072 plat/arm/common/${ARCH}/arm_bl2_mem_params_desc.c \
73 plat/arm/common/arm_image_load.c \
74 common/desc_image_load.c \
75 ${DYN_CFG_SOURCES} \
76 ${A5DS_SECURITY_SOURCES}
77
78# Add the FDT_SOURCES and options for Dynamic Config (only for Unix env)
79ifdef UNIX_MK
80
Manish V Badarkhe64616a52020-05-31 08:53:40 +010081FW_CONFIG := ${BUILD_PLAT}/fdts/a5ds_fw_config.dtb
82TB_FW_CONFIG := ${BUILD_PLAT}/fdts/a5ds_tb_fw_config.dtb
Usama Arif82e95092019-06-18 16:46:05 +010083
84# Add the TB_FW_CONFIG to FIP and specify the same to certtool
Anders Dellien3f694742020-08-23 19:32:48 +010085$(eval $(call TOOL_ADD_PAYLOAD,${TB_FW_CONFIG},--tb-fw-config,${TB_FW_CONFIG}))
Manish V Badarkhe64616a52020-05-31 08:53:40 +010086# Add the FW_CONFIG to FIP and specify the same to certtool
Anders Dellien3f694742020-08-23 19:32:48 +010087$(eval $(call TOOL_ADD_PAYLOAD,${FW_CONFIG},--fw-config,${FW_CONFIG}))
Usama Arif82e95092019-06-18 16:46:05 +010088
89$(eval FVP_HW_CONFIG := ${BUILD_PLAT}/$(patsubst %.dts,%.dtb, \
90 fdts/$(notdir ${FVP_HW_CONFIG_DTS})))
91# Add the HW_CONFIG to FIP and specify the same to certtool
Anders Dellien3f694742020-08-23 19:32:48 +010092$(eval $(call TOOL_ADD_PAYLOAD,${FVP_HW_CONFIG},--hw-config,${FVP_HW_CONFIG}))
Usama Arif82e95092019-06-18 16:46:05 +010093
Louis Mayencourt6d2b5732019-12-17 13:17:25 +000094FDT_SOURCES += plat/arm/board/a5ds/fdts/a5ds_fw_config.dts \
Manish V Badarkhe64616a52020-05-31 08:53:40 +010095 plat/arm/board/a5ds/fdts/a5ds_tb_fw_config.dts \
Usama Arif82e95092019-06-18 16:46:05 +010096 ${FVP_HW_CONFIG_DTS}
97endif
98
99NEED_BL32 := yes
100
Juan Pablo Conde6aba3b12023-08-09 13:19:21 -0500101ifeq (${AARCH32_SP},none)
102 $(error Variable AARCH32_SP has to be set for AArch32)
103endif
104
Usama Arif82e95092019-06-18 16:46:05 +0100105MULTI_CONSOLE_API := 1
106
Manish Pandey139126a2023-05-02 13:43:22 +0100107ARM_DISABLE_TRUSTED_WDOG := 1
108
Usama Arif82e95092019-06-18 16:46:05 +0100109PLAT_BL_COMMON_SOURCES += lib/xlat_tables/aarch32/nonlpae_tables.c
110
111# Use translation tables library v1 when using Cortex-A5
112ARM_XLAT_TABLES_LIB_V1 := 1
113$(eval $(call assert_boolean,ARM_XLAT_TABLES_LIB_V1))
114$(eval $(call add_define,ARM_XLAT_TABLES_LIB_V1))
115
116$(eval $(call assert_boolean,ARM_DISABLE_TRUSTED_WDOG))
117$(eval $(call add_define,ARM_DISABLE_TRUSTED_WDOG))