187056d31SPankaj Gupta# 287056d31SPankaj Gupta# Copyright 2018-2020 NXP 387056d31SPankaj Gupta# 487056d31SPankaj Gupta# SPDX-License-Identifier: BSD-3-Clause 587056d31SPankaj Gupta# 687056d31SPankaj Gupta 787056d31SPankaj Gupta 887056d31SPankaj Gupta # SoC-specific build parameters 987056d31SPankaj GuptaSOC := lx2160a 1087056d31SPankaj GuptaPLAT_PATH := plat/nxp 1187056d31SPankaj GuptaPLAT_COMMON_PATH:= plat/nxp/common 1287056d31SPankaj GuptaPLAT_DRIVERS_PATH:= drivers/nxp 1387056d31SPankaj GuptaPLAT_SOC_PATH := ${PLAT_PATH}/soc-${SOC} 1487056d31SPankaj GuptaBOARD_PATH := ${PLAT_SOC_PATH}/${BOARD} 1587056d31SPankaj Gupta 1687056d31SPankaj Gupta # get SoC-specific defnitions 1787056d31SPankaj Guptainclude ${PLAT_SOC_PATH}/soc.def 1896e63ccfSJiafei Paninclude ${PLAT_COMMON_PATH}/plat_make_helper/soc_common_def.mk 1987056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/plat_make_helper/plat_build_macros.mk 2087056d31SPankaj Gupta 2187056d31SPankaj Gupta # SoC-specific 2287056d31SPankaj GuptaNXP_WDOG_RESTART := yes 2387056d31SPankaj Gupta 2487056d31SPankaj Gupta 2587056d31SPankaj Gupta # Selecting dependent module, 2687056d31SPankaj Gupta # Selecting dependent drivers, and 2787056d31SPankaj Gupta # Adding defines. 2887056d31SPankaj Gupta 2987056d31SPankaj Gupta # for features enabled above. 3087056d31SPankaj Guptaifeq (${NXP_WDOG_RESTART}, yes) 3187056d31SPankaj GuptaNXP_NV_SW_MAINT_LAST_EXEC_DATA := yes 3287056d31SPankaj GuptaLS_EL3_INTERRUPT_HANDLER := yes 3387056d31SPankaj Gupta$(eval $(call add_define, NXP_WDOG_RESTART)) 3487056d31SPankaj Guptaendif 3587056d31SPankaj Gupta 3687056d31SPankaj Gupta 3787056d31SPankaj Gupta # For Security Features 3887056d31SPankaj GuptaDISABLE_FUSE_WRITE := 1 39*0ca1d8fbSHoward Lu$(eval $(call SET_NXP_MAKE_FLAG,SMMU_NEEDED,BL2)) 4087056d31SPankaj Guptaifeq (${TRUSTED_BOARD_BOOT}, 1) 4187056d31SPankaj Guptaifeq (${GENERATE_COT},1) 4287056d31SPankaj Gupta# Save Keys to be used by DDR FIP image 4387056d31SPankaj GuptaSAVE_KEYS=1 4487056d31SPankaj Guptaendif 4587056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SFP_NEEDED,BL2)) 4687056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SNVS_NEEDED,BL2)) 4787056d31SPankaj Gupta# Used by create_pbl tool to 4887056d31SPankaj Gupta# create bl2_<boot_mode>_sec.pbl image 4987056d31SPankaj GuptaSECURE_BOOT := yes 5087056d31SPankaj Guptaendif 5187056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,CRYPTO_NEEDED,BL_COMM)) 5287056d31SPankaj Gupta 5387056d31SPankaj Gupta 5487056d31SPankaj Gupta # Selecting Drivers for SoC 5587056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,DCFG_NEEDED,BL_COMM)) 5687056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,TIMER_NEEDED,BL_COMM)) 5787056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,INTERCONNECT_NEEDED,BL_COMM)) 5887056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,GIC_NEEDED,BL31)) 5987056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,CONSOLE_NEEDED,BL_COMM)) 6087056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,PMU_NEEDED,BL_COMM)) 6187056d31SPankaj Gupta 6287056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,DDR_DRIVER_NEEDED,BL2)) 6387056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,TZASC_NEEDED,BL2)) 6487056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,I2C_NEEDED,BL2)) 6587056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,IMG_LOADR_NEEDED,BL2)) 6687056d31SPankaj Gupta 6787056d31SPankaj Gupta 6887056d31SPankaj Gupta # Selecting PSCI & SIP_SVC support 6987056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,PSCI_NEEDED,BL31)) 7087056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SIPSVC_NEEDED,BL31)) 7187056d31SPankaj Gupta 7287056d31SPankaj Gupta 7387056d31SPankaj Gupta # Selecting Boot Source for the TFA images. 7487056d31SPankaj Guptaifeq (${BOOT_MODE}, flexspi_nor) 7587056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,XSPI_NEEDED,BL2)) 7687056d31SPankaj Gupta$(eval $(call add_define,FLEXSPI_NOR_BOOT)) 7787056d31SPankaj Guptaelse 7887056d31SPankaj Guptaifeq (${BOOT_MODE}, sd) 7987056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SD_MMC_NEEDED,BL2)) 8087056d31SPankaj Gupta$(eval $(call add_define,SD_BOOT)) 8187056d31SPankaj Guptaelse 8287056d31SPankaj Guptaifeq (${BOOT_MODE}, emmc) 8387056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SD_MMC_NEEDED,BL2)) 8487056d31SPankaj Gupta$(eval $(call add_define,EMMC_BOOT)) 8587056d31SPankaj Guptaelse 8687056d31SPankaj Gupta$(error Un-supported Boot Mode = ${BOOT_MODE}) 8787056d31SPankaj Guptaendif 8887056d31SPankaj Guptaendif 8987056d31SPankaj Guptaendif 9087056d31SPankaj Gupta 9187056d31SPankaj Gupta 9287056d31SPankaj Gupta # Separate DDR-FIP image to be loaded. 9387056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,DDR_FIP_IO_NEEDED,BL2)) 9487056d31SPankaj Gupta 9587056d31SPankaj Gupta 9687056d31SPankaj Gupta# Source File Addition 9787056d31SPankaj Gupta# ##################### 9887056d31SPankaj Gupta 9987056d31SPankaj GuptaPLAT_INCLUDES += -I${PLAT_COMMON_PATH}/include/default\ 10087056d31SPankaj Gupta -I${BOARD_PATH}\ 10187056d31SPankaj Gupta -I${PLAT_COMMON_PATH}/include/default/ch_${CHASSIS}\ 1029616db15SJiafei Pan -I${PLAT_SOC_PATH}/include\ 1039616db15SJiafei Pan -I${PLAT_COMMON_PATH}/soc_errata 10487056d31SPankaj Gupta 10587056d31SPankaj Guptaifeq (${SECURE_BOOT},yes) 10687056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/tbbr/tbbr.mk 10787056d31SPankaj Guptaendif 10887056d31SPankaj Gupta 10987056d31SPankaj Guptaifeq ($(WARM_BOOT),yes) 11087056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/warm_reset/warm_reset.mk 11187056d31SPankaj Guptaendif 11287056d31SPankaj Gupta 11387056d31SPankaj Guptaifeq (${NXP_NV_SW_MAINT_LAST_EXEC_DATA}, yes) 11487056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/nv_storage/nv_storage.mk 11587056d31SPankaj Guptaendif 11687056d31SPankaj Gupta 11787056d31SPankaj Guptaifeq (${PSCI_NEEDED}, yes) 11887056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/psci/psci.mk 11987056d31SPankaj Guptaendif 12087056d31SPankaj Gupta 12187056d31SPankaj Guptaifeq (${SIPSVC_NEEDED}, yes) 12287056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/sip_svc/sipsvc.mk 12387056d31SPankaj Guptaendif 12487056d31SPankaj Gupta 12587056d31SPankaj Guptaifeq (${DDR_FIP_IO_NEEDED}, yes) 12687056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/fip_handler/ddr_fip/ddr_fip_io.mk 12787056d31SPankaj Guptaendif 12887056d31SPankaj Gupta 12987056d31SPankaj Gupta # for fuse-fip & fuse-programming 13087056d31SPankaj Guptaifeq (${FUSE_PROG}, 1) 13187056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/fip_handler/fuse_fip/fuse.mk 13287056d31SPankaj Guptaendif 13387056d31SPankaj Gupta 13487056d31SPankaj Guptaifeq (${IMG_LOADR_NEEDED},yes) 13587056d31SPankaj Guptainclude $(PLAT_COMMON_PATH)/img_loadr/img_loadr.mk 13687056d31SPankaj Guptaendif 13787056d31SPankaj Gupta 13887056d31SPankaj Gupta # Adding source files for the above selected drivers. 13987056d31SPankaj Guptainclude ${PLAT_DRIVERS_PATH}/drivers.mk 14087056d31SPankaj Gupta 14187056d31SPankaj Gupta # Adding SoC specific files 14264cadc16SJiafei Paninclude ${PLAT_COMMON_PATH}/soc_errata/errata.mk 14387056d31SPankaj Gupta 14487056d31SPankaj GuptaPLAT_INCLUDES += ${NV_STORAGE_INCLUDES}\ 14587056d31SPankaj Gupta ${WARM_RST_INCLUDES} 14687056d31SPankaj Gupta 14787056d31SPankaj GuptaBL31_SOURCES += ${PLAT_SOC_PATH}/$(ARCH)/${SOC}.S\ 14887056d31SPankaj Gupta ${WARM_RST_BL31_SOURCES}\ 14987056d31SPankaj Gupta ${PSCI_SOURCES}\ 15087056d31SPankaj Gupta ${SIPSVC_SOURCES}\ 15187056d31SPankaj Gupta ${PLAT_COMMON_PATH}/$(ARCH)/bl31_data.S 15287056d31SPankaj Gupta 15387056d31SPankaj GuptaPLAT_BL_COMMON_SOURCES += ${PLAT_COMMON_PATH}/$(ARCH)/ls_helpers.S\ 15487056d31SPankaj Gupta ${PLAT_SOC_PATH}/aarch64/${SOC}_helpers.S\ 15587056d31SPankaj Gupta ${NV_STORAGE_SOURCES}\ 15687056d31SPankaj Gupta ${WARM_RST_BL_COMM_SOURCES}\ 15787056d31SPankaj Gupta ${PLAT_SOC_PATH}/soc.c 15887056d31SPankaj Gupta 15987056d31SPankaj Guptaifeq (${TEST_BL31}, 1) 16087056d31SPankaj GuptaBL31_SOURCES += ${PLAT_SOC_PATH}/$(ARCH)/bootmain64.S\ 16187056d31SPankaj Gupta ${PLAT_SOC_PATH}/$(ARCH)/nonboot64.S 16287056d31SPankaj Guptaendif 16387056d31SPankaj Gupta 16487056d31SPankaj GuptaBL2_SOURCES += ${DDR_CNTLR_SOURCES}\ 16587056d31SPankaj Gupta ${TBBR_SOURCES}\ 16687056d31SPankaj Gupta ${FUSE_SOURCES} 16787056d31SPankaj Gupta 16887056d31SPankaj Gupta 16987056d31SPankaj Gupta # Adding TFA setup files 17087056d31SPankaj Guptainclude ${PLAT_PATH}/common/setup/common.mk 17187056d31SPankaj Gupta 17287056d31SPankaj Gupta 17387056d31SPankaj Gupta # Adding source files to generate separate DDR FIP image 17487056d31SPankaj Guptainclude ${PLAT_SOC_PATH}/ddr_fip.mk 175