1*91f16700Schasinglulu# 2*91f16700Schasinglulu# Copyright 2020 NXP 3*91f16700Schasinglulu# 4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu# 6*91f16700Schasinglulu# 7*91f16700Schasinglulu 8*91f16700SchasingluluCREATE_PBL ?= ${CREATE_PBL_TOOL_PATH}/create_pbl${BIN_EXT} 9*91f16700SchasingluluBYTE_SWAP ?= ${CREATE_PBL_TOOL_PATH}/byte_swap${BIN_EXT} 10*91f16700Schasinglulu 11*91f16700SchasingluluHOST_GCC := gcc 12*91f16700Schasinglulu 13*91f16700Schasinglulu.PHONY: pbl 14*91f16700Schasinglulupbl: ${BUILD_PLAT}/bl2.bin 15*91f16700Schasingluluifeq ($(SECURE_BOOT),yes) 16*91f16700Schasinglulupbl: ${BUILD_PLAT}/bl2.bin 17*91f16700Schasingluluifeq ($(RCW),"") 18*91f16700Schasinglulu ${Q}echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}" 19*91f16700Schasingluluelse 20*91f16700Schasinglulu # Generate header for bl2.bin 21*91f16700Schasinglulu $(Q)$(CST_DIR)/create_hdr_isbc --in ${BUILD_PLAT}/bl2.bin --out ${BUILD_PLAT}/hdr_bl2 ${BL2_INPUT_FILE} 22*91f16700Schasinglulu # Compile create_pbl tool 23*91f16700Schasinglulu ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH};\ 24*91f16700Schasinglulu # Add bl2.bin to RCW 25*91f16700Schasinglulu ${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE}\ 26*91f16700Schasinglulu -o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl ;\ 27*91f16700Schasinglulu # Add header to RCW 28*91f16700Schasinglulu ${CREATE_PBL} -r ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl -i ${BUILD_PLAT}/hdr_bl2 -b ${BOOT_MODE} -c ${SOC_NUM} \ 29*91f16700Schasinglulu -d ${BL2_HDR_LOC} -e ${BL2_HDR_LOC} -o ${BUILD_PLAT}/bl2_${BOOT_MODE}_sec.pbl -s;\ 30*91f16700Schasinglulu rm ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl 31*91f16700Schasinglulu# Swapping of RCW is required for QSPi Chassis 2 devices 32*91f16700Schasingluluifeq (${BOOT_MODE}, qspi) 33*91f16700Schasingluluifeq ($(SWAP),1) 34*91f16700Schasinglulu ${Q}echo "Byteswapping RCW for QSPI" 35*91f16700Schasinglulu ${BYTE_SWAP} ${BUILD_PLAT}/bl2_${BOOT_MODE}_sec.pbl; 36*91f16700Schasingluluendif # SWAP 37*91f16700Schasingluluendif # BOOT_MODE 38*91f16700Schasinglulu cd ${CREATE_PBL_TOOL_PATH}; ${MAKE} clean ; cd -; 39*91f16700Schasingluluendif 40*91f16700Schasingluluelse # NON SECURE_BOOT 41*91f16700Schasingluluifeq ($(RCW),"") 42*91f16700Schasinglulu ${Q}echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}" 43*91f16700Schasingluluelse 44*91f16700Schasinglulu # -a option appends the image for Chassis 3 devices in case of non secure boot 45*91f16700Schasinglulu ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH}; 46*91f16700Schasinglulu ${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE} \ 47*91f16700Schasinglulu -o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl ; 48*91f16700Schasinglulu# Swapping of RCW is required for QSPi Chassis 2 devices 49*91f16700Schasingluluifeq (${BOOT_MODE}, qspi) 50*91f16700Schasingluluifeq ($(SWAP),1) 51*91f16700Schasinglulu ${Q}echo "Byteswapping RCW for QSPI" 52*91f16700Schasinglulu ${BYTE_SWAP} ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl; 53*91f16700Schasingluluendif # SWAP 54*91f16700Schasingluluendif # BOOT_MODE 55*91f16700Schasinglulu cd ${CREATE_PBL_TOOL_PATH}; ${MAKE} clean ; cd -; 56*91f16700Schasingluluendif 57*91f16700Schasingluluendif # SECURE_BOOT 58*91f16700Schasinglulu 59*91f16700Schasinglulu 60*91f16700Schasinglulu 61