xref: /rk3399_ARM-atf/plat/marvell/armada/common/marvell_common.mk (revision 5a40d70f067b6238159142755e4e5cb27e292045)
1a2847172SGrzegorz Jaszczyk# Copyright (C) 2018 Marvell International Ltd.
2a2847172SGrzegorz Jaszczyk#
3a2847172SGrzegorz Jaszczyk# SPDX-License-Identifier:     BSD-3-Clause
4a2847172SGrzegorz Jaszczyk# https://spdx.org/licenses
5a2847172SGrzegorz Jaszczyk
6a2847172SGrzegorz JaszczykMARVELL_PLAT_BASE		:= plat/marvell/armada
7a2847172SGrzegorz JaszczykMARVELL_PLAT_INCLUDE_BASE	:= include/plat/marvell/armada
8a2847172SGrzegorz Jaszczyk
9a2847172SGrzegorz Jaszczykinclude plat/marvell/version.mk
10a2847172SGrzegorz Jaszczykinclude plat/marvell/marvell.mk
11a2847172SGrzegorz Jaszczyk
12a2847172SGrzegorz JaszczykVERSION_STRING			+=(Marvell-${SUBVERSION})
13a2847172SGrzegorz Jaszczyk
14a2847172SGrzegorz JaszczykSEPARATE_CODE_AND_RODATA	:= 1
15a2847172SGrzegorz Jaszczyk
16a2847172SGrzegorz Jaszczyk# flag to switch from PLL to ARO
17a2847172SGrzegorz JaszczykARO_ENABLE			:= 0
18a2847172SGrzegorz Jaszczyk$(eval $(call add_define,ARO_ENABLE))
19*5a40d70fSKonstantin Porotchkin
20*5a40d70fSKonstantin Porotchkin# Convert LLC to secure SRAM
21*5a40d70fSKonstantin PorotchkinLLC_SRAM			:= 0
22*5a40d70fSKonstantin Porotchkin$(eval $(call add_define,LLC_SRAM))
23*5a40d70fSKonstantin Porotchkin
24a2847172SGrzegorz Jaszczyk# Enable/Disable LLC
25*5a40d70fSKonstantin Porotchkinifeq (${LLC_SRAM}, 0)
26a2847172SGrzegorz JaszczykLLC_ENABLE			:= 1
27*5a40d70fSKonstantin Porotchkinelse
28*5a40d70fSKonstantin Porotchkin# When LLC_SRAM=1, the entire LLC converted to SRAM and enabled at BL1.
29*5a40d70fSKonstantin Porotchkin# All existing cases activating LLC at BL31 stage should be disabled.
30*5a40d70fSKonstantin Porotchkin# The below assignment does not allow changing the LLC_ENABLE
31*5a40d70fSKonstantin Porotchkin# value in the command line.
32*5a40d70fSKonstantin PorotchkinLLC_ENABLE			= 0
33*5a40d70fSKonstantin Porotchkinendif
34a2847172SGrzegorz Jaszczyk$(eval $(call add_define,LLC_ENABLE))
35a2847172SGrzegorz Jaszczyk
36a2847172SGrzegorz Jaszczykinclude lib/xlat_tables_v2/xlat_tables.mk
37a2847172SGrzegorz Jaszczyk
38a2847172SGrzegorz JaszczykPLAT_INCLUDES		+=	-I$(MARVELL_PLAT_INCLUDE_BASE)/common	\
39a2847172SGrzegorz Jaszczyk				-I$(MARVELL_PLAT_INCLUDE_BASE)/common/aarch64
40a2847172SGrzegorz Jaszczyk
41a2847172SGrzegorz Jaszczyk
42a2847172SGrzegorz JaszczykPLAT_BL_COMMON_SOURCES  += ${XLAT_TABLES_LIB_SRCS} \
43a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/aarch64/marvell_common.c	\
44a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/aarch64/marvell_helpers.S	\
45a2847172SGrzegorz Jaszczyk				$(MARVELL_COMMON_BASE)/marvell_console.c
46a2847172SGrzegorz Jaszczyk
47a2847172SGrzegorz JaszczykBL1_SOURCES		+=	drivers/delay_timer/delay_timer.c			\
48a2847172SGrzegorz Jaszczyk				drivers/io/io_fip.c					\
49a2847172SGrzegorz Jaszczyk				drivers/io/io_memmap.c					\
50a2847172SGrzegorz Jaszczyk				drivers/io/io_storage.c					\
51a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/marvell_bl1_setup.c		\
52a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/marvell_io_storage.c	\
53a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/plat_delay_timer.c
54a2847172SGrzegorz Jaszczyk
55a2847172SGrzegorz Jaszczykifdef EL3_PAYLOAD_BASE
56a2847172SGrzegorz Jaszczyk# Need the arm_program_trusted_mailbox() function to release secondary CPUs from
57a2847172SGrzegorz Jaszczyk# their holding pen
58a2847172SGrzegorz Jaszczykendif
59a2847172SGrzegorz Jaszczyk
60a2847172SGrzegorz JaszczykBL2_SOURCES		+=	drivers/io/io_fip.c					\
61a2847172SGrzegorz Jaszczyk				drivers/io/io_memmap.c					\
62a2847172SGrzegorz Jaszczyk				drivers/io/io_storage.c					\
63a2847172SGrzegorz Jaszczyk				common/desc_image_load.c				\
64a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/marvell_bl2_setup.c		\
65a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/marvell_io_storage.c	\
66a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/aarch64/marvell_bl2_mem_params_desc.c	\
67a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/marvell_image_load.c
68a2847172SGrzegorz Jaszczyk
69a2847172SGrzegorz Jaszczyk
70a2847172SGrzegorz JaszczykBL31_SOURCES		+=	$(MARVELL_PLAT_BASE)/common/marvell_bl31_setup.c	\
71a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/marvell_pm.c		\
72a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/marvell_topology.c		\
73a2847172SGrzegorz Jaszczyk				plat/common/plat_psci_common.c				\
74a2847172SGrzegorz Jaszczyk				$(MARVELL_PLAT_BASE)/common/plat_delay_timer.c		\
75a2847172SGrzegorz Jaszczyk				drivers/delay_timer/delay_timer.c
76a2847172SGrzegorz Jaszczyk
77a2847172SGrzegorz Jaszczyk# PSCI functionality
78a2847172SGrzegorz Jaszczyk$(eval $(call add_define,CONFIG_ARM64))
79a2847172SGrzegorz Jaszczyk
80a2847172SGrzegorz Jaszczyk# MSS (SCP) build
81a2847172SGrzegorz Jaszczykifeq (${MSS_SUPPORT}, 1)
82a2847172SGrzegorz Jaszczykinclude $(MARVELL_PLAT_BASE)/common/mss/mss_common.mk
83a2847172SGrzegorz Jaszczykendif
84a2847172SGrzegorz Jaszczyk
85a2847172SGrzegorz Jaszczykfip: mrvl_flash
86