xref: /rk3399_ARM-atf/plat/brcm/board/common/board_common.mk (revision 9a40c0fba66ccc706ed90ce9b40de6b0045bd660)
1717448d6SSheetal Tigadoli#
2717448d6SSheetal Tigadoli# Copyright (c) 2015 - 2020, Broadcom
3717448d6SSheetal Tigadoli#
4717448d6SSheetal Tigadoli# SPDX-License-Identifier: BSD-3-Clause
5717448d6SSheetal Tigadoli#
6717448d6SSheetal Tigadoli
7717448d6SSheetal TigadoliPLAT_BL_COMMON_SOURCES	+=	plat/brcm/board/common/board_common.c
8717448d6SSheetal Tigadoli
9717448d6SSheetal Tigadoli# If no board config makefile, do not include it
10717448d6SSheetal Tigadoliifneq (${BOARD_CFG},)
11717448d6SSheetal TigadoliBOARD_CFG_MAKE := $(shell find plat/brcm/board/${PLAT} -name '${BOARD_CFG}.mk')
12717448d6SSheetal Tigadoli$(eval $(call add_define,BOARD_CFG))
13717448d6SSheetal Tigadoliifneq (${BOARD_CFG_MAKE},)
14717448d6SSheetal Tigadoli$(info Including ${BOARD_CFG_MAKE})
15717448d6SSheetal Tigadoliinclude ${BOARD_CFG_MAKE}
16717448d6SSheetal Tigadolielse
17717448d6SSheetal Tigadoli$(error Error: File ${BOARD_CFG}.mk not found in plat/brcm/board/${PLAT})
18717448d6SSheetal Tigadoliendif
19717448d6SSheetal Tigadoliendif
20717448d6SSheetal Tigadoli
21717448d6SSheetal Tigadoli# To compile with highest log level (VERBOSE) set value to 50
22717448d6SSheetal TigadoliLOG_LEVEL := 40
23717448d6SSheetal Tigadoli
24717448d6SSheetal Tigadoli# Use custom generic timer clock
25717448d6SSheetal Tigadoliifneq (${GENTIMER_ACTUAL_CLOCK},)
26717448d6SSheetal Tigadoli$(info Using GENTIMER_ACTUAL_CLOCK=$(GENTIMER_ACTUAL_CLOCK))
27717448d6SSheetal TigadoliSYSCNT_FREQ := $(GENTIMER_ACTUAL_CLOCK)
28717448d6SSheetal Tigadoli$(eval $(call add_define,SYSCNT_FREQ))
29717448d6SSheetal Tigadoliendif
30717448d6SSheetal Tigadoli
31*9a40c0fbSSheetal Tigadoli# Process ARM_BL31_IN_DRAM flag
32*9a40c0fbSSheetal Tigadoliifeq (${ARM_BL31_IN_DRAM},)
33*9a40c0fbSSheetal TigadoliARM_BL31_IN_DRAM		:=	0
34*9a40c0fbSSheetal Tigadoliendif
35*9a40c0fbSSheetal Tigadoli$(eval $(call assert_boolean,ARM_BL31_IN_DRAM))
36*9a40c0fbSSheetal Tigadoli$(eval $(call add_define,ARM_BL31_IN_DRAM))
37*9a40c0fbSSheetal Tigadoli
38717448d6SSheetal Tigadoliifeq (${STANDALONE_BL2},yes)
39717448d6SSheetal Tigadoli$(eval $(call add_define,MMU_DISABLED))
40717448d6SSheetal Tigadoliendif
41717448d6SSheetal Tigadoli
42717448d6SSheetal Tigadoli# BL2 XIP from QSPI
43717448d6SSheetal TigadoliRUN_BL2_FROM_QSPI := 0
44717448d6SSheetal Tigadoliifeq (${RUN_BL2_FROM_QSPI},1)
45717448d6SSheetal Tigadoli$(eval $(call add_define,RUN_BL2_FROM_QSPI))
46717448d6SSheetal Tigadoliendif
47717448d6SSheetal Tigadoli
48717448d6SSheetal Tigadoli# Use CRMU SRAM from iHOST
49717448d6SSheetal Tigadoliifneq (${USE_CRMU_SRAM},)
50717448d6SSheetal Tigadoli$(eval $(call add_define,USE_CRMU_SRAM))
51717448d6SSheetal Tigadoliendif
52717448d6SSheetal Tigadoli
53717448d6SSheetal Tigadoli# On BRCM platforms, separate the code and read-only data sections to allow
54717448d6SSheetal Tigadoli# mapping the former as executable and the latter as execute-never.
55717448d6SSheetal TigadoliSEPARATE_CODE_AND_RODATA	:=	1
56717448d6SSheetal Tigadoli
57717448d6SSheetal Tigadoli# Use generic OID definition (tbbr_oid.h)
58717448d6SSheetal TigadoliUSE_TBBR_DEFS			:=	1
59717448d6SSheetal Tigadoli
60*9a40c0fbSSheetal TigadoliPLAT_INCLUDES		+=	-Iplat/brcm/board/common \
61*9a40c0fbSSheetal Tigadoli				-Iinclude/drivers/brcm
62717448d6SSheetal Tigadoli
63717448d6SSheetal TigadoliPLAT_BL_COMMON_SOURCES	+=	plat/brcm/common/brcm_common.c \
64717448d6SSheetal Tigadoli				plat/brcm/board/common/cmn_sec.c \
65717448d6SSheetal Tigadoli				plat/brcm/board/common/bcm_console.c \
66717448d6SSheetal Tigadoli				plat/brcm/board/common/plat_setup.c \
67717448d6SSheetal Tigadoli				plat/brcm/board/common/platform_common.c \
68717448d6SSheetal Tigadoli				drivers/arm/sp804/sp804_delay_timer.c \
69717448d6SSheetal Tigadoli				drivers/delay_timer/delay_timer.c \
70717448d6SSheetal Tigadoli				drivers/io/io_fip.c \
71717448d6SSheetal Tigadoli				drivers/io/io_memmap.c \
72717448d6SSheetal Tigadoli				drivers/io/io_storage.c \
73717448d6SSheetal Tigadoli				plat/brcm/common/brcm_io_storage.c \
74717448d6SSheetal Tigadoli				plat/brcm/board/common/err.c \
75717448d6SSheetal Tigadoli				drivers/arm/sp805/sp805.c
76717448d6SSheetal Tigadoli
77717448d6SSheetal TigadoliBL2_SOURCES		+=	plat/brcm/common/brcm_bl2_mem_params_desc.c \
78717448d6SSheetal Tigadoli				plat/brcm/common/brcm_image_load.c \
79717448d6SSheetal Tigadoli				common/desc_image_load.c
80717448d6SSheetal Tigadoli
81717448d6SSheetal TigadoliBL2_SOURCES		+= 	plat/brcm/common/brcm_bl2_setup.c
82717448d6SSheetal Tigadoli
83*9a40c0fbSSheetal TigadoliBL31_SOURCES		+=	plat/brcm/common/brcm_bl31_setup.c
84*9a40c0fbSSheetal Tigadoli
85*9a40c0fbSSheetal Tigadoli#M0 runtime firmware
86*9a40c0fbSSheetal Tigadoliifdef SCP_BL2
87*9a40c0fbSSheetal Tigadoli$(eval $(call add_define,NEED_SCP_BL2))
88*9a40c0fbSSheetal TigadoliSCP_CFG_DIR=$(dir ${SCP_BL2})
89*9a40c0fbSSheetal TigadoliPLAT_INCLUDES += -I${SCP_CFG_DIR}
90*9a40c0fbSSheetal Tigadoliendif
91*9a40c0fbSSheetal Tigadoli
92*9a40c0fbSSheetal Tigadoliifneq (${NEED_BL33},yes)
93*9a40c0fbSSheetal Tigadoli# If there is no BL33, BL31 will jump to this address.
94*9a40c0fbSSheetal Tigadoliifeq (${USE_DDR},yes)
95*9a40c0fbSSheetal TigadoliPRELOADED_BL33_BASE := 0x80000000
96*9a40c0fbSSheetal Tigadolielse
97*9a40c0fbSSheetal TigadoliPRELOADED_BL33_BASE := 0x74000000
98*9a40c0fbSSheetal Tigadoliendif
99*9a40c0fbSSheetal Tigadoliendif
100*9a40c0fbSSheetal Tigadoli
101717448d6SSheetal Tigadoli# Use translation tables library v1 by default
102717448d6SSheetal TigadoliARM_XLAT_TABLES_LIB_V1		:=	1
103717448d6SSheetal Tigadoliifeq (${ARM_XLAT_TABLES_LIB_V1}, 1)
104717448d6SSheetal Tigadoli$(eval $(call assert_boolean,ARM_XLAT_TABLES_LIB_V1))
105717448d6SSheetal Tigadoli$(eval $(call add_define,ARM_XLAT_TABLES_LIB_V1))
106717448d6SSheetal TigadoliPLAT_BL_COMMON_SOURCES	+=	lib/xlat_tables/aarch64/xlat_tables.c \
107717448d6SSheetal Tigadoli				lib/xlat_tables/xlat_tables_common.c
108717448d6SSheetal Tigadoliendif
109