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