1#
2# Copyright 2018-2022 NXP
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7# SoC-specific build parameters
8SOC		:=	ls1046a
9PLAT_PATH	:=	plat/nxp
10PLAT_COMMON_PATH:=	plat/nxp/common
11PLAT_DRIVERS_PATH:=	drivers/nxp
12PLAT_SOC_PATH	:=	${PLAT_PATH}/soc-${SOC}
13BOARD_PATH	:=	${PLAT_SOC_PATH}/${BOARD}
14
15# Get SoC-specific defnitions
16include ${PLAT_SOC_PATH}/soc.def
17include ${PLAT_COMMON_PATH}/plat_make_helper/soc_common_def.mk
18include ${PLAT_COMMON_PATH}/plat_make_helper/plat_build_macros.mk
19
20# For Security Features
21DISABLE_FUSE_WRITE	:= 1
22ifeq (${TRUSTED_BOARD_BOOT}, 1)
23$(eval $(call SET_NXP_MAKE_FLAG,SMMU_NEEDED,BL2))
24$(eval $(call SET_NXP_MAKE_FLAG,SFP_NEEDED,BL2))
25$(eval $(call SET_NXP_MAKE_FLAG,SNVS_NEEDED,BL2))
26SECURE_BOOT	:= yes
27endif
28$(eval $(call SET_NXP_MAKE_FLAG,CRYPTO_NEEDED,BL_COMM))
29
30# Selecting Drivers for SoC
31$(eval $(call SET_NXP_MAKE_FLAG,DCFG_NEEDED,BL_COMM))
32$(eval $(call SET_NXP_MAKE_FLAG,CSU_NEEDED,BL_COMM))
33$(eval $(call SET_NXP_MAKE_FLAG,TIMER_NEEDED,BL_COMM))
34$(eval $(call SET_NXP_MAKE_FLAG,INTERCONNECT_NEEDED,BL_COMM))
35$(eval $(call SET_NXP_MAKE_FLAG,GIC_NEEDED,BL31))
36$(eval $(call SET_NXP_MAKE_FLAG,CONSOLE_NEEDED,BL_COMM))
37$(eval $(call SET_NXP_MAKE_FLAG,PMU_NEEDED,BL_COMM))
38$(eval $(call SET_NXP_MAKE_FLAG,DDR_DRIVER_NEEDED,BL2))
39$(eval $(call SET_NXP_MAKE_FLAG,TZASC_NEEDED,BL2))
40$(eval $(call SET_NXP_MAKE_FLAG,I2C_NEEDED,BL2))
41$(eval $(call SET_NXP_MAKE_FLAG,IMG_LOADR_NEEDED,BL2))
42
43# Selecting PSCI & SIP_SVC support
44$(eval $(call SET_NXP_MAKE_FLAG,PSCI_NEEDED,BL31))
45$(eval $(call SET_NXP_MAKE_FLAG,SIPSVC_NEEDED,BL31))
46
47# Source File Addition
48PLAT_INCLUDES		+=	-I${PLAT_COMMON_PATH}/include/default\
49				-I${BOARD_PATH}\
50				-I${PLAT_COMMON_PATH}/include/default/ch_${CHASSIS}\
51				-I${PLAT_SOC_PATH}/include\
52				-I${PLAT_COMMON_PATH}/soc_errata
53
54ifeq (${SECURE_BOOT},yes)
55include ${PLAT_COMMON_PATH}/tbbr/tbbr.mk
56endif
57
58ifeq ($(WARM_BOOT),yes)
59include ${PLAT_COMMON_PATH}/warm_reset/warm_reset.mk
60endif
61
62ifeq (${NXP_NV_SW_MAINT_LAST_EXEC_DATA}, yes)
63include ${PLAT_COMMON_PATH}/nv_storage/nv_storage.mk
64endif
65
66ifeq (${PSCI_NEEDED}, yes)
67include ${PLAT_COMMON_PATH}/psci/psci.mk
68endif
69
70ifeq (${SIPSVC_NEEDED}, yes)
71include ${PLAT_COMMON_PATH}/sip_svc/sipsvc.mk
72endif
73
74# For fuse-fip & fuse-programming
75ifeq (${FUSE_PROG}, 1)
76include ${PLAT_COMMON_PATH}/fip_handler/fuse_fip/fuse.mk
77endif
78
79ifeq (${IMG_LOADR_NEEDED},yes)
80include $(PLAT_COMMON_PATH)/img_loadr/img_loadr.mk
81endif
82
83# Adding source files for the above selected drivers.
84include ${PLAT_DRIVERS_PATH}/drivers.mk
85
86# Adding SoC specific files
87include ${PLAT_COMMON_PATH}/soc_errata/errata.mk
88
89PLAT_INCLUDES		+=	${NV_STORAGE_INCLUDES}\
90				${WARM_RST_INCLUDES}
91
92BL31_SOURCES		+=	${PLAT_SOC_PATH}/$(ARCH)/${SOC}.S\
93				${WARM_RST_BL31_SOURCES}\
94				${PSCI_SOURCES}\
95				${SIPSVC_SOURCES}\
96				${PLAT_COMMON_PATH}/$(ARCH)/bl31_data.S
97
98PLAT_BL_COMMON_SOURCES	+=	${PLAT_COMMON_PATH}/$(ARCH)/ls_helpers.S\
99				${PLAT_SOC_PATH}/aarch64/${SOC}_helpers.S\
100				${NV_STORAGE_SOURCES}\
101				${WARM_RST_BL_COMM_SOURCES}\
102				${PLAT_SOC_PATH}/soc.c
103
104ifeq (${TEST_BL31}, 1)
105BL31_SOURCES		+=	${PLAT_SOC_PATH}/$(ARCH)/bootmain64.S\
106				${PLAT_SOC_PATH}/$(ARCH)/nonboot64.S
107endif
108
109BL2_SOURCES		+=	${DDR_CNTLR_SOURCES}\
110				${TBBR_SOURCES}\
111				${FUSE_SOURCES}
112
113# Adding TFA setup files
114include ${PLAT_PATH}/common/setup/common.mk
115