blob: fb6fbb5859b8751fa7e4ad5f5868ea3ffaf438f3 [file] [log] [blame]
Konstantin Porotchkinf69ec582018-06-07 18:31:14 +03001# Copyright (C) 2018 Marvell International Ltd.
2#
3# SPDX-License-Identifier: BSD-3-Clause
4# https://spdx.org/licenses
5
6MARVELL_PLAT_BASE := plat/marvell
7MARVELL_PLAT_INCLUDE_BASE := include/plat/marvell
8
9include $(MARVELL_PLAT_BASE)/version.mk
10include $(MARVELL_PLAT_BASE)/marvell.mk
11
12VERSION_STRING +=(Marvell-${SUBVERSION})
13
Konstantin Porotchkind8e39572018-11-14 17:15:08 +020014MULTI_CONSOLE_API := 1
15
Konstantin Porotchkinf69ec582018-06-07 18:31:14 +030016SEPARATE_CODE_AND_RODATA := 1
17
18# flag to switch from PLL to ARO
19ARO_ENABLE := 0
20$(eval $(call add_define,ARO_ENABLE))
21# Enable/Disable LLC
22LLC_ENABLE := 1
23$(eval $(call add_define,LLC_ENABLE))
24
Konstantin Porotchkind973c032018-10-02 17:45:15 +030025PLAT_INCLUDES += -I. -Iinclude/common -Iinclude/common/tbbr \
Konstantin Porotchkinf69ec582018-06-07 18:31:14 +030026 -I$(MARVELL_PLAT_INCLUDE_BASE)/common \
27 -I$(MARVELL_PLAT_INCLUDE_BASE)/common/aarch64
28
29
30PLAT_BL_COMMON_SOURCES += lib/xlat_tables/xlat_tables_common.c \
31 lib/xlat_tables/aarch64/xlat_tables.c \
32 $(MARVELL_PLAT_BASE)/common/aarch64/marvell_common.c \
Konstantin Porotchkind8e39572018-11-14 17:15:08 +020033 $(MARVELL_PLAT_BASE)/common/aarch64/marvell_helpers.S \
34 $(MARVELL_COMMON_BASE)/marvell_console.c
Konstantin Porotchkinf69ec582018-06-07 18:31:14 +030035
36BL1_SOURCES += drivers/delay_timer/delay_timer.c \
37 drivers/io/io_fip.c \
38 drivers/io/io_memmap.c \
39 drivers/io/io_storage.c \
40 $(MARVELL_PLAT_BASE)/common/marvell_bl1_setup.c \
41 $(MARVELL_PLAT_BASE)/common/marvell_io_storage.c \
42 $(MARVELL_PLAT_BASE)/common/plat_delay_timer.c
43
44ifdef EL3_PAYLOAD_BASE
45# Need the arm_program_trusted_mailbox() function to release secondary CPUs from
46# their holding pen
47endif
48
49BL2_SOURCES += drivers/io/io_fip.c \
50 drivers/io/io_memmap.c \
51 drivers/io/io_storage.c \
Konstantin Porotchkind973c032018-10-02 17:45:15 +030052 common/desc_image_load.c \
Konstantin Porotchkinf69ec582018-06-07 18:31:14 +030053 $(MARVELL_PLAT_BASE)/common/marvell_bl2_setup.c \
Konstantin Porotchkind973c032018-10-02 17:45:15 +030054 $(MARVELL_PLAT_BASE)/common/marvell_io_storage.c \
55 $(MARVELL_PLAT_BASE)/common/aarch64/marvell_bl2_mem_params_desc.c \
56 $(MARVELL_PLAT_BASE)/common/marvell_image_load.c
57
Konstantin Porotchkinf69ec582018-06-07 18:31:14 +030058
59BL31_SOURCES += $(MARVELL_PLAT_BASE)/common/marvell_bl31_setup.c \
60 $(MARVELL_PLAT_BASE)/common/marvell_pm.c \
61 $(MARVELL_PLAT_BASE)/common/marvell_topology.c \
62 plat/common/plat_psci_common.c \
63 $(MARVELL_PLAT_BASE)/common/plat_delay_timer.c \
64 drivers/delay_timer/delay_timer.c
65
66# PSCI functionality
67$(eval $(call add_define,CONFIG_ARM64))
68
69# MSS (SCP) build
70ifeq (${MSS_SUPPORT}, 1)
71include $(MARVELL_PLAT_BASE)/common/mss/mss_common.mk
72endif
73
74fip: mrvl_flash