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